linux计划任务

一次性计划任务

yum install at -y

启动服务

/etc/init.d/atd start

 

执行:

指定执行时间  at 4:30

ctrl+d 完成编辑

 

查看执行任务 at -l

 

指定时间的方式有很多,详情可以man at 查看:

at 3:30pm apr 26

at 5:08pm 2016-03-16

这些任务都存放在/var/spool/at/这个文件夹中

删除计划任务

atrm 7 删除工作号为7的任务


 

 

循环计划任务

安装

yum install crotabs -y

启动

/etc/init.d/crond start

编辑计划任务(e:edit  u 指定用户,没有u默认给root指定计划任务)

crontab -e

crontab -e -u itliucheng

 

时间和动作

时间顺序不能乱:分 小时 日 月 周

5 18 20 5 * 代表五月20号18时5分,之所以不写周,是不能确定20号是周几,所以日和周只写一个就行,另一个写*

 

每五分钟执行一次:  */5 * * * *

每小时的1~5和9~20分钟,每分钟执行一次:1-5,9-20 * * * *

每小时的第一第八第十分钟各执行一次:1,8,10 * * * *

动作:

*/1 * * * *    touch /test/job_`date   +%y%m%d%H%M%S`.txt

编辑的动作:同名的文件只能建一次,所以文件名上加上时间   date的执行要用``,因为date的值是 Wed Mar 16 05:56:27 EDT 2016

所以要格式化一下

上述计划任务代表每分钟新建一个文件,但是事实上他并没有新建,我们查看一下日志:

tail -f /var/log/cron

可以看出他只执行了一半,文件名太长了,后边的没有执行,这个时候我们可以把这个任务写到一个脚本文件中,然后执行这个脚本文件

改为执行/tmp/cron.sh文件

然后编辑这个文件

脚本文件第一行:#!/bin/bash固定

 

在查看日志,发现能正常执行了

 

查看任务:crontab -l

这些任务都放在 /var/spool/cron中

当系统无故死机再开启的时候,有个系统文件anacron会检测当前时间和任务时间,然后准备执行要执行的任务

------------------------------------

其实系统自身也带有计划任务

daily是系统每天都会执行的,同理还有hourly monthly weekly

 


 

 计划任务的用户控制

 

at.allow

at.deny

cron.allow

cron.deny

写在allow中的用户名允许实行计划任务,deny的用户不允许执行,allow和deny只写一个就行,因为有allow文件后就不会去检查deny

 

 

posted on 2016-03-16 19:32  itliucheng  阅读(298)  评论(0编辑  收藏  举报