Я создал запись в crontab для выполнения задания в полночь от имени пользователя A.
Утром обнаружил, что по сценарию результатов нет. Проверка /var/cron/log
, Я обнаружил, что в течение этого часа (в то же время) выполнялся только пользователь root скрипта.
Вопросы: а) Можно ли настроить одновременное выполнение нескольких заданий в cron.
б) Если нет? Означает ли это, что пользователь root cron имеет приоритет перед любым другим пользователем для выполнения задания cron?
вот как они выглядят.
root$ crontab -l
05 00 10 * * /opt/sdf/sbin/somescriptA.sh> /dev/null 2>&1 #Test
userA$ crontab -l
05 00 10 * * /opt/sdf/sbin/somescriptB.sh> /dev/null 2>&1 #Test
Cron может запускать несколько скриптов одновременно. Фактически, в Debian есть целые каталоги скриптов cron (например, /etc/cron.daily /etc/cron.hourly), которые выполняются одновременно.
Если скрипт выполняется правильно в другое время, почему бы вам не попробовать изменить время работы root cron чтобы определить, связана ли проблема с фактическим временем или конфликтом между сценариями.
Я также согласен с отключение перенаправления на / dev / null пока у вас все не будет работать правильно.
Этот crontab, который вы разместили, настроен на запуск только в 00:05 10-го числа каждого месяца, это то, что вы хотели?
Убедитесь, что ваш скрипт в / opt имеет разрешения на выполнение и что он явно вызывает sh. Вы можете попробовать это, просто запустив скрипт в консоли (используя полный путь, не ставьте перед командой "sh")
Попробуйте проверить каталог / var / spool / cron / на предмет вашего имени пользователя, файл cron должен быть там (где-то - у меня сейчас нет доступа к системе).
Я бы отключил перенаправление / dev / null из работы и попросил бы cron отправить вам по электронной почте выходные данные файла. Возможно, у сценария есть проблема (возможно, предполагается, что переменная среды не существует при запуске через cron).
Задания Cron могут выполняться одновременно. Ваша проблема в другом. .. или .. сценарий запущен от имени пользователя root. Возможно, то, что вы пытаетесь запустить, имеет собственный метод предотвращения более чем одного экземпляра.
Я подозреваю, что между двумя скриптами есть какое-то взаимодействие, например, файл блокировки или открытый файл.
У меня никогда не было проблем с одновременным запуском нескольких заданий cron. Только что протестировал на моей системе Slackware, работает нормально, но может отличаться в зависимости от дистрибутива.
Тем не менее, обычно рекомендуется в любом случае распределять минуты ваших записей crontab, чтобы они не работали одновременно (просто для предотвращения ненужной нагрузки на систему и потенциальных проблем с взаимодействием).
Я удваиваю предложение Милнера проверять вывод заданий cron, а не перенаправлять его на null. По крайней мере, пока вы не отладите, почему сами задания не работают.
Пользователи должны иметь возможность запускать задания cron одновременно без проблем. Подтвердили ли вы, что пользователю A разрешено использовать cron (попробуйте проверить /etc/cron.allow и /etc/cron.deny).
Вы использовали crontab -e для редактирования crontab? Возможно, crontab не заметил вашего изменения, вы должны использовать эту команду для редактирования / установки новых crontab.
Я никогда не слышал, чтобы cron отключал задания cron, потому что другие были запланированы на то же время. Это должно сработать, поэтому я думаю, ваша проблема в другом.
Кстати, это похоже на что-то для serverfault.com.
У меня была аналогичная проблема, и я подозревал, что одновременный запуск двух разных скриптов из моего пользовательского crontab может быть проблемой. Я понял, что проблема заключалась в том, что права доступа к каталогу верхнего уровня второго скрипта были «drwx ------» и cron не мог получить к нему доступ для его запуска. После изменения разрешений для этого каталога все прошло гладко.