У нас есть машина, которая выполняет задания cron. Мы хотели бы загрузить (через scp) файлы заданий cron. Вот пример файла задания cron (test.cron):
* * * * * echo "test" > /tmp/test_cron
Это запустится, если вы сделаете это с помощью , crontab -e
затем сохраните, и затем это попадет в /var/spool/cron/crontabs/$USER
, мы больше не можем это использовать (политика компании).
Если я помещаю этот файл test.cron
в /etc/cron.d
он не запускается. Нужно ли мне изменить синтаксис этого файла или поместить этот файл в другое место, чтобы он был подхвачен cron deamon и запущен?
Обновлять:
Когда я вставляю содержимое test.cron
в crontab -e
он выполняется. Мой синтаксис crontab, кажется, верный.
Мой вопрос:: Куда мне нужно поместить/перетащить/разместить test.cron
файл с указанным выше содержимым, чтобы его подхватил демон cron?
Больше контекста: Я не знаю заранее, с каким интервалом нужно будет запускать команду cron-файла. Ни одно из этих мест, вероятно, не является хорошим "cron.daily/ cron.hourly/ cron.monthly/ cron.weekly/" Я могу ошибаться, поэтому и задаю этот вопрос.
решение1
/etc/cron.d
это функция crond, которую, возможно, придется включить явно. Она включена по умолчанию в дистрибутивах на основе Debian. Так что /etc/cron.d
это правильное место, если вы используете производную Debian.
На странице руководства cron в Debian написано:
Файлы в [/etc/crond.d] должны соответствовать тому же соглашению об именах, которое используется run-parts(8) : они должны состоять исключительно из заглавных и строчных букв, цифр, подчеркиваний и дефисов. Это означает, что онине может содержать точек.
Поэтому вам придется переименовать его test.cron
в eg. test_cron
и все должно заработать.