У нас есть пара серверов AIX 5.3 Unix, активный / резервный. Бизнес-требование диктует необходимость поддерживать список компонентов, синхронизированных между ними, например СУБД Oracle с использованием Data Guard и определенных файлов и папок ОС, включая / var / spool / cron / crontabs.
Проблема с синхронизацией файлов, связанных с CRON, заключается в том, что они также будут работать в режиме ожидания, который нам не нужен. Каковы методы предотвращения выполнения заданий в режиме ожидания?
Мои мысли пока что остановить процесс "CRON" (если это точное имя процесса Unix для него), но я не уверен, есть ли шанс, что он может быть запущен процессом монитора.
Создайте в хранилище файл, который подключен только к активному узлу и не синхронизируется. Оберните свои задания в сценарии, которые завершаются, если файл не существует. Оставьте cron запущенным на обоих узлах.
Демон Cron в AIX запускается / перезапускается через init, поэтому остановить его не так-то просто.
Но Вот Я нахожу очень хорошую идею, как остановиться cron
для выполнения заданий: с помощью этих команд вы создаете резервную копию таблицы / заданий cron и помещаете пустой список заданий. При необходимости восстановить из резервной копии.
crontab -l > /tmp/crontab.saved #backup the crontab
touch /tmp/empty.file #create an empty file
crontab -l /tmp/empty.file #delete all entries by replacing them with the 'contents' of empty.file
#cron is now running but has no entries so it won't do anything
crontab /tmp/crontab.saved #reload the saved cronjobs