一.简介
作用:计划任务主要是周期性的任务。目前最主要的用途是定期备份数据。
分类:
==一次性调度执行==
Schedule one-time tasks with at.
==循环调度执行 cron
Schedule recurring jobs with cron.
二.一次性调度执行 at
==语法格式==
at
示例
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.设置一个定时创建用户的任务
[root@localhost ~]# at now +1min
at> useradd uuuu
at>
CTRL+D输入完毕,提交任务
job 1 at Sat Mar 21 22:34:00 2019
2.查询任务
命令:atq
3.检验结果
命令: id uuuu 查看用户id
三.循环调度执行cron
简介
cron的概念和crontab是不可分割的。
crontab是一个命令,常见于Unix和Linux的操作系统之中
用于设置周期性被执行的指令。
该命令从标准输入设备读取指令,并将其存放于“/etc/crontab”文件中,以供之后读取和执行。
查看进程状态
[root@localhost ~]# systemctl status crond(.service) 一般可以省略括号内描述
[root@localhost ~]# ps aux |grep crond
root 550 0.0 0.0 126300 1648 ? Ss 10:05 0:00 /usr/sbin/crond -n
crond程序运行是计划任务执行的根本
图示中的这些都是可以设定的 例如以下命令
systemctl stop crond
活越运行状态 active(running) 活跃,运行------>inactive(daed)不活跃,死掉
systemctl start crond
活越运行状态 inactive(daed) ------>active(running)
systemctl disable crond
启动模式:(开机自启)enabled------>disable(开机禁用)
cron示例
==管理方式==
1.创建计划
命令:crontab -e
Edit jobs for the current user 为本用户编辑工作
计入vim编译器模式
为命令设置执行时间(下有详解)
计入vim编译器模式
2.查询计划
crontab -l
List the jobs for the current user
管理员可以使用 -u username, 去管理其他用户的计划任务
3.删除计划
crontab -r
Remove all jobs for the current users.
==计划任务存储位置==
[root@localhost ~]# ls /var/spool/cron/
==语法格式 job format==
1. 说明
分 时 日 月 周 命令或脚本程序 六个部分用空格隔开
2. 示例1
3. 示例2
==示例==
1.目的
每个分钟执行创建文件的计划任务
2.步骤
本次实验完成自动创建文件的计划任务
--准备创建脚本文件--
# vim /root/1.sh
在root下创建一个 1.sh的编译器作为计划任务的脚本文件
编译器里输入以下内容
/usr/bin/touch /root/`date +%F-%H-%M-%S`.txt
chmod +x /root/1.sh
/usr/bin/touch 输入创建命令绝对路径
/root/ 创建文件的路径
`date +%F-%H-%M-%S`.txt 文件名称 ` ` 此符号优先运行里面的命令,设置成每秒刷新一次。再次作为文件名称。
chmod +x /root/1.sh为此脚本文件附上 执行权限
--编写 任务计划--
#crontab -e
输入以下内容 (每分钟执行一次1.sh脚本)
* * * * * /root/1.sh
--查看创建结果--
ls -l /root/