我们有一对 AIX 5.3 Unix 服务器,它们处于活动/备用状态。业务需求要求在它们之间保持一系列组件的同步,例如使用 Data Guard 的 Oracle RDBMS 以及某些 OS 文件和文件夹(包括 /var/spool/cron/crontabs)。
保持 CRON 相关文件同步的问题在于它们也会在我们不想要的待机模式下运行。有哪些方法可以防止作业在待机模式下执行?
我目前的想法是停止“CRON”进程(如果这是它的确切 Unix 进程名称)但不确定它是否有机会由监视进程启动。
答案1
AIX 中的 Cron 守护进程通过 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
答案2
在存储上创建一个文件,该文件仅安装在活动节点上,且不同步。将作业包装在脚本中,如果文件不存在,则退出。让 cron 在两个节点上运行。