У меня есть установка как ниже, но то, что это никогда было выполняемым.
$ chmod +x /var/tmp/myscript.sh
$ vim /var/tmp/crontab.sh;
* * * * * sleep(10); /var/tmp/myscript.sh
$ crontab /var/tmp/crontab.sh
Теперь просто, заметил не работа. Что я делаю неправильно?
$ grep CRON /var/log/syslog
Nov 28 15:20:01 sun CRON[1768]: (sun) CMD (sleep(10);/var/tmp/myscript.sh)
Nov 28 15:20:01 sun CRON[1766]: (CRON) error (grandchild #1768 failed with exit status 2)
Nov 28 15:20:01 sun CRON[1766]: (CRON) info (No MTA installed, discarding output)
Продолжите:
$ vim /var/tmp/crontab.sh
* * * * * sleep 10; /var/tmp/myscript.sh>/dev/null 2>&1
$ tail -f /var/log/syslog | grep CRON
Nov 28 15:50:02 sun CRON[2301]: (sun) CMD (sleep 10; /var/tmp/myscript.sh>/dev/null 2>&1)
Nov 28 15:51:01 sun CRON[2312]: (sun) CMD (sleep 10; /var/tmp/myscript.sh>/dev/null 2>&1)
sleep
не берет аргумент в круглых скобках (как в C), таким образом, это должно быть
* * * * * sleep 10; /var/tmp/myscript.sh
Всегда тестируйте команды в системной оболочке прежде, чем подать его к cron
;).
На самом деле лучший способ использовать crontab при помощи самого crontab:
crontab-l # перечисляют текущие crontab записи
crontab-e # редактируют таблицу крона
Как только Вы заканчиваете редактировать crontab (через 'crontab-e'), он активируется и исчерпает то, что было установлено каждый раз, когда он был установлен исчерпать.
Обратите внимание, что машина должна работать за crontab для работы. Если Вы хотите что-то более гибкое, можно посмотреть на anacron (8).