以编程方式将条目添加到用户的 crontab

以编程方式将条目添加到用户的 crontab

我需要在用户的 crontab 文件中添加一行。通常,我会使用 来执行此操作crontab -e,但我想使用配置脚本来执行此操作。

有什么巧妙的方法吗?

答案1

怎么样:

(crontab -u USERNAME -l ; echo "line to be added") | crontab -u USERNAME -

...或者(尽管不建议直接编辑 crontab 文件):

echo "line to be added" >> /var/spool/cron/crontabs/USERNAME

(假设您的配置脚本以 root 身份运行。)

答案2

有几种方法

如果你希望用户编辑它,这将起作用

echo "normal crontab line here" >> /var/spool/cron/user

如果你不想让用户编辑它..我会将一个文件放入/etc/cron.d,就像

0 0 * * * username /path/to/file

您可以随意叫它名字。

答案3

多年后再回过头来看,如果你发现自己处于这种情况,你应该仔细研究一下配置管理工具。特别是,Ansible 是一个很好的选择,它很容易融入现有的基础设施,并且一个不错的 cron 模块

答案4

您可以直接添加新的 cron(如果您具有 root 权限)。您还可以指定以用户身份运行。

/etc/cron.d/文件名

相关内容