Подтвердить что ты не робот

Запуск тестового запуска cron

Недавно я добавил работу cron, но допустил ошибку в пути, давая команду, и, следовательно, работа никогда не удалась. Есть ли способ проверить изменения cron, которые мы сделали?

Обратите внимание, что я действительно скопировал и вставлял команду из моей командной строки, и это было просто случайным нажатием клавиши, которое вызвало это.

4b9b3361

Ответ 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

Ответ Джошуа не работает для меня. Две проблемы:

  • Переменные в файле cron-env не экспортируются (set -a необходимо).

  • Script по-прежнему привязан к текущему tty (setsid).

script run-as-cron должен быть

#!/bin/sh

. "$1"
exec setsid /usr/bin/env -i "$SHELL" -c "set -a; . $1; $2" </dev/null

Недостаточно репутации, чтобы исправить его ответ или добавить комментарий...