关注分享主机优惠活动
国内外VPS云服务器

Linux注释crontab文件及如何解决crontab执行sh(Linux中的crontab命令)的陷阱

本文主要介绍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,需要很长时间。

第二个坑嗨,我又遇到了一个坑,而且很久都没有了。我写了一个脚本从百度获取时间,然后进行日期排序。

#!/bin/bash
sudo日期$(date-date = & quot;$(wget-S & quot;http://www.baidu.com/" 2》& amp1 | grep-E & # 39;^[[:space:]]*[dd]ate:'| sed & # 39s/^[[:space:]]*[dd]ate:[[:space:]]*//'| head-1l | awk & # 39;{打印$1、$3、$2、$5、& quotGMT & quot, $4 }'| sed & # 39s//,//& # 39;)& quot)& quot用sh执行它,完全没有问题。

但是把它放在crontab中,它就不会再工作了。任务执行了,但结果是错误的。

Fri 2021年7月1日00:00:00中部时间

我显然在另一个服务器上,使用crontab的结果是正确的。在这台机器上,它又不正确,这很气人。

无奈,我直接从另一台机器上复制脚本,crontab正确执行了以下脚本。

#!/bin/bash
export LANG=en_US。UTF-8
。/etc/profile
sudo日期$(date-date = & quot;$(wget-S & quot;http://www.baidu.com/" 2》& amp1 | grep-E & # 39;^[[:space:]]*[dd]ate:'| sed & # 39s/^[[:space:]]*[dd]ate:[[:space:]]*//'| head-1l | awk & # 39;{打印$1、$3、$2、$5、& 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/#/您可以取消最后一条评论的所有计划任务。

未经允许不得转载:主机频道 » Linux注释crontab文件及如何解决crontab执行sh(Linux中的crontab命令)的陷阱

评论 抢沙发

评论前必须登录!