我们使用计划任务/cron作业在 Windows 和 Linux 中执行许多重要任务。
- 在机器之间移动文件
- 在处理文件之前对其进行快速备份
- 将数据加载到数据库
- 必要时重新启动服务
您如何记录和管理任务,以回答以下问题:
- 如果任务相互关联,那么它们按照什么顺序运行?
- 是否有任何任务会干扰机器的备份窗口?
- 备份这些文件的工作在哪里?
我们正在将此信息添加到每个服务器的 wiki 页面中,并为任何复杂的序列添加单独的页面。但有更好的方法吗?
答案1
我们尝试在单个服务器上维护大多数批处理过程。所有作业都通过应用程序调用运行可视化Cron在 Windows 上。作业的描述和计划都是自文档化的。更复杂的流程在我们的 SharePoint 服务器上进一步记录,该服务器保存所有其他内部 IT 文档。
答案2
我使用相同的系统:所有 cron 作业都记录在 wiki 中,并在服务器页面之间链接复杂的程序。但这仍然不是最佳选择。
类似的问题在 serverfault.com 上尝试解决此问题但没有成功,但是 Google 日历解决方案是一种不错的方法,我认为值得一试。
答案3
对于 Windows 服务器,我们使用一款名为 NTS File Mover 的廉价应用程序来跟踪我们的计划作业。该应用程序按顺序处理所有单个任务,将结果记录在 NT 应用程序日志中,并在出现问题时发送电子邮件。当我们服务器上的计划作业出现问题时,我们总是知道该去哪里查找!
答案4
一般来说,为这些功能编写文档并不是必需的,因为如果任务是相互关联的,我会将整个过程放入一个 shell 脚本中,并用 cronjob 来执行该脚本。
通常脚本的标题就足够了;类似于:
#/bin/sh
# updates and restarts Apache using apt and init.d
apt-get install apache/testing
/etc/init.d/apache2 restart
请注意,上面的脚本实际上不是我会用到的,而只是一个例子