计划任务
周期性计划任务crontab:
安装yum -y install crontabs
启动systemctl start crond
crontab -l #查看当前用户有什么任务
crontab -u bin -l #查看 bin 用户的计划任务
crontab -e #为当前用户写计划任务
crontab -u bin -e #为 bin 用户写计划任务
#一般centos默认装有
vi /etc/crontab
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
参考
*/30 * * * root /usr/local/mycommand.sh
#每天,每30分钟执行一次 mycommand命令
* 3 * * * root /usr/local/mycommand.sh
#每天凌晨三点,执行命令脚本,这里由于第一个的分钟没有设置,那么就会每天凌晨3点的每分钟都执行一次命令
0 3 * * * root /usr/local/mycommand.sh
(这样就是每天凌晨三点整执行一次命令脚本)
*/10 11-13 * * * root /usr/local/mycommand.sh
(每天11点到13点之间,每10分钟执行一次命令脚本,这一种用法也很常用)
10-30 * * * * root /usr/local/mycommand.sh
(每小时的10-30分钟,每分钟执行一次命令脚本,共执行20次)
10,30 * * * * * root /usr/local/mycommand.sh
(每小时的10,30分钟,分别执行一次命令脚本,共执行2次)
一次性计划任务at:
安装yum -y install at
启动systemctl start atd
绝对计时法:
[root@localhost html]# at 10:00 <==在 10:00 执行
at> mkdir /root/123456789 执行什么操作
at> <==按下Ctrl + D 退出
相对计时法:
at 20:00 2020-10-1 #在某一天
at now + 10min #在10分钟后执行
at 17:00 tomorrow #在明天 17:00 执行
at 6:00 pm 3+days #在 3 天后下午 6 点执行
查看和删除
[root@localhost html]# at -l <==查看还没执行计划任务
1 Fri Jun 26 10:00:00 2020 a root
[root@localhost html]# atrm 2 <==atrm 任务编号 删除计划任务
任务编号 | 执行时间 | 队列 | 执行者 |
---|---|---|---|
1 | Fri Jun 26 10:00:00 2020 | a | root |