не срабатывает crontab

Thank you for reading this post, don't forget to subscribe!

Добав­ле­ны зада­чи для 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:

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.

 

Добав­ля­ем пустую стро­ку в файл задач:

root@dme-production-master:/data/dme# echo "" >> /var/spool/cron/crontabs/admin

 

Ждём мину­ту — про­ве­ря­ем /var/log/syslog:

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)

 

И появи­лись фай­лы логов:

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

 

Гото­во.