A propósito - para executar a tarefa cron a cada 30 minutos - tente usar:
00,30 * * * * [path_to_file]/myscript.sh
Quando eu digito manualmente:
root@username:~# ./myscript.sh
O script é executado, no entanto eu tentei as seguintes combinações para que o crontab execute myscript.sh
a cada 30 minutos (para sempre) e nenhum parece fazer nada:
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the 'crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
*/30 * * * * root sh /root/myscript.sh
*/30 * * * * root sh ./myscript.sh
*/30 * * * * root sh myscript.sh
*/30 * * * * root ./myscript.sh
Conteúdo do myscript.sh:
KEYWORDS=("Word1" "Word2" "Word3" "Word4")
IFS=$'\n'
find . -size +1c -type f ! -exec grep -qwF "${KEYWORDS[*]}" {} \; -exec truncate -s 0 {} \;
A propósito - para executar a tarefa cron a cada 30 minutos - tente usar:
00,30 * * * * [path_to_file]/myscript.sh
Para garantir que o seu crontab funcione, você deve sempre ter o caminho completo para o seu código. Para obter o diretório completo para o seu código:
pwd
, que imprimirá o diretório em que você está. Se você deseja que seu código seja executado a cada 30 minutos, é possível
*/30 * * * * /full/directory/to/your/code/mycode.sh
Se você quiser que seu código seja executado na hora, ou seja, XX: 00 e 30 após a hora, ou seja, XX: 30
00,30 * * * * /full/directory/to/your/code/mycode.sh
Se tudo isso estiver concluído, e você ainda não estiver obtendo a saída esperada, tente ver os arquivos /var/log/syslog
, e poderá ver o que está errado.
Para executar a tarefa cron
a cada 30 minutos, a expressão cron
será assim:
*/30 * * * * /path-to-file/filename
Tags cron