一次性计划任务
安装 at
yum install at
启动服务
systemctl start atd
添加任务
[root@linux /]# at 23:55
at> echo "Hello world">at
at> <EOT> #这里退出按ctl+d就会显示 <EOT>
job 12 at Mon Oct 5 23:55:00 2020
查看任务列表
at -l #查看
at -c 12 #详细查看
删除任务
at -d 12
atrm 8
执行程序的准确时间
at 00:00 01/01/2021
执行定时任务
at now +10 minuter #十分钟后执行
minutes #表示 分钟
hours #表示 小时
days #表示 天
weeks #表示 星期
months #表示 月
years #表示 年
黑白名单
/etc/at.deny #黑名单,当只有这个文件存在,里面的填写的用户名表示不能配置at
当/etc/at.allow文件存在时 /etc/at.deny文件失效,只有写在allow中的用户才能配置at #白名单
当/etc/at.allow及/etc/at.deny都不存在时,仅有root才能配置at
Crontab周期性计划任务
显示crontab文件
crontab -l
crontab -l -u 用户名
编辑crontab文件
crontab -e
crontab -e -u 用户名
删除crontab文件
crontab -r
crontab -r -u 用户名
crontab文件格式
#有5个参数
分 时 日 月 周 命令
第1列表示分钟1-59 #每分钟用*或者 */1表示
第2列表示小时1-23 #0表示0点
第3列表示日期1-31
第4列表示月份1-12
第5列标识号星期0~6 #0表示星期天
第6列要运行的命令
#特殊的符号
"*" #代表取值范围内的数字
"/" #代表 每
"-" #代表从某个数字到某个数字
"," #分开几个离散的数字
crontab文件的一些例子
0 8 * * * /bin/bash /bf.sh #每天晚上8:00执行脚本
0 3 1,10,30 * * /bin/bash /bf.sh #每个月的1,10,30日凌晨3:00执行脚本
0 3 * * 6,0 /bin/bash /bf.sh #每周六,周日的凌晨3:00执行脚本
0 8-20/1 * * * /bin/bash /bf.sh #每天早上8:00到20:00每隔一个小时执行脚本
*/30 * * * * /usr/sbin/ntpdate 120.25.115.20 #每隔半小时同步时间
重启crontab
#每次修改完crontab都需要重启服务才能生效
systemctl restart crond #重启
systemctl reload crond #重载