Запуск тестового запуска cron
Недавно я добавил работу cron, но допустил ошибку в пути, давая команду, и, следовательно, работа никогда не удалась. Есть ли способ проверить изменения cron, которые мы сделали?
Обратите внимание, что я действительно скопировал и вставлял команду из моей командной строки, и это было просто случайным нажатием клавиши, которое вызвало это.
Ответы
Ответ 1
Этот вопрос также задан на serverfault и получил пару дополнительных ответов
Ниже приведена парафразованная версия решения Marco:
(Не уверен, что лучший ediquite не предоставляет ссылку только для ответа или не копирует другое решение)
Создайте файл окружения с временной записью cron
* * * * * /usr/bin/env > /home/username/cron-env
Затем создайте оболочку script, называемую run-as-cron
, которая выполняет команду с использованием этой среды.
#!/bin/sh
. "$1"
exec /usr/bin/env -i "$SHELL" -c ". $1; $2"
Затем он используется следующим образом:
run-as-cron <cron-environment> <command>
например.
run-as-cron /home/username/cron-env 'echo $PATH'
Ответ 2
Когда я хочу проверить свои задания cron, я обычно устанавливаю очень низкий интервал и тщательно отслеживаю журналы. Когда я убеждаюсь, что запись верна, я вернул интервал обратно к значению разумного значения.
Например, запустите задание каждые две минуты:
*/2 * * * * echo "Hello World"
И я запустил tail -f
в моем файле журнала (/var/log/syslog
на debian).
Ответ 3
Ответ Джошуа не работает для меня. Две проблемы:
script run-as-cron
должен быть
#!/bin/sh
. "$1"
exec setsid /usr/bin/env -i "$SHELL" -c "set -a; . $1; $2" </dev/null
Недостаточно репутации, чтобы исправить его ответ или добавить комментарий...