一次性计划任务

安装 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  #重载
最后修改:2020 年 10 月 06 日
如果觉得我的文章对你有用,请随意赞赏