Что некоторые пути состоят в том, чтобы предотвратить пользовательские задания крона от сокрушения серверы?

Ваш сервер SMTP управляет доступом к себе основанный на IP? Можно ли отправить тестовое сообщение от дб и отправить ли результаты или ошибку из журнала ошибок?

7
задан 17 October 2011 в 02:05
3 ответа

Вы можете использовать cron.allow и cron.deny , чтобы ограничить доступ пользователей к cron, или вы можете использовать ограничения PAM ], чтобы ограничить использование ЦП, количество процессов и тому подобное. Помимо этого, решение состоит в том, чтобы создать что-то для мониторинга и обработки заданий cron пользователей, потому что в cron на самом деле нет ограничений на количество выполняемых заданий.

Я думаю, что в CPanel что-то есть. от количества одновременно выполняемых заданий cron, но это особый инструмент (не уверен).

5
ответ дан 2 December 2019 в 23:36

Я думаю, у вас есть одна из этих проблем:

  • недостаточно памяти для одновременного запуска crontab. Это можно исправить:

    • добавлением дополнительной оперативной памяти
    • ограничением максимальной памяти, которую может выделить пользователь
    • изменить расписание заданий, чтобы уменьшить количество одновременных заданий - вам может потребоваться заменить crond и использовать другой планировщик
  • ] высокий ввод / вывод. Вы можете исправить:

    • понизив приоритет ввода-вывода с помощью ionice
    • перепланировать задания, чтобы уменьшить количество одновременных заданий

Попытайтесь выяснить, переключается ли машина, а если нет. меняя местами в течение ночи, а затем измените класс приоритета ввода-вывода cron на idle:

sudo ionice -c 3 -p $(pgrep cron)
2
ответ дан 2 December 2019 в 23:36

Я всегда планировал cronjobs в случайное время (особенно минуты). Я часто вижу примеры cron, которые запускаются в полночь, например:

0 0 * * *  /usr/bin/echo "Job ran"

Если у вас много заданий, определенных таким образом, вы напрашиваетесь на проблемы. К сожалению, это часто длительные системные задания. Я также обычно планирую задания в разное время в течение окна пакетного процесса. (С 23 до 05) часов.

Мне нравится новая спецификация cron, используемая в Ubuntu. Здесь есть несколько каталогов / etc / cron. * для указания заданий для запуска. Они запускаются последовательно, а не параллельно, ограничивая нагрузку.

Вы должны увидеть, что запланировано в файлах, расположенных в / etc / spool / cron / crontabs . Для чтения этих файлов потребуется root-доступ. Если проблемы вызывают пользователи, обсудите с ними проблему.

1
ответ дан 2 December 2019 в 23:36

Теги

Похожие вопросы