行者孙Python

绝技四"定时召唤"-Day40|召唤初识:cron 是什么,crontab 基础

📖 知识点

1. Windows 任务计划 → Linux cron

 

WindowsLinux说明
任务计划程序cron定时自动执行任务
图形界面设置

crontab -e 编辑

用命令配置

cron 是 Linux 的 "定时闹钟管家":你告诉它 "每天几点、每周几做什么",它就按时自动执行,不用人盯着。写脚本 + 配 cron = 真正的无人值守自动化。

💡 生活比喻Windows 任务计划像 "手机定闹钟";cron 是 Linux 的闹钟 —— 你设好 "每天早上 8 点备份",它就雷打不动到点响铃(执行任务),你只管睡大觉。

2. crontab 基本命令

 

crontab -e      # 编辑定时任务(第一次会让你选编辑器)
crontab -l      # 查看当前所有定时任务
crontab -r      # 删除所有定时任务(慎用)

 

crontab 是 "管理 cron 任务的工具":-e编辑、-l查看、-r删除。

3. 编辑定时任务:crontab -e

第一次运行 crontab -e,会问用哪个编辑器(通常选 nano 或 vim),然后打开一个空文件,在这里写定时任务:

crontab -e

 

每行写一条任务:格式是 "时间 + 要执行的命令"。

4. 一个最简单的例子

 

# 每天 8:00 执行 backup.sh(第3参数是脚本完整路径)
0 8 * * * /home/user/backup.sh

 

这条的意思:每天 8 点整,执行 /home/user/backup.sh。具体 "0 8 * * *" 五个字段 Day41 细讲,今天先认识结构。

⚠️ 易错提醒

  1. crontab -e 编辑、crontab -l 查看、crontab -r 删除,别记混

  2. crontab -e 里每条任务写 "时间 + 命令完整路径",一行一条

  3. 脚本路径要写绝对路径(如 /home/user/backup.sh),不要用相对路径

⚔️ Kata 实战任务

任务需求:

  1. 用 crontab -l 查看当前有没有定时任务(第一次可能是空的)

  2. 用 crontab -e 打开编辑界面(第一次选编辑器,通常 nano)

  3. 在里面加一条测试任务:每天 8 点执行 echo 写日志(先不追求精确时间,Day41 再学格式)

  4. 保存退出后,用 crontab -l 确认任务已保存

  5. 体会 "定时召唤" 的配置方式

参考代码(在终端依次敲)

 

# 1. 查看当前定时任务
crontab -l

# 2. 编辑定时任务(会打开编辑器)
crontab -e
#   在编辑器里加一行(示例,Day41详解时间格式):
#   0 8 * * * echo "cron 定时任务测试" >> /home/user/cron日志.txt
#   保存退出

# 3. 确认任务已保存
crontab -l

 

运行示例:

 

user@linux:~$ crontab -l
no crontab for user
(第一次:还没有任务)

user@linux:~$ crontab -e
(打开编辑器,加入一行,保存退出)

user@linux:~$ crontab -l
0 8 * * * echo "cron 定时任务测试" >> /home/user/cron日志.txt
(任务已保存,每天8点执行)

 

💡 体会:crontab -e 里写好 "时间 + 命令" 保存后,crontab -l 能看到这条任务。从这一刻起,它会在设定的时间自动执行 —— 定时召唤已经启动。

🧠 思考题

  1. crontab -e、crontab -l、crontab -r 分别做什么?哪个是 "删除"?

  2. 定时任务里 "命令" 为什么要写绝对路径?相对路径在 cron 里会有什么问题?

‹ 返回目录
🏠首页 Python 📦资源 👤关于我