在Linux系统中,atd和crond都用于任务调度的进程,主要区别是任务的执行频率
atd:单一执行的例行性任务(是在指定的时间只能执行一次任务)
crond:循环执行的例行性任务(可以循环重复的执行定时任务)
| 对比项 | atd (对应at命令) | crond (对应crontab命令) |
|---|---|---|
| 任务性质 | 一次性任务(仅在未来某个时间点执行一次) | 周期性任务(按固定频率重复执行,如每天、每周) |
| 适用场景 | 临时需求,如“今晚11点自动关机”、“5分钟后发一封邮件” | 长期规律需求,如“每天凌晨备份数据库”、“每5分钟检查一次服务状态” |
| 配置方式 | 直接使用at命令指定具体时间 | 编辑crontab文件,使用严格的“分 时 日 月 周”格式 |
| 任务生命周期 | 任务执行完毕后自动从队列中删除 | 任务规则会长期保存,直到被手动删除 |
| 服务依赖 | 需确保atd服务已启动 | 需确保crond服务已启动 |
定时任务1:指定在2026年/08/30 09:00 将时间写入到testmail.txt文件中
定时任务2:指定每天凌晨4点,将该时间点之前的日志备份到指定目录下,备份后日志文件名显示格式log fileYY-MM-DD-HH:MM:SS