【问题标题】:Writing a cronjob using a script使用脚本编写 cronjob
【发布时间】:2020-09-04 16:43:13
【问题描述】:

这是我第一次尝试将 cronjob 设置为在 Jenkins 中自动进行更新。 目前,到目前为止,我已经完成了以下工作:

1. sudo crontab -e # opens  the cron tab which will/should put the file in /var/spool/cron
2. @daily yum update  # running  the updates daily

这解决了问题,但是

  1. 当我尝试执行sudo cd /var/spool/cron 时,我看不到任何crontab。但是当我做sudo crontab -l 时,它会告诉我@daily yum updates
  2. 如何通过脚本(如云初始化脚本)将内容@daily yum updates 写入crontab

【问题讨论】:

    标签: shell jenkins cron


    【解决方案1】:

    一种方法是-

    #write out current crontab
    crontab -l > mycron
    #echo new cron into cron file
    echo "@daily yum updates" >> mycron
    #install new cron file
    crontab mycron
    rm mycron
    

    【讨论】:

    • 在添加并启动新 jenkins 之后,当我尝试执行 sudo crontab -l 时,它会显示 no crontab for root
    • 进一步,你为什么要rm mycron
    • 哪个用户正在执行这个命令?它应该为该用户添加一个婴儿床标签。 micron 是一个临时文件,用于加载 crontab 中的条目,如果你会做 man crontab,你可以准备好它需要的参数,最后删除它是一个不错的做法
    • root,进一步,我可以知道如果我将命令放在 /etc/cron.d/patch 文件中,它将被自动称为 cronjob 吗? echo "0 3 * * * root yum -d 0 -y update > /dev/null 2>&1 && shutdown -r +1" >> /etc/cron.d/patch?如果是,我应该删除之前的吗?
    猜你喜欢
    • 2013-01-26
    • 2016-09-04
    • 2011-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-12
    • 2015-05-23
    • 2015-05-15
    相关资源
    最近更新 更多