Gostaria de executar um trabalho cron como um usuário específico na minha máquina. Como posso especificar o usuário para que um trabalho cron seja executado como ?.
Os trabalhos do cron estarão em execução em um servidor (em Ubuntu 10.0.4). Os 'usuários' são usuários criados especificamente para executar tarefas específicas do lado do servidor. Esses 'usuários' têm o seguinte em comum:
- Não é possível fazer logon no sistema
- Acesso restrito a pastas / arquivos específicos
crontab -u <user> -e
manter tudo em um só lugar, o que você pode fazer como raiz. Porém, eu gosto de agrupar meus trabalhos cron por função, em vez de apenas pelo usuário, então essa é a solução preferível para mim.Como root, para editar o cron do usuário1:
Você também pode iniciar seu comando com:
Mas, frequentemente, os próprios scripts reduzem seu próprio acesso quando iniciados como raiz.
fonte
Estou procurando por isso há algumas semanas e isso finalmente funcionou ...
Crie seu script como usuário1
insira algum comando
torná-lo executável
edite o crontab para user1
coloque uma linha na parte inferior apontando para o (s) seu (s) script (s)
exit - salvando as alterações (mostrará um diretório / tmp ao salvar ... tudo bem)
espere a hora do minuto
abra seu yay.txt recém-criado
agora você deve ter uma janela nano aberta com "YAY it works" como a primeira e única linha se a parte inferior da sua janela nano disser New File ... bem ... eu não sei
você também pode verificar sua entrada do crontab recentemente para o user1 em: / var / spool / cron / crontabs / user1
PAZ
fonte
Às vezes, você pode querer que o usuário carregue seu ambiente, especialmente ao usar "rbenv", "nvm", assim:
(aqui o comando
source ~/.bash_profile
carregará o ambiente Ruby ou Node.fonte