Só para ter certeza:
crontab -e
então
30 21 * * * /home/john/Desktop/test.sh
EDIT: Quero dizer que você não precisa de "john" ao lado da seção de tempo do cron e o caminho para o comando.
Eu o instalei em uma máquina no trabalho e não faria nada, não importava o que eu fizesse. Então agora eu tenho no virtualbox em casa e também não funciona. Aqui está o que estou tentando fazer:
Tenha um arquivo em / home / john / Desktop chamado test.sh. Seu conteúdo:
#! / bin / bash
eco "Bing!" > / tmp / cronjob
Fiz um chmod 777 test.sh
e pode executá-lo. A listagem mostra como rwx para usuários / group / global. Em seguida, faço um crontab -e
e adiciono a seguinte linha:
* * * * * john /home/john/Desktop/test.sh
Mas isso não funciona. O arquivo nunca é gravado. Eu também tentei usar um horário específico (por exemplo, são 9 da noite, então eu ajustei a hora para 05 21 e aguarde), mas não funciona tão bem. Eu também tentei sem o usuário "john" no crontab, mas sem dados. Eu tentei usar crontab -e -u john
também. Nada funciona.
Fazendo um service cron status
, percebo que ele está iniciado / em execução. Eu tentei reiniciar também.
O que estou fazendo de errado?
Além disso, se eu precisar executar alguns comandos como root, devo usá-lo com crontab -e -u <username> right
?
Só para ter certeza:
crontab -e
então
30 21 * * * /home/john/Desktop/test.sh
EDIT: Quero dizer que você não precisa de "john" ao lado da seção de tempo do cron e o caminho para o comando.
Existem três maneiras diferentes de usar o cron.
Se você está usando o terceiro método, você não precisa dizer que você é john, ele já sabe. No entanto, você pode informar isso com o sinalizador -u para salvar o trabalho na guia cron de alguém.
Usando o terceiro método, você não precisa ter o joão em * * * * * john /home/john/Desktop/test.sh
* * * * * john /home/john/Desktop/test.sh
O "john" aqui está errado. Apenas o crontab do sistema possui um campo de nome de usuário; os crontabs por usuário que você edita com crontab -e não o possuem (o usuário está implícito). Apenas deixe de fora.
Also, if I need to run some commands as root I'm supposed to use it with crontab -e -u right?
Não, se você quiser que um cronjob seja executado com direitos de root, faça
sudo crontab -e
(ou coloque-o no crontab do sistema, com o nome de usuário "root").
Tags cron crontab ubuntu ubuntu-10.04