Итак, я сделал свой сценарий, я бросил его в /etc/cron.hourly
то я chmod 777
файл , но он не будет работать (автоматически). Если я запускаю его вручную, он работает нормально. Мне нужно сделать что-нибудь еще?
cron-jobs
command-line
crontab
cron
Switchkick
источник
источник
Ответы:
Почему бы не использовать crontab (/ etc / crontab) и использовать * / 1 в поле часа. Я использовал это для запуска скрипта каждые 5 минут, и он работает хорошо:
источник
cron.daily
and friends работает немного лучше, если машина не работает все время, потому что anacron пытается приблизиться к правильному расписанию, тогда как обычный cron просто не запустит их, если машина не работает всю ночь. Для почасовой работы это, вероятно, не так важно./etc/crontab
:cron.daily
,cron.weekly
иcron.monthly
работать с Anacron (если таковые имеются) , а по часамrun-parts --report /etc/cron.hourly
.Записи в
cron.hourly
запускаются механизмом run-parts (man run-parts
для получения дополнительной информации). Иrun-parts
разборчив в том, какие имена файлов он считает действительными.Например, расширение вашего скрипта сделает его недействительным и приведет к тому, что задание не будет запущено.
[a-zA-Z0-9_-]
допустимые символы, поэтому символ '.' делает его недействительнымПри добавлении задания в
/etc/cron.hourly
(или.daily
,.weekly
и т. Д.) Всегда проверяйте его,run-parts
чтобы запустить, выполнив команду:Если при запуске этой команды он показывает ваш файл, значит, он работает. В противном случае, если ничего не отображается, ваше имя файла недействительно.
Как назывался твой сценарий?
источник
giving your script an extension will make it invalid and result in the job not being run
--report
для запуска сценариев.Ваша проблема, вероятно, связана с чрезмерно открытыми разрешениями, которые позволяют любому редактировать ваш файл. Попробуй
755
вместо этого.Просмотр записей cron в выходных данных системного журнала должен подтвердить это.
источник
Ответ DaithiF должен быть правильным.
Кроме того, мой сценарий не был
#!/bin/bash
в первой строке. Даже если сценарий может быть выполнен с помощью командной строки,run-parts
отклонил его, сказав «Ошибка формата Exec».Изменение имени файла с
scriptname.sh
наscriptname
и добавление#!/bin/bash
в первую строку позволило моему скрипту запускаться ежечасно.источник
Когда ты бежишь
это задача в списке?
если нет, добавьте его
добавить эту строку
если он находится в этом списке, попробуйте добавить путь к языку программирования в начало вашего скрипта
Пример:
Это 2 вещи всегда решали мои проблемы :)
источник