【问题标题】:Comment out and uncomment cron job containing a certain word [duplicate]注释掉并取消注释包含某个单词的 cron 作业 [重复]
【发布时间】:2017-08-03 16:34:06
【问题描述】:

我有一些使用 cron 运行的脚本,我需要停止它们,所以我想构建一个 shell 脚本,它可以输出包含某个单词的 cron 作业。

如何通过 shell 脚本注释掉和取消注释包含“start_bots”的 cron 作业?我看到了一些使用“sed”的解决方案,但我不熟悉它。

*/3 * * * * /home/pi/Development/instabot.py/start_bots.sh
0 */3 * * * /home/pi/Development/instabot.py/stop_bots.sh
0 0 */3 * * /home/pi/Development/instabot.py/remove_logs.sh

【问题讨论】:

    标签: bash shell unix cron


    【解决方案1】:
    sed -i /start_bots/s/^/#/ cronfile
    
    • -i 选项将编辑后的内容流式传输到新文件中,然后在后台重命名。
    • /start_bots/ 匹配带有start_bots 的行
    • s 对上面匹配的行进行替换
    • 替换将在^行的开头插入一个注释字符#^代表行的开头)。

    【讨论】:

    • 我收到这条消息“sed: 1: "cronfile": command c expects \ after text" running "sed -i /start_bots/s/^/#/ cronfile" 在终端上。跨度>
    • 问题是什么?你得到错误?你用你的文件名替换了cronfile
    • 我用crontab -l | sed '/restart_bots/s/^/#/' | crontab -成功了!
    • 命令crontab -的最后一部分是什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-11
    • 1970-01-01
    • 2013-11-12
    • 2012-01-24
    • 1970-01-01
    • 2019-11-08
    • 2012-11-24
    相关资源
    最近更新 更多