一.atd和crond两个任务管理程序的区别
atd和crond都是常见的任务管理程序,但它们在功能和用途上有一些区别。
1. atd:
- atd是一个在指定时间运行一次任务的守护进程。
- 用户可以使用at命令将任务提交给atd,指定任务执行的具体时间。
- 任务可以是一次性的,也可以是定期执行的。
- atd适合管理一次性或定时任务,如备份、系统维护等。2. crond:
- crond是一个周期性运行任务的守护进程。
- 用户可以使用crontab命令编辑和管理crond的配置文件(叫做crontab文件),其中指定了任务的执行时间和频率。
- crond根据crontab文件中的设定,周期性地运行相应的任务。
- 任务可设置为每分钟、每小时、每天、每周或每月运行,非常灵活。
- crond适合管理需要定期执行的任务,如日志清理、定时脚本等。总结:
- atd和crond都是任务管理程序,但atd适合管理一次性或定时任务,而crond适合管理周期性任务。
- atd使用at命令提交任务,而crond使用crontab文件指定任务。
- atd运行一次性或定时任务,而crond按照设定的频率周期性地运行任务。
二. 指定在2023/04/15 09: 00将时间写入testmail.txt文件中
echo "date > testmail.txt" | at 09:00 2023-04-15
三.指定每天凌晨4: 00将该时间点之前的日志信息备份到个目录下 (/ar/lg/messages ),备份后日志文件名显示格式logfileYY-MM-DD HH-MM
要实现这个需求,可以使用crontab来设置一个定时任务,在每天凌晨4点执行备份操作。
首先,打开终端并运行以下命令来编辑crontab文件:
crontab -e在文件的末尾添加如上代码
解释一下这个命令:
0 4 * * *` 表示在每天的凌晨4点执行
cp /var/log/messages /ar/lg/logfile$(date +\%y-\%m-\%d\ \%H-\%M)` 是备份命令,它将/var/log/messages`文件复制到/ar/lg目录下,并命名为类似 logfileYY-MM-DD HH-MM的格式。(`$(date +\%y-\%m-\%d\ \%H-\%M)`将以当前日期和时间格式化)保存并关闭文件。
这样,每天凌晨4点,日志文件将被复制到`/ar/lg`目录下,文件名将是类似 logfileYY-MM-DD HH-MM的格式。