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

linux 注释crontab文件及crontab执行sh的坑原来 在 Linux 下写了很多 crontab 来定时执行某些任务 今天有个需求 是要注释某些 c

原来,在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 要加上。

Linux博大精深,我等学艺不精。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/200221.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午11:17
下一篇 2026年3月20日 上午11:17


相关推荐

  • python安装包国内镜像,pip使用国内镜像

    python安装包国内镜像,pip使用国内镜像目录 python 安装包镜像 pip 下载时使用国内镜像 python 安装包镜像下载 python 安装包和 pip 下载第三方库时 由于一些客观原因 下载外网文件速度很慢 这时可以使用淘宝镜像下载 http npm taobao org mirrors python 比如我要在 win10 电脑上安装 python3 9 进入 http npm taobao org mirrors python 3 9 0 找到 python 3 9 0 amd64 exe 点击下载即可

    2025年11月2日
    7
  • 无法wget raw.githubusercontent.com

    无法wget raw.githubusercontent.com

    2021年6月3日
    311
  • win10安装vmware虚拟机蓝屏_安装完mac虚拟机出现蓝屏

    win10安装vmware虚拟机蓝屏_安装完mac虚拟机出现蓝屏我们在创建虚拟机的时候,选择的是去创建一个默认的虚拟机,然后创建完成直接将系统装在了这个虚拟机中而这,就是这个问题的所在,对于网上下载的sp3_iso系统来讲,是需要一个ida的硬盘,就是要将虚拟机的硬盘模式重新设置一下对当前虚拟机进行设置,将原来的硬盘删除掉,重新添加HardDisk(也就是硬盘的意思)我们选择这个HardDisk选项,点击下一步然后我们出现了这样一…

    2022年8月16日
    8
  • OpenClaw + DeepSeek:成本只有 GPT-4 的 1/100

    OpenClaw + DeepSeek:成本只有 GPT-4 的 1/100

    2026年3月12日
    2
  • 什么是硬编码

    什么是硬编码硬编码是将数据直接嵌入到程序或其他可执行对象的源代码中的软件开发实践 与从外部获取数据或在运行时生成数据不同 硬编码数据通常只能通过编辑源代码和重新编译可执行文件来修改 尽管可以使用调试器或十六进制编辑器在内存或磁盘上进行更改 硬编码的数据通常表示不变的信息 例如物理常量 版本号和静态文本元素 另一方面 软编码数据对用户输入 HTTP 服务器响应或配置文件等任意信息进行编码 并在运行时

    2026年3月26日
    2
  • android root权限命令行,如何通过命令行取得安卓root权限

    android root权限命令行,如何通过命令行取得安卓root权限满意答案 1 安装 USB 驱动进入设置 应用程序 开发 USB 调试 将第一个选项打钩选中 然后通过 USB 线连接电脑 提示安装驱动 如果是 32 位的系统选择 x86 文件夹安装驱动 如果是 64 位系统选择 amd64 文件夹 2 软件准备将提供的软件工具包中的 TMG 文件夹 放到 C 盘根目录下 之所以放于此不是指定位置 只是为了后续在命令中进入文件夹带来方便 文件夹路径 C TMG 3 检查 adb exe 和 fastb

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号