Так,
Я недавно настраивал cpanel экземпляр на этом сервере, и я был довольно удивлен, поскольку я установил мерзавца без проблемы прежде о полях CentOS прежде.
Таким образом, cpanel заблокировал все пакеты жемчуга от того, чтобы быть установленным или обновил, потому что они не хотят, чтобы обновления повредились или конфликтовали с их пакетами. К счастью вкусный обеспечивает в хороший один раз обходное решение для этого вида ситуации.
конфетка - disableexcludes=main устанавливает мерзавца
Anacron является большим для того, что это-... система, чтобы гарантировать, что задания выполняются каждое количество дней N после перезагрузки - не много управления там. Кроме того, это не резидентный демон и поэтому не может заменить crond или фактическое время отправления; это запускает во время начальной загрузки (или, когда вручную вызвано), ожидает соответствующих интервалов прежде, чем проверить некоторые условия, и затем после того как все было проверено или выполнено, это выходит.
Тем не менее это могло быть полезно в Вашей ситуации как резервное копирование для фактического времени отправления. Вы могли сделать что-то как:
echo '@monthly 0 custom1timejob script_or_cmd_here' >> /etc/anacrontab
Затем запланируйте Ваш в задании, удостоверившись включать что-то в сценарий, что любой позволяет anacron знать, что задание было выполнено (путем выполнения date +%Y%m%d > /var/spool/anacron/custom1timejob
), или еще более простой: просто удалите запись из anacrontab (sed -i /custom1timejob/d /etc/anacrontab
).
Затем в худшем случае задание должно быть выполнено в следующий раз начальные загрузки системы.
(Удостоверьтесь RANDOM_DELAY
и START_HOURS_RANGE
переменные в/etc/anacrontab [видят man anacrontab
], не собираются смешивать с Вашими ожиданиями все же.)
Для заданий, которые выполняются однажды, at
уже делает точно, чего Вы требуете. В любое время, atd
выполнит все запланированные задания, которые проходят их запланированные даты. В частности, во время начальной загрузки, начиная atd
инициировал выполнение любого задания, дата которого стала должной в течение времени простоя.
Для периодических заданий Вы могли объединить установленный график crontab запись и @reboot
запись crontab. В @reboot
запись, только выполните задачу, если она не была сделана за прошлые 24 часа (или безотносительно интервала, Вы предпочитаете).
42 5 * * * /usr/local/bin/myjob && touch /var/myjob/done
@reboot if [ -z "$(find /var/myjob.done -mtime 1)" ]; then /usr/local/bin/myjob && touch /var/myjob/done; fi
at
? Работать только однажды в будущую дату/час/минуту, или следующее время работы после того назначения.
– Marcos
06.03.2012, 12:29
at
: когда atd
запускается, это выполняет все задания, дата истечения срока которых находится в прошлом.
– Gilles 'SO- stop being evil'
06.03.2012, 13:02
crontab
не действует как этот, таким образом, на основе Вашего комментария, я, возможно, должен преобразовать некоторые свои важнейшие crontab строки к в заданиях, запущенных anacron.daily для выполнения в их определенные crontab времена
– Marcos
06.03.2012, 13:27
at
расписания уже находятся в прошлом - был бы интерпретирован как завтра,
– Marcos
06.03.2012, 13:29
at 4pm
планирует задание в течение 16:00 сегодня. Если Вы выключите компьютер между 15:00 и 17:00, то задание будет выполняться в 17:00 сегодня, так как это было должно в 16:00 сегодня, и 17:00 сегодня первый раз, когда было в демоне, способном к запуску задания.
– Gilles 'SO- stop being evil'
06.03.2012, 14:24
Это может быть ситуацией где batch
опция at
мог помочь.
От моей песочницы машина RHEL5 я смог запланировать пакетное задание две минуты в будущее, затем остановить фактическое время отправления. Я позволяю пяти минутам передать и затем запустил фактическое время отправления снова. Когда запущенное фактическое время отправления, пакетное задание, начатое сразу.
вызов: batch "NOW+2 minutes"
или любой приемлемый at
время вводится.
Я действительно сталкивался с проблемами, пробуя это на Fedora 16. Даже при том, что страницы справочника, в которых говорится это, поддерживают вход времени, команда сообщает, что это не принимает аргументов.
executes commands when system load levels permit; in other words, when the load average drops below 1.5, or the value specified in the invocation of atd.
Я не хотел бы ограниченный системной нагрузкой, хотя
– Marcos
05.03.2012, 16:52
batch
не подходит, когда пользователи конкурируют за ресурсы. Если бы Вы хотели переопределить проблему загрузки в среднем и не имели никаких намерений использовать пакет для других процессов, то Вы могли изменить вызов фактического времени отправления и корректироваться -l
вверх. В RHEL это расположено в /etc/sysconfig/atd
– Jodie C
05.03.2012, 17:13
batch "now + 1 minutes" <<< "uptime"
дает batch accepts no parameters
как Вы сказал. Угадайте, что это цементирует ту возможность для Ubuntu, так или иначе. Способность запланировать важна.
– Marcos
05.03.2012, 19:24
@reboot
псевдоним времени, у меня еще действительно не было случая, где я предпочел anacron крону. – rsaw 06.03.2012, 15:29