我VM
使用 terraform 创建机器,在创建服务器时,我有 3 个作业需要创建到crontab
文件中。这 3 个作业必须在 crontab 文件中自动运行。
我怎样才能做到这一点?
答案1
您可以在启动映像时尝试使用 cloud-init。使用 cloud-config write_files 模块在 /etc/cron.d/ 中创建一个 cron 条目文件,并且您需要将 [USER] 设置为要执行 cron 作业的用户。
#cloud-config
write_files:
- owner: root:root
path: /etc/cron.d/your_cronjob
content: * */2 * * * [USER] du -s test/
答案2
在项目中,我为想要在 Terraform 配置机器时运行的 corn 创建了一个 script.sh 文件,然后我将其放在 remote-exec 上。
script.sh 包含一个 crone 的以下代码,对于更多的 crone,我们需要另一个。
lines2="*/1 * * * * /bin/bash path/to/file/on/machine_mgmt.sh >> path/to/file/on/machine-log.txt" ( crontab -u root -l; echo "$lines2" ) | crontab -u root -