最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Linux 服务器定时任务配置如何写
时间:2026-08-10 10:48:49 编辑:袖梨 来源:一聚教程网
Linux服务器定时任务依赖crond服务运行,需用crontab -e按“分 时 日 月 周 命令”格式编写,命令须用绝对路径,并配置PATH、SHELL环境变量及日志输出以确保稳定执行。
Linux 服务器定时任务主要靠 crontab 实现,核心是写对时间格式和命令路径。配置不难,但细节错一点就执行失败。
先确认 cron 服务是否运行
定时任务依赖后台的 cron 守护进程,得先确保它开着:
- 查看状态:
systemctl status crond(CentOS/RHEL)或systemctl status cron(Ubuntu/Debian) - 若未运行,启动它:
systemctl start crond并设为开机自启:systemctl enable crond
用 crontab -e 编辑自己的任务
普通用户执行 crontab -e 即可编辑专属任务(无需改系统文件,更安全)。首次会提示选编辑器,选 nano 或 vim 都行。
- 每行一条任务,格式固定:「分 时 日 月 周 命令」,共6个字段,用空格分隔
- 例如:
30 2 * * * /bin/bash /home/user/backup.sh表示每天凌晨2:30执行脚本 - 注意:命令必须用绝对路径(
which backup.sh可查路径),否则 cron 找不到
时间字段怎么填才准确
5个时间位从左到右分别是:分钟(0–59)、小时(0–23)、日期(1–31)、月份(1–12)、星期(0–6,0和7都代表周日)。
-
*表示“任意值”,比如* * * * *是每分钟执行一次 -
*/10表示“每隔10单位”,如*/10 * * * *是每10分钟执行一次 -
1,15表示“多个离散值”,如0 1,13 * * *是每天1点和13点整执行 -
1-5表示“范围”,如0 9 * * 1-5是工作日早上9点执行
让脚本稳稳跑起来的几个关键点
很多任务写完不执行,往往不是时间错了,而是环境或权限问题:
- 在 crontab 文件开头加两行,显式声明环境:
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
SHELL=/bin/bash
- 如果脚本依赖某些变量(比如 Python 虚拟环境),建议在脚本第一行加
#!/usr/bin/env bash,并在脚本内source ~/.bashrc或直接激活环境 - 输出日志便于排查:
30 2 * * * /home/user/backup.sh >> /var/log/backup.log 2>&1 - 测试时可先设个1分钟后执行的任务(如
$(date -d '+1 minute' +%M) $(date -d '+1 minute' +%H) * * *),验证是否触发
相关文章
- jm天堂漫画官网入口 08-12
- Moonlit Celestial Palace Gate 08-12
- Memcached gets 命令 08-12
- 迅捷 FW351R 无线路由器网速限制设置 08-12
- ZipZap-ZipZap是一款免费的AI 助手 08-12
- 火车票余票怎么查询-火车票余票查询步骤与官方购票方法 08-12