Я пытаюсь настроить управление исправлениями с помощью Spacewalk на всех машинах GNU / Linux в моей организации, но мне немного сложно составить расписание. Управление изменениями решило, что среды разработки и тестирования должны обновляться каждый вторник в 5-7 утра, а производственные среды должны обновляться в четверг утром в те же сроки. Помимо проверки, загрузки и применения исправлений, я добавил сценарий для перезагрузки сервера при обновлении ядра и сценарий для очистки yum. Я поместил эти скрипты в /etc/cron.weekly/ и настроил anacrontab как таковой:
1 5 cron.daily nice run-parts /etc/cron.daily
7 5 cron.weekly nice run-parts /etc/cron.weekly
Моя проблема в том, что все выполняется каждый день, и я думаю, что проблема вызвана файлом конфигурации для yum-cron /etc/yum-cron.conf. Я попытался найти информацию о том, как настроить этот файл, и настройка DAYS_OF_WEEK / days_of_week, очевидно, является источником волшебства. Страница руководства тоже не поможет. У меня вопрос, как, черт возьми, мне установить день недели на вторник (2) или четверг (4) ??? Я пробовал разные варианты, например:
DAYS_OF_WEEK=2
DAYS_OF_WEKK="2"
days_of_week = 2
days_of_week = "2"
И все же, похоже, ничего не работает так, как я хочу. У меня есть подозрение, что для CentOS 7 я должен использовать строчные буквы days_of_week и прописные для CentOS 6, но я не уверен.
Мы будем благодарны за любые предложения или идеи, заранее спасибо!
Судя по всему, yum-cron 3.4 в EL 7 удалил / etc / sysconfig / yum-cron, включая функцию DAYS_OF_WEEK. Я не вижу ничего эквивалентного в / usr / sbin / yum-cron.
Настройте файл конфигурации (/etc/yum/yum-cron.conf
) на ваш вкус. Как минимум, по умолчанию random_sleep
больше, чем ваше 2-часовое окно.
Напишите и запланируйте свой собственный сценарий.
#!/bin/sh
# /usr/local/bin/updateandreboot
# Wrapper for update and reboot
# TODO does not respect /var/lock/subsys/yum-cron
/usr/sbin/yum-cron /etc/yum/yum-cron.conf && \
/usr/bin/needs-restarting -r || \
/usr/sbin/shutdown -r now "Restarting for scheduled software update"
Поскольку мне неизвестно расписание дня недели в anacron, запланируйте его в cron.
# /etc/cron.d/autoupdate
# 05:01 on Tuesday
1 5 * * 2 root /usr/local/bin/updateandreboot
Также запланируйте yum clean packages
при желании.
Удалите ежедневные и недельные расписания yum-cron по умолчанию. rm /etc/cron*/*yum*cron
сделает это, но они вернутся при обновлении пакета yum-cron.