Linux操作系统之创建计划任务

一、简介

 计划任务作用:计划任务主要是做一些周期性的任务。目前最主要的用途是定期备份数据。

分类:

1、一次性调度执行 at 

2、循环调度执行  cron

二、一次性调度at

语法格式: 

at  <TIMESPEC>

<TIMESPEC>示例

now +5min    5分钟后
teatime tomorrow (teatime is 16:00)   下午茶时间  
noon +4 days    第四天中午
5pm august 3 2029    2020年8月3日下午5点
4:00 2019-11-27    某年某月某日某时

示例:

1、设置一个定时创建用户的任务

at  now  +2min

 ps  :有的时候,输入at回车发现不能成功运行。这时候就需要使用 systemctl start atd 这个命令刷新一下,就能成功运行了~~

 2、查询任务

atq      

3、验证结果

id u1u1

三、循环调度执行cron

1、简介

cron的概念和crontab是不可分割的,crontab是一个命令,常见于Unix和Linux的操作系统之中,用于设置周期性被执行的指令,该命令从标准输入设备读取指令,并将其存放于“/etc/crontab”文件中,以供之后读取和执行。

2、查看进程状态

syetemctl  status  crond.service

systemctl  start  crond    (启动cron程序,d为进程的含义)

systemctl  stop  crond  (停止程序)

systemctl  disable  crond  (开机禁用)

systemctl  enable  crond  (开机启用)

ps aux |grep  cron    (查看cron的进程信息)

3、cron示例

管理方式

①  创建计划

crontab  -e

 

② 查询计划

crontab  -l

 

③ 删除计划

crontab  -r

 

2、计划任务存储位置

ls  /var/spool/cron/

4、语法格式 job format

# .---------------- 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
# | |  |  | |
# * * * * * command

说明:分 时 日 月 周   命令或脚本程序     (六个部分全用空格隔开)

示例:

0 * * * * /mysql_back.sh    每小时的0分执行
*/5 * * * * /mysql_back.sh   每五分钟执行
0 2 1,4,6 * * /mysql_back.sh  每月的1,4,6日的2点整执行
0 2 5-9 * * /mysql_back.sh   每月5日到9日的两点整执行
* * * * * /mysql_back.sh   每分钟执行
0 2 * * * /mysql_back.sh   每天两点整执行
0 2 14 * * /mysql_back.sh    每月14号的2点整执行
0 2 14 2 * /mysql_back.sh    2月14日2点整执行
0 2 * * 5 /mysql_back.sh    不写月日,仅周生效    每月的周五,两点执行
0 2 2 6 5 /mysql_back.sh  书写月和日,月或日,月日周均生效    6月2日的两点整执行  6月的周五两点整执行

00 02 * * * ls    每天2:00整
00 02 1 * * ls    每月1号2:00整
00 02 14 2 * ls    每年2月14号2:00整
00 02 * * 7 ls    每周日2:00整
00 02 * 6 5 ls    每年6月的周五2:00整  (特殊)
00 02 14 * 7 ls    每月14号2:00整    每周日2:00整    这两个时间都执行
00 02 14 2 7 ls   每年2月14号2:00整    2月每周日2:00整    这两个时间都执行

猜你喜欢

转载自blog.csdn.net/yiweii/article/details/107814656