我正在尝试在构建 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
。