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 查看任务