Linux 任务调度实战:atd 与 crond 工具的区别及应用案例详解

1.atd和crond两个任务管理程序的区别

工具功能特性适用场景服务名称
atd仅执行一次性任务,在指定的未来时间点运行一次后自动结束临时定时任务(如凌晨 2 点执行一次数据同步)atd(需启动服务)
crond执行周期性任务,按预设规则(每分、每时、每天等)重复运行规律性任务(如每日备份日志、每周清理垃圾文件)crond(系统默认启动)

注意:使用atd前需确保atd服务已启动(systemctl start atd),而crond服务通常默认启动,可通过systemctl status crond验证状态。


2.指定在2024/04/15 09:00将时间写入testmai.txt文件中

(1)检查 atd 服务状态
若服务未启动,需先启动:

systemctl start atd  # 启动atd服务  
systemctl enable atd  # 设置开机自启(可选)  

(2)创建定时任务
使用at命令定义任务执行时间和内容:

[root@master ~]# echo date > /root/testmai.txt | at 09:00 08/15/2025
warning: commands will be executed using /bin/sh
job 1 at Fri Aug 15 09:00:00 2025
Can't open /var/run/atd.pid to signal atd. No atd running?
[root@master ~]# atq   # 输出任务ID、执行时间和所有者
1	Fri Aug 15 09:00:00 2025 a root

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

(1)编辑系统级 crontab 配置文件

[root@master ~]# vim /etc/crontab

#在其中编写
0 4 * * * root /bin/cp /var/log/messages /var/log/logfile$(date +\%y-\%m-\%d-\%H:\%M:\%S)

(2)保存文件后,重启crond服务使配置生效:

systemctl restart crond  # 重启服务  
systemctl enable crond  # 确保开机自启(可选)  

总结:

atdcrond是 Linux 任务调度的利器,分别适用于一次性和周期性场景。通过本文案例,读者可掌握工具的核心用法,实现系统任务自动化,减少重复操作。实际应用中,可根据需求扩展任务类型(如定时压缩文件、发送邮件提醒等),进一步提升运维效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值