RHCE 列行性任务

1.atd 与 crond 的区别

atd是单次任务 不会循环执行 

crond是循环任务 每到这个时间节点就会执行一次

2. 由于是单次执行的任务 我们使用at命令来执行 

时间格式是 hh:mm yyyy-MM-dd 我们使用

at 9:00 2023-4-15 发现 at: refusing to create job destined in the past

拒绝创造一个在过去发生的工作 所以我们修改一下 设为2024年4月15日九点

注意 在at中使用的命令最好是绝对路径

[root@server conf.d]# at 9:00 2024-4-15
warning: commands will be executed using /bin/sh
at> date >>/testmail.txt 
job 1 at Mon Apr 15 09:00:00 2024

atq查看at任务列表

[root@server ~]# atq
1    Mon Apr 15 09:00:00 2024 a root
 

3.crontab 可以实现循环任务 

可以写入到配置文件 也可以corntab -e 编辑添加 时间格式是 分 时 日 月 周

date命令显示时间按照指定格式是 date +%Y(年)%m(月)%d(日)%H(时)%M(分)%s(秒)

[root@server conf.d]# crontab -e
no crontab for root - using an empty one
0 4 * * * cp /var/log/messages /backup/logfile`date +\%Y-\%m-\%d-\%H-\%M`
                                                                                

其中 用反引号扩起来的部分 被视为命令部分 但由于百分号会被识别成空格 我们需要用转义字符反斜杠转义 配置完后记得重启服务

[root@server ~]# systemctl restart crond

[root@server ~]# crontab -l
0 4 * * * cp /var/log/messages /backup/logfile`date +\%Y-\%m-\%d-\%H-\%M`

crontab -l 查看任务

posted @ 2023-10-07 14:01  f0r9  阅读(8)  评论(0编辑  收藏  举报  来源