重新访问AWS beanstack时删除旧的crons

时间:2018-03-29 21:18:39

标签: amazon-web-services cron elastic-beanstalk

不是AWS专家,并试图愚弄Cron工作。为了测试,我有一个示例脚本每分钟向我发送电子邮件。现在,我想每10分钟更改一次(* / 10 * * * *)这些是我尝试的容器命令,但它们似乎都没有。

我正在使用配置文件和txt文件来定义crons。

配置文件内容(我从在线资源中读到的各种想法)

container_commands: 
  00_remove_old_cron_jobs0:
    command: "rm -fr /etc/cron.d/cron_job"

  01_remove_old_cron_jobs1:
    command: "sudo sed -i 's/empty stuff//g' /etc/cron.d/cron_job"

  02_remove_old_cron_jobs2:
    command: "crontab -r || exit 0"

  03_cron_job: 
    command: "cat .ebextensions/cron_job.txt > /etc/cron.d/cron_job && chmod 644 /etc/cron.d/cron_job"
    leader_only: true

cron_job.txt文件内容。

# The newline at the end of this file is extremely important.  Cron won't run without it.
0 * * * * ec2-user /usr/bin/php -q /var/www/html/cron1.php > /dev/null
0 * * * * ec2-user /usr/bin/php -q /var/www/html/html/cron2.php > /dev/null
*/10 * * * * ec2-user /usr/bin/php -q /var/www/html/cronTestEmailer.php > /dev/null

测试电子邮件脚本每分钟都会持续发射,而不是每10分钟发射一次,我不知道如何确保正确反映cron更新。

1 个答案:

答案 0 :(得分:0)

您可以使用以下ebextensions配置文件实现相同的目标。

function a() {
  var selectSelected = document.getElementById("getvalue");
  var collection = document.getElementById("test").selectedOptions;
  for (var i=0; i<collection.length; i++) {
    output += collection[i].label + ", ";
  }

  selectSelected.value = output;
}

有关以下配置文件的更多详细信息:

  1. 文件:创建一个Cron作业和一个名为myscript.sh的文件。如果已存在具有相同名称的文件,则首先移动旧文件.bak并使用新内容创建文件。
  2. 命令:删除所有.bak文件