linux注释crontab文件及crontab执行sh的坑记录

 更新时间:2023年04月07日 14:26:41   作者:煎饼皮皮侠  
这篇文章主要介绍了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特殊权限使用(suid、sgid、sbit)

    linux特殊权限使用(suid、sgid、sbit)

    这篇文章主要介绍了linux特殊权限使用(suid、sgid、sbit),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • 在CoreOS上搭建一个WordPress程序操作实例

    在CoreOS上搭建一个WordPress程序操作实例

    你可能听过服务器操作系统CoreOS的名字,那你试过在上面建立个小程序么?今天,我们就来手把手地教你建立一个简单的WordPress程序
    2014-03-03
  • Linux服务器从头配置全过程

    Linux服务器从头配置全过程

    这篇文章主要介绍了Linux服务器从头配置全过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-03-03
  • Linux如何编译和安装boost库

    Linux如何编译和安装boost库

    这篇文章主要介绍了Linux如何编译和安装boost库问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Linux上进行常用软件的配置方法

    Linux上进行常用软件的配置方法

    这篇文章主要介绍了Linux上进行常用软件的配置方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • Linux平台和Windows平台互传文件的实现方法

    Linux平台和Windows平台互传文件的实现方法

    本文讲述了在Linux主机与windows主机之间如何互传文件的方法,因为有时linux主机中的一些文件可能会在windows环境下用到,所以文章给大家介绍的非常详细,感兴趣的朋友可以参考下
    2024-05-05
  • CentOS 7上为PHP5安装suPHP的方法(彭哥)

    CentOS 7上为PHP5安装suPHP的方法(彭哥)

    这篇文章主要介绍了CentOS 7上为PHP5安装suPHP的方法,需要的朋友可以参考下
    2020-02-02
  • Linux下强制杀死进程的方法详解

    Linux下强制杀死进程的方法详解

    这篇文章中我们给大家分享了关于Linux下强制杀死进程的方法技巧相关内容,有兴趣的朋友们可以参考了下。
    2018-09-09
  • linux设置服务开机自启动的三种方式

    linux设置服务开机自启动的三种方式

    这篇文章主要介绍了linux设置服务开机自启动的三种方式,需要的朋友可以参考下
    2015-11-11
  • CentOS 7 安装 MySQL 5.6遇到的各种问题小结

    CentOS 7 安装 MySQL 5.6遇到的各种问题小结

    在一测试服务器(CentOS Linux release 7.2.1511)上安装MySQL 5.6(5.6.19 MySQL Community Server)时遇到了很多奇葩问题,今天小编给大家总结了关于entOS 7 安装 MySQL 5.6遇到的各种问题,需要的朋友一起看看吧
    2016-11-11

最新评论