![帮助使用正则表达式更新 cron 条目](https://linux22.com/image/1240736/%E5%B8%AE%E5%8A%A9%E4%BD%BF%E7%94%A8%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E6%9B%B4%E6%96%B0%20cron%20%E6%9D%A1%E7%9B%AE.png)
嗨,我正在尝试更新 cron 条目,不是使用 crontab -e,而是使用 shell 命令。例如,cron 条目如下:
10 * * * * /home/localuser/foo.sh -b 1 -h 4 > foo_output.sh 2>&1
不,我只需要编辑命令行参数部分,即
-b 1 -h 4
到用户输入的其他内容。第一件事是将 crontab 写入临时文件,然后操作该临时文件。现在,有没有一种简单的方法可以使用 SED 或其他东西来编辑该行?粗略的方法是删除整行,用整个表达式写一个新行,然后将其加载到 cron 中。我不擅长使用正则表达式。我的系统支持 sed -i,所以我想这可以在一行命令中完成。提前致谢
答案1
使用脚本编辑 crontab 文件的基本步骤如下,
crontab -l > 工作文件.txt 脚本到编辑.sh 工作文件.txt > 编辑文件.txt crontab 编辑的文件.txt
根据 crontab 中其他行的样子(或将来可能的样子),
您可以编写sed
一行来更改感兴趣的命令。
以下是可能执行的操作的示例script-to-edit.sh
,
sed 's|foo.sh \-b 1 \-h 4|foo.sh -b XXX -h YYY|g'