AWS CloudFormation 用户数据中的 Crontab
Crontab in AWS CloudFormation Userdata
如何在使用 AWS CloudFormation Userdata 时设置 crontab?
我正在设置
(crontab -l ; echo "0 * * * * wget -O - -q http://www.example.com/cron.php") | crontab -
但是 cron 没有设置。是否有我应该使用的特定格式?
这会起作用,在您的模板中设置它,例如:
"UserData": {
"Fn::Base64": {
"Fn::Join": [
"",
[
"#!/bin/bash\n",
"echo '0 * * * * wget -O - -q http://www.example.com/cron.php' > /tmp/mycrontab.txt\n",
"sudo -u ubuntu bash -c 'crontab /tmp/mycrontab.txt'\n",
]
]
}
}
要正确执行此操作,您应该在 bash 脚本中执行以下操作:
crontab -l > /tmp/mycrontab
echo '0 * * * * wget -O - -q http://www.example.com/cron.php' >> /tmp/mycrontab
crontab /tmp/mycrontab
我遇到了类似的问题,就像其他人在这里说的那样,这些命令在 CLI 中工作正常,但通过用户数据添加时不起作用。经过几个小时的摸索搜索终于意识到我必须在 crontab 安装命令之前添加行“#!/bin/bash”。这解决了我的问题,一些非常有经验的人可能已经知道这一点,但如果你是这个领域的新手,可能不知道这一点。我的脚本如下所示。
!/bin/bash
sudo su echo '*/1 * * * * command1 command2' > /tmp/mycrontab.txt sudo -u ubuntu bash -c 'crontab /tmp/mycrontab.txt'
如何在使用 AWS CloudFormation Userdata 时设置 crontab?
我正在设置
(crontab -l ; echo "0 * * * * wget -O - -q http://www.example.com/cron.php") | crontab -
但是 cron 没有设置。是否有我应该使用的特定格式?
这会起作用,在您的模板中设置它,例如:
"UserData": {
"Fn::Base64": {
"Fn::Join": [
"",
[
"#!/bin/bash\n",
"echo '0 * * * * wget -O - -q http://www.example.com/cron.php' > /tmp/mycrontab.txt\n",
"sudo -u ubuntu bash -c 'crontab /tmp/mycrontab.txt'\n",
]
]
}
}
要正确执行此操作,您应该在 bash 脚本中执行以下操作:
crontab -l > /tmp/mycrontab
echo '0 * * * * wget -O - -q http://www.example.com/cron.php' >> /tmp/mycrontab
crontab /tmp/mycrontab
我遇到了类似的问题,就像其他人在这里说的那样,这些命令在 CLI 中工作正常,但通过用户数据添加时不起作用。经过几个小时的摸索搜索终于意识到我必须在 crontab 安装命令之前添加行“#!/bin/bash”。这解决了我的问题,一些非常有经验的人可能已经知道这一点,但如果你是这个领域的新手,可能不知道这一点。我的脚本如下所示。
!/bin/bash sudo su echo '*/1 * * * * command1 command2' > /tmp/mycrontab.txt sudo -u ubuntu bash -c 'crontab /tmp/mycrontab.txt'