讲师中心 微信公众号

工具推荐

视频效率加速
updream

一键生成高质量推广成片

Seko
Seko

AI短剧一键生成成片

剧云
剧云

中文短剧剧本制作平台

AniShort
AniShort

AI短剧协同制作平台

Linux crontab 定时任务配置与案例

小涛君_7177

小涛君_7177

发布时间:2026-02-27 14:10:10

|

493人浏览过

|

来源于php中文网

原创

crontab -e 保存后不生效,首要排查 cron 服务状态、用户权限、日志输出及环境差异;必须用绝对路径、显式声明 PATH 和环境变量、指定解释器,并验证脚本在无交互环境下能否独立运行。

linux crontab 定时任务配置与案例

crontab -e 保存后不生效?先查日志和权限

绝大多数“配置了但没跑”的问题,不是语法错,而是 cron 守护进程根本没读到你的任务,或者没权限执行。别急着改 crontab 格式,先确认基础链路通不通。

  • systemctl status cron(或 crond,取决于发行版)确保服务在运行
  • 普通用户加的任务,必须用该用户执行 crontab -e;root 任务必须用 sudo crontab -e,混用会导致静默失败
  • 检查 /var/log/syslog 或 journalctl -u cron -n 50,搜索 CRON 关键字,看有没有 (user) CMD (command) 这类执行记录,没有就说明压根没触发
  • cron 默认不加载用户的 ~/.bashrc 或 ~/.profile,PATH 极其有限(通常是 /usr/bin:/bin),which python 或 which node 找不到是常态

脚本路径、环境变量、Shell 解释器全得显式写死

cron 环境干净得过分——没 $HOME 自动补全,没别名,没 shell 函数,甚至 sh 不一定等于 bash。靠“本地能跑”推断 cron 能跑,基本等于碰运气。

  • 所有路径必须用绝对路径:/home/user/script.sh,不能写 ~/script.sh 或 ./script.sh
  • 需要特定环境变量(比如 PYTHONPATH、NODE_ENV)?在 crontab 条目最前面定义,例如:PATH=/usr/local/bin:/usr/bin:/bin PYTHONPATH=/opt/myapp/lib * * * * * /usr/bin/python3 /opt/myapp/job.py
  • 如果脚本依赖 bash 特性(如数组、[[),别依赖默认 sh,显式指定解释器:* * * * * /bin/bash /path/to/script.sh
  • 重定向输出很重要:加 > /tmp/job.log 2>&1,否则失败时你连报错都看不到

分钟级任务总在整点触发?注意 cron 的时间字段顺序和取值范围

记错字段顺序或理解偏差,是低级但高频的错误。cron 表达式是「分 时 日 月 周」,不是「秒 分 时…」,而且周和月的日是「或」关系,不是「且」。

Linux Security Scanner
Linux Security Scanner

Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...

下载
  • 常见误写:0 9 * * 1-5 是工作日上午 9 点,但 0 9 * * 1,2,3,4,5 才等价;0 9 * * 1-5,0 并不会包含周日——因为 0 是周日,1-5 是周一到周五,0 单独写才有效
  • 想每 5 分钟跑一次?写 */5 * * * *,不是 5 * * * *(后者是每小时第 5 分钟)
  • 想每月 1 号凌晨 2 点跑,且避开周末?不能靠 0 2 1 * * 加逻辑判断——cron 本身不支持“且”条件,得在脚本里用 date +%u 检查星期几再退出
  • 测试时别用 * 频繁刷屏,先设成 * * * * *(每分钟),验证通了再调回真实周期

Python 脚本在 cron 里报 ModuleNotFoundError?别猜路径,直接用虚拟环境完整路径

系统 Python、用户 pip install、venv、conda 环境混在一起时,cron 用的 python 很可能不是你预期的那个。ModuleNotFoundError 几乎都源于解释器和包环境不匹配。

  • 不要写 python script.py,而要写 /home/user/venv/bin/python /home/user/script.py —— 把 Python 解释器和脚本路径都绝对化
  • 如果用了 pip install --user,模块装在 ~/.local/lib/python3.x/site-packages,但 cron 下 $HOME 可能未正确展开,不如直接进 venv 执行
  • 临时调试:在 crontab 里加一行 * * * * * /bin/bash -c 'echo $PATH; which python; python -c "import sys; print(sys.path)"' >> /tmp/cron-env.log 2>&1,对比本地输出
  • 避免用 source activate 或 conda run——它们依赖 shell 初始化,cron 不走那套流程;直接调用 conda 环境里的 python 更可靠

真正麻烦的从来不是写对那一行 cron 表达式,而是它背后那个没有交互、没有提示、不继承 shell 环境的黑盒执行上下文。每次加新任务,先问自己:这个命令脱离我的终端,能不能独立跑通?

热门AI工具

更多
Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

小橡皮AI

一款AI工具,主要用于小橡皮一键去AI味,将机器味重的内容改得更有活人感,防止因为 AI 内容被平台打上 AI 标签,以及限流,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

创客贴AI

创客贴AI是一款AI图像与设计工具,AI辅助的智能在线设计工具。

相关专题

更多
pip安装使用方法
pip安装使用方法

安装步骤:1、确保Python已经正确安装在您的计算机上;2、下载“get-pip.py”脚本;3、按下Win + R键,然后输入cmd并按下Enter键来打开命令行窗口;4、在命令行窗口中,使用cd命令切换到“get-pip.py”所在的目录;5、执行安装命令;6、验证安装结果即可。大家可以访问本专题下的文章,了解pip安装使用方法的更多内容。

3570

2023.10.09

更新pip版本
更新pip版本

更新pip版本方法有使用pip自身更新、使用操作系统自带的包管理工具、使用python包管理工具、手动安装最新版本。想了解更多相关的内容,请阅读专题下面的文章。

8083

2024.12.20

pip设置清华源
pip设置清华源

设置方法:1、打开终端或命令提示符窗口;2、运行“touch ~/.pip/pip.conf”命令创建一个名为pip的配置文件;3、打开pip.conf文件,然后添加“[global];index-url = https://pypi.tuna.tsinghua.edu.cn/simple”内容,这将把pip的镜像源设置为清华大学的镜像源;4、保存并关闭文件即可。

9782

2024.12.23

python升级pip
python升级pip

本专题整合了python升级pip相关教程,阅读下面的文章了解更多详细内容。

5147

2025.07.23

python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end=' ', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

3420

2023.09.27

python print用法与作用
python print用法与作用

本专题整合了python print的用法、作用、函数功能相关内容,阅读专题下面的文章了解更多详细教程。

269

2026.02.03

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

4510

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

3773

2023.06.29

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

80

2026.11.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn