简介:

作用:

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

分类:

一次性调度执行:at
Schedule one-time tasks with at.
循环调度执行:cron
Schedule recurring jobs with cron.

一次性调度执行 at:

语法格式

at

示例:

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

例1
初识一次性任务计划
1.设置一个定时创建用户的任务
at now +1min
at> useradd uuuu
CTRL+D输入完毕提交任务
linux之计划任务
linux之计划任务
查询任务
atq
linux之计划任务
验证结果:
id uuu
linux之计划任务

循环调度执行 cron

简介:

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

查看进程状态

systemctl status crond.service
linux之计划任务_第1张图片
ps aux |grep crond
linux之计划任务_第2张图片
crond程序运行是计划任务执行的根本

cron示例

管理方式

创建计划:"crontab -e"
查询计划:"crontab -l"
管理员可以使用 -u username,去管理其他用户的计划任务
删除计划:"crontab -r"

计划任务存储位置:ls /var/spool/cron/

linux之计划任务

语法格式 Job format

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

示例1:

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

示例

目的:每个一分钟执行创建文件的计划任务

步骤:

1.准备创建脚本文件
vim /root/1.sh
输入以下内容
/usr/bin/touch /root/date +%F-%H-%M-%S.txt
linux之计划任务_第3张图片
chmod +x /root/1.sh
linux之计划任务
2.编写任务计划
crontab -e
linux之计划任务_第4张图片
3.查看创建结果
ls -l /root/
linux之计划任务_第5张图片