以编程方式向 crontab 添加两行

以编程方式向 crontab 添加两行

我正在尝试在构建 AWS 实例时向 root crontab 添加两行。我有一组命令,它们是“用户数据”的一部分。创建实例时,这些命令以 root 身份运行。我想将这两行添加到 crontab:

@daily /home/ubuntu/db-backup-to-s3-daily.sh
@hourly /home/ubuntu/db-backup-to-s3-hourly.sh

我正在使用以下方法(基于回答这个问题):

(crontab -u ubuntu -l ; echo -e "@daily /home/ubuntu/db-backup-to-s3-daily.sh\n@hourly /home/ubuntu/db-backup-to-s3-hourly.sh") | crontab -u ubuntu -

但是,在创建实例时这不起作用,但如果我登录并运行此行,它就会起作用。有没有其他方法可以将行附加到 crontab?

答案1

如果您尝试以编程方式管理 crontabs,只需创建一个文件(/etc/cron.d/例如),/etc/cron.d/example-cron并用上述行填充它:

@daily ubuntu /home/ubuntu/db-backup-to-s3-daily.sh
@hourly ubuntu /home/ubuntu/db-backup-to-s3-hourly.sh

唯一的区别是您必须包含一个用户来运行 cron,作为第二个参数。我ubuntu在上面的例子中将其设置为,但您可以将其设置为root

相关内容