У меня есть задача cron как
6,36 * * * * python /usr/local/news.py >> /var/log/newlog
он должен запускаться каждую 6-ю и 36-ю минуту каждого часа.
Но для некоторых, как система запускает эту задачу 4 процесса / раза каждый раз. Эта задача заключается в обновлении базы данных, и это вызывает проблемы, когда три процесса обновляют базу данных одновременно.
У меня есть список 4 задач в / var / spool / cron / root, это одна из задач
Что здесь могло пойти не так?
Спасибо
редактировать:
Oct 9 20:06:01 online CROND[7882]: (root) CMD (python /usr/local/news.py >> /var/log/newslog) Oct 9 20:06:01 online CROND[7883]: (root) CMD (python /usr/local/news.py >> /var/log/newslog) Oct 9 20:06:01 online CROND[7888]: (root) CMD (python /usr/local/news.py >> /var/log//newslog) Oct 9 20:06:01 online CROND[7890]: (root) CMD (python /usr/local/news.py >> /var/log//newslog)
Похоже, у двух прогонов немного другой синтаксис. Не могли бы вы проверить / etc / crontab и /etc/cron.d, чтобы убедиться, что у вас нет там копий команды?
Под «у меня есть 4 задачи, перечисленные в / var / spool / cron / root», вы имеете в виду:
«У меня в crontab root четыре строки, все одно и то же.»?
Вставьте вывод crontab -l. Если это выглядит примерно так:
6,36 * * * * python /usr/local/news.py >> /var/log/newlog
6,36 * * * * python /usr/local/news.py >> /var/log/newlog
6,36 * * * * python /usr/local/news.py >> /var/log/newlog
6,36 * * * * python /usr/local/news.py >> /var/log/newlog
Это определенно проблема: 0
Каков результат следующей команды? Если указано более одного номера, cron запускается более одного раза, что может вызвать эту проблему.
pgrep -l cron