作用: 计划任务主要是做一些周期性的任务,目前最主要的用途是定期备份数据。
分类:一次性调度执行 at ; 循环调度执行 cron
一、一次性调度执行at 语法
at now +5min 5分钟后执行
at teatime tomorrow (下午4点)下午茶时间执行
at noon +4days 第四天中午执行
at 5pm august 3 2020 2020年8月3日下午5点执行
at 4:00 2019-11-27 某年某月某日某时执行
例如:设置一个定时创建用户的任务:
at now +1min (进入编辑页面)注意是否安装at程序
at> useradd uuuu
at> crtl +d 退出输入
atq 查看任务
检验:tail -10 /etc/passwd (或者id uuuu ) 一分钟后查看是否新增用户uuuu
若无法运行,atd未运行。
检查是否安装at 程序
yum -y install at 安装at 程序
systemctl start atd 重新设置定时任务
二、循环调度执行cron
cron 计时程序,概念和crontab是不可分割的。crontab 是一个命令,常见于Unix和Linux操作系统中,该命令从标准输入设备读取指令,并将其存放于“/etc/crontab”文件中,以供之后读取和执行。
查看进程状态:(crond程序运行是计划任务执行的根本)
systemctl status crond.service
ps aux | grep crond
计划存储位置:ls /var/spool/cron/
语法格式:分 时 日 月 周 命令或脚本程序(六个部分用空格隔开)
0 2 2 6 5 /mysql_back.sh 6月2日的两点整执行 和 6月的周五两点整执行 都执行
00 02 14 2 7 ls 2月每周日2:00整 和 每年2月14号2:00整 都执行
示例:一分钟执行创建文件的计划任务
①准备脚本文件:vim /root/1.sh
编辑输入:/usr/bin/touch /root/date +%F-%H-%M-%S.txt
增加执行权限:chmod +x /root/1.sh
②编写任务计划:crontab -e
编辑输入:* * * * * /root/1.sh
查看创建结果:ls -l /root
也可以继续增加计划任务:crontab -e
编辑输入:*/20 * * * * /root/2.sh 二十分钟创建一个文件
两个程序同时运行,文件名不能重复(可编辑修改文件2.sh 内容)。
创建计划: crontab -e
查询计划: crontab -l
删除计划:crontab -r