Добавлены задачи для cron
, но они не выполняются, и в логах ничего нет.
Файлы добавлены в файле /var/spool/cron/crontabs/admin
:
# Puppet Name: proj1/trending/daily 0 21 * * * cd /data/dme && php yii proj1/trending/daily # Puppet Name: proj1/cron/go * * * * * cd /data/dme && php yii proj2/cron/go >> /var/log/dme-cron/proj1-cron.log 2>&1 # Puppet Name: proj1/sitemap/last-posts */5 * * * * cd /data/dme && php yii proj1/sitemap/last-posts # Puppet Name: proj1/partnership/partnership/index ...
Причина банальна.
Читаем man crontab
:
[simterm]
root@dme-production-master:/data/dme# man crontab | grep -A 3 DIAGNOSTICS | tail -1 cron requires that each entry in a crontab end in a newline character. If the last entry in a crontab is missing the newline, cron will consider the crontab (at least partially) broken and refuse to install it.
[/simterm]
Добавляем пустую строку в файл задач:
[simterm]
root@dme-production-master:/data/dme# echo "" >> /var/spool/cron/crontabs/admin
[/simterm]
Ждём минуту – проверяем /var/log/syslog
:
[simterm]
Sep 11 13:36:01 ip-10-0-8-42 CRON[21398]: (admin) CMD (cd /data/dme && /usr/bin/php yii proj1/sitemap/news) Sep 11 13:36:01 ip-10-0-8-42 CRON[21400]: (admin) CMD (cd /data/dme && php yii proj1/cron/go >> /var/log/dme-cron/proj1-cron.log 2>&1) Sep 11 13:36:01 ip-10-0-8-42 CRON[21399]: (admin) CMD (cd /data/dme && /usr/bin/php yii proj2/sitemap/news) Sep 11 13:36:01 ip-10-0-8-42 CRON[21403]: (admin) CMD (cd /data/dme && php yii proj2/cron/go >> /var/log/dme-cron/proj2-cron.log 2>&1) ...
[/simterm]
И появились файлы логов:
[simterm]
root@dme-production-master:/data/dme# ll /var/log/dme-cron/ total 20 -rw-r--r-- 1 admin docker 178 Sep 11 16:36 proj1-cron.log -rw-r--r-- 1 admin docker 178 Sep 11 16:36 proj2-cron.log ...
[/simterm]
Готово.