ubuntu 打开 crontab 日志及不执行常见原因

本贴最后更新于 2558 天前,其中的信息可能已经时异事殊

crontab 不执行常见原因

1,先排查你要执行的脚本是否正常运行,验证方法就是在控制台输入你要执行的脚本命令,看是否能执行,但是即使有时能正常执行,也不一定说脚本就没问题。今天我就遇到了一个很奇怪的现象,我的脚本命令没使用全路径,在控制台是可以正常运行,但是 crontab 就是没执行起来,日志也没报错。然后把命令换成全路径之后,cron 就成功执行了。所以说,为了能正常运行,脚本命令我建议写上全路径。

比如我要执行一个爬虫,脚本一般这样写

#!/bin/bash cd /var/xxx/project #你的爬虫目录 scrapy crawl myspider #执行scrapy

这样写,然后在控制台直接执行是没问题的

sh /xxx/xxx/xx.sh

但是换成 cron 来就不行了,我们把 scrapy 的路径给补上,输入命令

find / -name scrapy

快速找到你的 scrapy 在哪里,把 xx/bin/scrapy 那个路径复制过来,我的是/usr/local/bin/scrapy,然后把刚才的脚本改成

/usr/local/bin/scrapy crawl myspider

如果还不成功,那就开始下一步去 crontab 上找问题了。

2,首先我们把 cron 日志打开,Ubuntu 系统默认是不打开 cron 日志的,不信你 cd 到/var/log 目录下是找不到 cron.log 文件的。

如何打开,很简单,控制台输入

vi /etc/rsyslog.d/50-default.conf

打开文件,在文件中找到 cron.*,把前面的#去掉,保存退出,输入

sudo service rsyslog restart

重启系统日志,然后稍微等下应该就能在/var/log 目录下看到 cron.log,vi cron.log 就可以查看 cron 运行日志了。

如果在日志中能看到有这样的记录

Jan 23 12:55:01 iZbp12o440hd7llqz14ebpZ CRON[3990]: (root) MAIL (mailed 1 byte of output; but got status 0x00ff, #012)

这是一个很常见的错误,很多新手都会碰到这个问题,这个错误原因是 cron 执行完你的命令后就会给你发一封邮件,但是我邮件都没配置往哪发啊,所以就报错了。难道真的要我把邮箱配置起来嘛,当然不要,也不知道怎么配,更不想去配,你执行完就完事了呗,给我发邮件干啥呢。可能老外比较喜欢用邮件,想每天登录邮箱都能看到满满的一箱信,哈哈,扯远了。

回归正题,我们只需要在每条 cron 命令空一格后加上这几个字

>/dev/null 2>&1

比如我的一条命令

*/5 * * * * sh /var/xxx/xxx.sh >/dev/null 2>&1

明确告诉你,完事别给我发什么邮件了,老子不需要。然后

service cron restart

把 cron 重启一下,静静的等待奇迹的出现。。。

如果还有问题,看日志,一步步排查,还有一个很值得注意的就是要确保你的脚本命令尽量使用全路径,有些环境变量没配的话是执行不起来的。

  • crontab

    crontab 命令常见于 类 Unix 的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语 chronos(χρνο),原意是时间。

    12 引用 • 25 回帖 • 1 关注
  • cron
    11 引用 • 3 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • 分享

    有什么新发现就分享给大家吧!

    249 引用 • 1799 回帖
  • 招聘

    哪里都缺人,哪里都不缺人。

    188 引用 • 1057 回帖 • 7 关注
  • Firefox

    Mozilla Firefox 中文俗称“火狐”(正式缩写为 Fx 或 fx,非正式缩写为 FF),是一个开源的网页浏览器,使用 Gecko 排版引擎,支持多种操作系统,如 Windows、OSX 及 Linux 等。

    7 引用 • 30 回帖 • 368 关注
  • 自由行
    3 关注
  • OneDrive
    2 引用
  • Sillot

    Insights(注意当前设置 master 为默认分支)

    汐洛彖夲肜矩阵(Sillot T☳Converbenk Matrix),致力于服务智慧新彖乄,具有彖乄驱动、极致优雅、开发者友好的特点。其中汐洛绞架(Sillot-Gibbet)基于自思源笔记(siyuan-note),前身是思源笔记汐洛版(更早是思源笔记汐洛分支),是智慧新录乄终端(多端融合,移动端优先)。

    主仓库地址:Hi-Windom/Sillot

    文档地址:sillot.db.sc.cn

    注意事项:

    1. ⚠️ 汐洛仍在早期开发阶段,尚不稳定
    2. ⚠️ 汐洛并非面向普通用户设计,使用前请了解风险
    3. ⚠️ 汐洛绞架基于思源笔记,开发者尽最大努力与思源笔记保持兼容,但无法实现 100% 兼容
    29 引用 • 25 回帖 • 145 关注
  • Mac

    Mac 是苹果公司自 1984 年起以“Macintosh”开始开发的个人消费型计算机,如:iMac、Mac mini、Macbook Air、Macbook Pro、Macbook、Mac Pro 等计算机。

    167 引用 • 597 回帖 • 1 关注
  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1062 引用 • 3455 回帖 • 137 关注
  • Quicker

    Quicker 您的指尖工具箱!操作更少,收获更多!

    39 引用 • 167 回帖
  • 宕机

    宕机,多指一些网站、游戏、网络应用等服务器一种区别于正常运行的状态,也叫“Down 机”、“当机”或“死机”。宕机状态不仅仅是指服务器“挂掉了”、“死机了”状态,也包括服务器假死、停用、关闭等一些原因而导致出现的不能够正常运行的状态。

    13 引用 • 82 回帖 • 82 关注
  • Spark

    Spark 是 UC Berkeley AMP lab 所开源的类 Hadoop MapReduce 的通用并行框架。Spark 拥有 Hadoop MapReduce 所具有的优点;但不同于 MapReduce 的是 Job 中间输出结果可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。

    74 引用 • 46 回帖 • 568 关注
  • 代码片段

    代码片段分为 CSS 与 JS 两种代码,添加在 [设置 - 外观 - 代码片段] 中,这些代码会在思源笔记加载时自动执行,用于改善笔记的样式或功能。

    用户在该标签下分享代码片段时需在帖子标题前添加 [css] [js] 用于区分代码片段类型。

    240 引用 • 1731 回帖 • 1 关注
  • WordPress

    WordPress 是一个使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设自己的博客。也可以把 WordPress 当作一个内容管理系统(CMS)来使用。WordPress 是一个免费的开源项目,在 GNU 通用公共许可证(GPLv2)下授权发布。

    46 引用 • 114 回帖 • 142 关注
  • SVN

    SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,它的设计目标就是取代 CVS。

    29 引用 • 98 回帖 • 696 关注
  • 职场

    找到自己的位置,萌新烦恼少。

    127 引用 • 1708 回帖
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    326 引用 • 1395 回帖 • 1 关注
  • 友情链接

    确认过眼神后的灵魂连接,站在链在!

    24 引用 • 373 回帖 • 2 关注
  • 服务器

    服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。

    125 引用 • 585 回帖 • 1 关注
  • FreeMarker

    FreeMarker 是一款好用且功能强大的 Java 模版引擎。

    23 引用 • 20 回帖 • 472 关注
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖
  • 大数据

    大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    90 引用 • 113 回帖
  • BookxNote

    BookxNote 是一款全新的电子书学习工具,助力您的学习与思考,让您的大脑更高效的记忆。

    笔记整理交给我,一心只读圣贤书。

    1 引用 • 1 回帖 • 4 关注
  • jsDelivr

    jsDelivr 是一个开源的 CDN 服务,可为 npm 包、GitHub 仓库提供免费、快速并且可靠的全球 CDN 加速服务。

    5 引用 • 31 回帖 • 113 关注
  • JVM

    JVM(Java Virtual Machine)Java 虚拟机是一个微型操作系统,有自己的硬件构架体系,还有相应的指令系统。能够识别 Java 独特的 .class 文件(字节码),能够将这些文件中的信息读取出来,使得 Java 程序只需要生成 Java 虚拟机上的字节码后就能在不同操作系统平台上进行运行。

    180 引用 • 120 回帖
  • 人工智能

    人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。

    124 引用 • 360 回帖
  • 音乐

    你听到信仰的声音了么?

    62 引用 • 512 回帖
  • Git

    Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    211 引用 • 358 回帖 • 1 关注