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

我需要添加一行到用户的crontab文件。 通常情况下,我会用crontab -e来做到这一点,但我想用configuration脚本来完成。

任何聪明的方法?

怎么样:

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

…或(尽pipe不build议直接编辑crontab文件):

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

(假设您的供应脚本以root身份运行。)

有几种方法

这将工作,如果你想让用户编辑它

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

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

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

你可以任意调用它。

回想起今年以后,如果你发现自己处于这种状况,你应该仔细看看configurationpipe理工具。 特别是,Ansible是一个很好的select,可以很容易地适应现有的基础设施,并且有一个很好的cron模块 。

你可以直接添加新的cron(如果你有root权限的话)。 您也可以指定运行用户。

/etc/cron.d/filename