linux定时器怎么写
linux定时器怎么写详细介绍
在 Linux 下实现定时器有多种方式,以下是三种常见场景的完整实现方案,包含可直接运行的独立代码:
一、Shell 脚本循环定时器(简单任务)
适合需要持续运行的轻量级任务(如日志监控),支持优雅终止:
bash
INT
+ 执行任务..."
"
使用方式:
- 保存为
timer.sh,chmod +x timer.sh - 运行:
./timer.sh
二、Python 后台定时器(程序内集成)
适合需要在 Python 程序中后台运行的定时器(支持单次 / 循环任务):
V1
功能特点:
- 支持动态停止(
timer.stop()) - 后台线程运行,不阻塞主程序
- 输出示例:plaintext
任务执行:14:23:01任务执行:14:23:04
任务执行:14:23:07
^C
定时器已停止
三、系统级定时任务(cron 计划任务)
适合需要长期运行的周期性任务(如每日备份):
- 编辑 cron 配置:
crontab -e - 添加规则(示例):bash
* * * * /usr/bin/bash /path/to/your_script.sh
* * * /usr/bin/python3 /path/to/your_script.py
* * /usr/bin/rsync /data /backup
- 保存生效:按
Ctrl+O保存,Ctrl+X退出
cron 表达式说明:分 时 日 月 周 命令
(* 代表任意值,/5 代表每 5 个单位,, 代表多个值,如 0,30 * * * * 表示每小时 0 分和 30 分)
选择建议
- 临时测试:Shell 脚本(方案一)
- 程序集成:Python 定时器(方案二,可嵌入项目)
- 长期任务:cron 计划任务(方案三,系统级守护)
如果需要更复杂的定时器(如带参数、日志记录),可以基于方案二扩展,或使用 systemd timer 实现系统级服务管理。