计划任务:让计算机在指定的时间执行指定的事情,计划任务在Linux的体现住在分为at和crontab
at:通过at命令安排任务在某一时刻执行一次,用于调度临时性的一次性的任务
crontab:crontab可以达到at的效果,通过crontab命令,我们可以在固定的间隔时间执行指定的系统指令或shell script脚本(就是shell脚本).时间间隔单位可以是分钟,小时,日,月,周及以上的任意组合.这个命令非常适合周期性的日志分析或数据备份等工作.
查看是否安装 which crontab 我这显示已经安装
安装命令: yum -y install crontabs
检查crontab服务: systemctl status crond 我这显示已经运行1周3天
设置开机自启动 systemctl anable crond
查看在运行的crontab任务 crontab -l
Linux里经常有不同用户
crontab -u root -l 查看root用户的crontab(定时任务)服务
通过crontab添加的计划任务都会存储在/var/spool/cron/ 目录中
cat root 查看root用户的任务文件
crontab -e -u root 编辑root用户的任务文件 这条命令编辑的就是/var/spool/cron/ 存放的用户定时任务
cat /etc/crontab 查看配置文件可得知crontab的详细配置信息 第一个*代表什么 第二个*代表什么
就是 分 时 日 月 周 用户 要执行的任务
简单演示下 需求 每分钟清除 /usr/local/develop/test 目录里所有的.log后缀的文件
crontab -e
* * * * * find /usr/local/develop/test -name "*.log" -type f -exec rm '{}' \;
保存退出
crontab -l 查看
这样 /usr/local/develop/test里的.log文件会被定时清理
如果要删除该定时任务
crontab -e 编辑 把刚才那条命令删掉 保存就行了
或者前面加个 # 号注释掉
也可以
sudo rm /var/spool/cron/root 删除指定用户下的定时任务 /var/spool/cron是所有用户存放定时任务的目录
CronTriger-Cron触发器
Crontab讲解
1、contab
linux 系统由 cron (crond) 这个系统服务来控制的,crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,Linux 系统也提供了使用者控制计划任务的命令 :crontab 命令。
crontab文件的含义:
每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:
minute hour day month week command
其中:
minute: 表示分钟,可以是从0到59之间的任何整数。
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。