一.实践需求
二.分析实践目的
1.atd和croud的区别
关键区别:
atd适合临时性单次任务(如定时执行某个脚本后结束)。crond适合长期周期性任务(如每天备份日志)
2.易错分析
at任务需确保atd服务运行(可通过systemctl is-active atd检查)。crontab中的时间字段顺序为:分钟 小时 日 月 星期。- 备份脚本需处理目录不存在的情况(
mkdir -p的作用)。
三.实践内容
1.at和crond两个任务管理程序的区别
|----------|-----------------------------------------------------------------------|-------------------------------------------------------------------|
| 特性 | atd | crond |
| 任务类型 | 一次性任务(单次执行) | |---------------| | 周期性任务(定时重复执行) | |
| 适用场景 | 临时任务(如系统维护、定时关机) | |-----------------| | 常规任务(如日志轮转、数据备份 | |
| 任务调度 | 通过 at 或 batch 命令提交 | |-------------------| | 通过 crontab 文件配置 | |
| 时间精度 | 支持具体时间点(如 2026-08-30 09:00) | 支持周期表达式(如 * 4 * * *) |
| 任务存储 | 任务保存在 /var/spool/at/ | |--------------------------| | 任务保存在 /var/spool/cron/ | |
| 服务管理 | |----------------------------| | systemctl start/stop atd | | |------------------------------| | systemctl start/stop crond | |
| 日志记录 | |--------------------------------| | 日志在 /var/log/cron(标记为 atd) | | 日志在 /var/log/cron(标记为 CROND) |
at任务管理器
1>首先要下载at命令

2>启动服务

crontd任务管理器
1>首先要下载at命令

2>查看状态

3>crontd的应用
进入编辑页面


2.指定在2026/08/30 09:00将时间写入testmail.txt文件中


3.指定每天凌晨4:00将该时间点之前的日志信息备份到个目录下(/var/log/messages),备份后日志文件名显示格式logfileYY-MM-DD-HH:MM:SS
先测试每一分钟可不可以显示出来




四.实验总结
备份目录权限问题 :如果备份目录没有写入权限,日志备份任务会失败。需要确保执行 crontab 任务的用户对备份目录有写入权限,可通过 chown 和 chmod 命令设置合适的权限
日志文件更新问题 :在备份时,/var/log/messages 文件可能正在被系统写入新的日志信息。为了避免备份不完整或损坏日志文件,可以先对日志文件进行 mv 操作,将其移动到一个临时文件,然后再进行备份操作,最后将新的日志写入移动后的文件。