网络服务(第一次作业)
1.atd和crond两个任务管理器程序的区别
a.性质不同
atd:用于执行一次性定时任务,只在指定的未来时间点执行一次任务,完成后不在重复。
crond:用于执行周期性重复任务,可以按照分钟,小时,日,周,月等周期来循环执行任务。
b.使用场景不同
atd适合临时的,只需要执行一次的任务,例如"明天上午10点运行一次数据备份脚本"。
crond适合需要定期重复的任务,例如"每天凌晨3点清理日志文件","每周五下午5点生成报表"。
c.配置方式不同
atd通过at命令设置任务,如at 10:00 tomorrow -f script.sh。
crond通过crontab命令编辑任务表,使用特定的时间格式(分 时 日 月 周,日和周不能同时输入)定义执行周期。
d.运行机制不同
atd服务会在后台监听,当到达指定时间就执行对应的任务,任务完成后即结束。
crond服务会周期性检查任务表,只要到了设定的周期时间就会执行相应任务,循环执行。
2.指定在2025/08/15 9:00 将时间写入testmail.txt文件中
a.使用echo语句把日期写入到testmail.txt中并且使用管道符在2025-08-15 09:00执行
[root@master /]# echo "date > testmail.txt" | at 9:00 2025-08-15
warning: commands will be executed using /bin/sh
job 1 at Fri Aug 15 09:00:00 2025
b.查看执行任务
[root@master /]# at -l
1 Fri Aug 15 09:00:00 2025 a root
3.指定每天凌晨4:00将该时间点之前的日志信息备份到个目录下(/var/log/messages),备份后日志文件名显示格式logfileYY-MM-DD-HH:MM:SS
a.先创建一个/jeams目录,用于存放备份后的日志文件
[root@master ~]# mkdir /jeams
b.编辑/etc/crontab文件并且在最后另起一行写入以下命令
0 4 * * * root /bin/cp /var/log/messages /jeams/logfile`date +\%y-\%m-\%d-\%H:\%M:\%S`