linux注释crontab文件及crontab执行sh的坑记录
作者:煎饼皮皮侠 时间:2021-12-22 06:13:23
linux注释crontab文件及crontab执行sh的坑
原来,在Linux下写了很多crontab,来定时执行某些任务,
现在有以下需求:
需求:是要注释某些crontab任务,
方法:只要在所要取消的crontab任务前,加'#'即可。
e.g.
5 4 * * sun echo "run at 5 after 4 every sunday"
注释:
#5 4 * * sun echo "run at 5 after 4 every sunday"
就这么简单。
遇坑1
看下面例子
最近写了个脚本setdatetime.sh,手动执行的好好的,但是到了crontab中却无法定时执行,如下:
*/1 * * * * /data/test/setdatetime.sh
乍一看,没什么不对啊,什么情况!
后来在其他地方看到,必须要加sh才可以,如下:
*/1 * * * * sh /data/test_tzb/setdatetime.sh
如此,正常执行。
少一个sh,折腾大半天。。。
坑2
嗨,又遇1坑,老半天又没了,写了一脚本,从baidu获取时间,然后date -s。
#!/bin/bash
sudo date -s "$(date --date="$(wget -S "http://www.baidu.com/" 2>&1 | grep -E '^[[:space:]]*[dD]ate:' | sed 's/^[[:space:]]*[dD]ate:[[:space:]]*//' | head -1l | awk '{print $1, $3, $2, $5 ,"GMT", $4 }' | sed 's/,//')")"
用sh执行,一点问题都没有。
但是放在crontab,又不行了,任务倒是执行,但是结果不对啊。
Fri Jul 1 00:00:00 CST 2021
我明明在另一台服务器上,用crontab执行结果正确了啊,到这台机器上,怎么又不正确了,气人。
无奈执行,我从另一台机器,直接把脚本copy过来,crontab执行以下脚本就正确了。
#!/bin/bash
export LANG=en_US.UTF-8
. /etc/profile
sudo date -s "$(date --date="$(wget -S "http://www.baidu.com/" 2>&1 | grep -E '^[[:space:]]*[dD]ate:' | sed 's/^[[:space:]]*[dD]ate:[[:space:]]*//' | head -1l | awk '{print $1, $3, $2, $5 ,"GMT", $4 }' | sed 's/,//')")"
看出不同了么?
. /etc/profile 要加上。
crontab快速注释及撤销注释
我们知道一般情况下,编写crontab需要使用vi编辑器进行编辑。通过vi编辑器,可以很容易的在每一行的前面加上注释符号'#',也很容易的使用vi编辑器,将每一行的已经注释的'#'去掉。
批量快速注释及撤销注释
先使用crontab -e进行对crontab的编辑操作
$ crontab -e
然后使用vi的如下编辑命令
:%s/^/#/
就可以将定时执行的任务前面都加上一个'#',进行注释掉。
同样等,某些操作完成后,也是,先进行对crontab的编辑
$ crontab -e
使用如下编辑命令
:%s/^#//
就可以讲上次所有注释的定时任务,全部撤销。
来源:https://blog.csdn.net/yuan882696yan/article/details/38312879
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
移动web设计:标准的选择
![](https://img.aspxhome.com/file/UploadPic/20094/3/01s-64s.jpg)
影响搜索引擎不收录16大因素
redhat Server release 5.2 安装配置简明教程
两岸服务业交流 电子支付率先“搭桥”
做全不如做细,网站细分,如何细分?
网页Head标签的规范填写
FTP命令详解
标签在web2.0网站的作用
利用活动日志巧妙解决IIS服务器故障
阿里妈妈:是网络贵妇还是菜场大妈?
教你解决Discuz!论坛时间不统一问题
![](https://img.aspxhome.com/file/UploadPic/20098/6/200986183522770s.jpg)
圣诞节英文词汇
详解在linxu下Svn一键安装shell脚本
浅谈影响外部链接权重的十大因素
Windows环境利用虚拟机Vmware安装Mac OS10.11(图文)
![](https://img.aspxhome.com/file/2023/5/84005_0s.png)
在docker容器中调用和执行宿主机的docker操作
![](https://img.aspxhome.com/file/2023/9/127969_0s.jpg)