温馨提示×

debian定时器怎么用cron

小樊
47
2026-10-22 08:55:37
栏目: 智能运维

在 Debian(以及大多数 Linux 发行版)中,cron 是用来设置定时任务的工具。下面从基础到常用示例给你讲清楚怎么用。


一、cron 基本概念

  • cron 服务:后台运行,按时间执行任务
  • crontab:用户的定时任务配置文件
  • 执行者:可以是 root,也可以是普通用户

二、cron 服务管理(Debian)

1. 安装 cron(一般默认已装)

sudo apt update
sudo apt install cron

2. 启动 / 开机自启

sudo systemctl start cron
sudo systemctl enable cron

3. 查看状态

sudo systemctl status cron

三、crontab 基本用法

1. 编辑当前用户的定时任务

crontab -e

第一次会让你选编辑器(推荐 nano 或 vim)

2. 查看当前用户的任务

crontab -l

3. 删除当前用户所有任务

crontab -r

4. root 用户任务

sudo crontab -e

四、crontab 时间格式(重点)

* * * * *  command
│ │ │ │ │
│ │ │ │ └─ 星期 (0-7, 0和7都是周日)
│ │ │ └─── 月份 (1-12)
│ │ └───── 日期 (1-31)
│ └─────── 小时 (0-23)
└───────── 分钟 (0-59)

示例说明

示例 含义
0 0 * * * 每天 0 点
*/5 * * * * 每 5 分钟
0 3 * * 1 每周一 3 点
0 0 1 * * 每月 1 号 0 点

五、常见使用示例

1. 每天凌晨备份

0 2 * * * /home/user/backup.sh

2. 每 10 分钟执行一次

*/10 * * * * /usr/bin/python3 /home/user/task.py

3. 写日志(推荐)

*/5 * * * * /home/user/check.sh >> /home/user/cron.log 2>&1

4. 使用绝对路径(非常重要)

cron 环境 没有 PATH,一定要写全路径:

which python3
# /usr/bin/python3

六、系统级 cron(不常用但有用)

1. 系统 cron 文件

/etc/crontab

格式多了“用户”:

* * * * * root /root/script.sh

2. 目录方式(推荐)

/etc/cron.daily/
/etc/cron.hourly/
/etc/cron.weekly/
/etc/cron.monthly/

放脚本进去就会按周期执行。


七、调试 cron 常见问题

1. 任务没执行?

  • 用绝对路径
  • 看日志:
sudo tail -f /var/log/syslog | grep cron

2. 环境变量问题

在 crontab 顶部加:

PATH=/usr/bin:/bin

八、简单示例(从零)

crontab -e

写入:

*/1 * * * * echo "hello cron" >> /tmp/cron_test.log

一分钟后查看:

cat /tmp/cron_test.log

如果你愿意,我可以:

  • 帮你写 具体 cron 任务
  • 讲 systemd timer(cron 的现代替代)
  • 针对 服务器 / 脚本 / 备份场景 给方案

直接说你的使用场景就行。

0 踩