两个用户如何设置相同的 cron 文件来运行?

1 unix cron

在我们的环境中,我们有两个 DBA 来运行 cron_jobs.txt 文件中定义的一些 cron 作业。我们经常需要更改 cron_jobs.txt 文件中的时间和命令并重新加载它。

问题是,如果 DBA_1 编辑并重新加载该文件 ($ crontab cron_jobs.txt),它会在他的用户帐户下加载。现在,DBA_2 编辑相同的 cron_jobs.txt 文件并重新加载。新的作业集将在 DBA_2 用户帐户下运行。因此,基本上相同的作业运行两次。

例如,DBA_1 将作业设置为每天下午 3 点运行。几天后,DBA_2 将其更改为 2PM 并重新加载。现在我们在下午 2 点和下午 3 点运行相同的作业。

有没有办法合并工作?无论谁加载 cron_job.txt 文件,都应该只运行一组作业?顺便说一下(DBA_1 具有 UNIX 的管理员访问权限,DBA_2 没有)。我们使用的是 Sun Os 5.10。一个解决方案将不胜感激。

谢谢你。

数据库管理员_2

kas*_*ani 9

使用角色帐户而不是将事物绑定到常规用户帐户。然后允许两个用户运行此命令。

须藤 crontab -u dba_cron_user -e


Tot*_*oto 5

为此目的设置一个单独的帐户,并让 cron 作业仅在该帐户下运行。

这是一种最佳实践,除了解决您的问题之外,还有许多好处:

  • 无需担心 DBA 是否被公共汽车或其他
  • 真实的用户帐户环境不会影响您的生产 cron 作业
  • 与 sudo 结合使用,它提供了良好的日志记录/问责制

在我以前的公司中,我为所有真实用户帐户禁用了 cron 和 at。