linux注释crontab文件及crontab执行sh的坑怎么解决

发布时间 - 2023-05-15 00:00:00    点击率:

    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 2025

    我明明在另一台服务器上,用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  # date  # copy  # 写了  # 编辑器  # 又不  # 对啊  # 就可以  # 另一台  # 放在  # 很容易  # 也很  # 大半天 


    相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


    相关推荐: 如何快速建站并高效导出源代码?  5种Android数据存储方式汇总  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  C#如何调用原生C++ COM对象详解  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  Laravel如何使用Service Container和依赖注入?(代码示例)  Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  如何在阿里云部署织梦网站?  如何批量查询域名的建站时间记录?  Android实现代码画虚线边框背景效果  C语言设计一个闪闪的圣诞树  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  javascript日期怎么处理_如何格式化输出  如何在万网ECS上快速搭建专属网站?  bootstrap日历插件datetimepicker使用方法  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  如何在Windows虚拟主机上快速搭建网站?  Linux系统运维自动化项目教程_Ansible批量管理实战  bing浏览器学术搜索入口_bing学术文献检索地址  JS弹性运动实现方法分析  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  如何确认建站备案号应放置的具体位置?  HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】  Laravel Debugbar怎么安装_Laravel调试工具栏配置指南  如何彻底删除建站之星生成的Banner?  Laravel如何配置任务调度?(Cron Job示例)  Laravel如何使用Eloquent进行子查询  如何确保西部建站助手FTP传输的安全性?  Python自然语言搜索引擎项目教程_倒排索引查询优化案例  Laravel如何发送系统通知?(Notification渠道示例)  Laravel怎么在Controller之外的地方验证数据  如何快速完成中国万网建站详细流程?  佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】  香港服务器建站指南:免备案优势与SEO优化技巧全解析  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  独立制作一个网站多少钱,建立网站需要花多少钱?  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】  网站制作价目表怎么做,珍爱网婚介费用多少?  Laravel如何处理CORS跨域请求?(配置示例)  ChatGPT 4.0官网入口地址 ChatGPT在线体验官网  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?