本文主要介绍了linux注释crontab文件的相关知识以及如何解决crontab执行sh的陷阱。内容详实易懂,操作简单快捷,具有一定的参考价值。相信大家看完这篇关于linux注解crontab文件,以及如何解决crontab执行sh的坑的文章,都会有所收获。让我们一起来看看吧。
Linux注释crontab文件和crontab执行sh的pit。最初,许多crontabs是在Linux下编写的,用于定期执行某些任务。
现在有以下需求:
需求:要注释一些crontab任务,
方法:只需添加& # 39;在crontab任务被取消之前。#'去做吧。
例如
5 4 * *孙附和& quot每周日4点5分跑步& quot注意事项:
#5 4 * *孙附和& quot每周日4点5分跑步& quot就这么简单。
坑1见下面的例子。
最近写了一个脚本setdatetime.sh,手动执行的很好,但是在crontab中无法定期执行,如下:
*/1 * * */data/test/setdatetime . sh乍一看没什么问题,什么情况!
后来在别的地方看到你一定要加sh,如下:
*/1 * * * * sh/data/test _ tzb/setdatetime . sh所以,正常执行。
没有sh,需要很长时间。
坑2嗨,又遇到一个坑,很久没了。我写了一个脚本从百度获取时间,然后date -s s。
#!/bin/bash
sudo date-s & quot;$(date-date = & quot;$(wget-S & quot;http://www.baidu.com/" 2 & gt;& amp1 | grep-E & # 39;^[[:space:]]*[dd]ate:';| sed & # 39s/^[[:space:]]*[dd]ate:[[:space:]]*//';| head-1l | awk & # 39;{打印$1,$3,$2,& quotGMT & quot, $4 }'| sed & # 39s/,//& # 39;)& quot)& quot用sh执行,一点问题都没有。
但是放在crontab里,又不行了。任务执行了,但结果错了。
Fri时间2021年7月1日00:00:00
我明显是在别的服务器上,用crontab结果是正确的。在这台机器上,又不正确,气人。
无奈执行,我直接从另一台机器上复制脚本,crontab正确执行了下面的脚本。
#!/bin/bash
出口LANG=en_US。UTF-8
。/etc/profile
sudo date-s & quot;$(date-date = & quot;$(wget-S & quot;http://www.baidu.com/" 2 & gt;& amp1 | grep-E & # 39;^[[:space:]]*[dd]ate:';| sed & # 39s/^[[:space:]]*[dd]ate:[[:space:]]*//';| head-1l | awk & # 39;{打印$1,$3,$2,& quotGMT & quot, $4 }'| sed & # 39s/,//& # 39;)& quot)& quot看出区别了吗?
。应该添加/etc/profile。
Crontab快速注释和撤销注释我们知道,一般情况下,编写crontab需要用vi编辑器进行编辑。通过vi编辑器,你可以很容易地在每一行前面添加一个注释符号& # 39;#',它也很容易使用vi编辑器,每一行都有注释& # 39;#'移除。
批量快速标注和标注取消先用crontab -e编辑crontab。
$ crontab -e然后使用vi的以下编辑命令。
:% s//#/您可以添加一个& # 39;#',来注释掉。
同样,在一些操作完成后,应该先编辑crontab。
$ crontab -e使用以下编辑命令
:% s/#/您可以取消最后一条评论的所有计划任务。
评论前必须登录!
注册