linux注释crontab文件及crontab执行sh的坑如何解决

79次阅读
没有评论

共计 1665 个字符,预计需要花费 5 分钟才能阅读完成。

这篇文章主要介绍了 linux 注释 crontab 文件及 crontab 执行 sh 的坑如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇 linux 注释 crontab 文件及 crontab 执行 sh 的坑如何解决文章都会有所收获,下面我们一起来看看吧。

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/^#//

就可以讲上次所有注释的定时任务,全部撤销。

关于“linux 注释 crontab 文件及 crontab 执行 sh 的坑如何解决”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“linux 注释 crontab 文件及 crontab 执行 sh 的坑如何解决”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-12发表,共计1665字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)