Я ломал голову над cronjobs последние несколько часов. Я читал документацию и примеры. Я понимаю основы и концепции, но у меня ничего не работает. Так что я был бы признателен за помощь с этой полной дилеммой нубов.
Конечная цель - запланировать выполнение функции django каждый день. Прежде чем зайти так далеко, я хочу знать, что могу запланировать запуск любого старого скрипта сначала один раз, а затем на регулярной основе.
Итак, я хочу: 1) Написать простой сценарий (возможно, сценарий bash), который позволит мне определить, что да, он действительно работал успешно или что он не удался. 2) запланируйте запуск этого скрипта в начале часа
Я попытался написать сценарий bash, который просто выводит текст на терминал:
#!/bin/bash
echo "The script ran"
Затем я сбросил это в файл .txt
MAILTO = *****.******@gmail.com
05 * * * * /home/vadmin/development/test.sh
Но ничего не произошло. Я уверен, что сделал много все не так. С чего мне начать все это исправлять?
Ваш демон cron действительно запущен? Проверьте таблицу процессов.
Также может быть проблема с отправкой результатов по электронной почте - проверьте журналы crond и вашего локального почтового сервера.
Строки, которые вы поместили в файл .txt, необходимо добавить в crontab.
Рекомендации показывают, что вы не редактируете файл crontab напрямую, а используете crontab -e
Команда, которая откроет crontab в редакторе, позволит вам отредактировать / сохранить его, проверить на наличие синтаксических ошибок и безопасно сохранить.
Кроме того, особенность cron, которая может существовать в вашей системе, заключается в том, что если последняя строка в файле не является пустой строкой, cron игнорирует предыдущую строку. Убедитесь, что вы добавили хотя бы одну пустую строку в конце вашего crontab.
Я не знаю, действительно ли вы сможете увидеть вывод cron на экране таким образом.
Бьюсь об заклад, если вы положите
echo "the script ran" >> /home/vadmin/file.txt
В своей работе убедитесь, что cron запущен и crontab установлен правильно (как предлагали другие ответы), он будет работать, как ожидалось.
Однако указанный вами cron не будет запускаться каждый день, он будет запускаться через 5 после каждого часа.