Linux计划任务

linux

计划任务

一次性任务计划:at,batch

周期性任务计划:cron

周期性任务计划:cron

依赖于后台服务,查看运行状态:

servicecrondstatus

crond(pid1680)isrunning…表示正在运行

cron任务有两类:

系统cron:/etc/crontab

用户cron:定义在/var/spool/cron/目录中与用户名同名的文件中

linux系统计划任务_任务计划系统找不到指定的文件_linux任务计划

每行定义一个独立的任务:

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/

#Fordetailsseeman4crontabs

#Exampleofjobdefinition:

#.—————-minute(0-59)

#|.————-hour(0-23)

#||.———-dayofmonth(1-31)

#|||.——-month(1-12)ORjan,feb,mar,apr…

#||||.—-dayofweek(0-6)(Sunday=0or7)ORsun,mon,tue,wed,thu,fri,sat

#|||||

#*****user-namecommandtobeexecuted

时间点(周期性任务)

user-name:用户身分

command:要运行的任务

注意:建议在定义cron任务时,所用到的命令使用绝对路径;假如脚本,脚本中的命令使用绝对路径,或自定一个拥有完整路径的环境变量;

时间

分钟小时天月周几

注意:天月和周几通常不同时设置,由于所有时间点要同时满足

每年5月4号3点2分:2345*

每月6号18点20分:20186**

每晚9点20分:209***

每小时的3分时:3****

每分钟:*****

每周三17点16分:1617**3

任务计划系统找不到指定的文件_linux任务计划_linux系统计划任务

时间表示法:每位时间位都应当使用其可用的有效取值范围内的值;*就用于表示使用其所有有效取值;

17****/bin/echo”howdy”每小时的17分时执行一次

89***/bin/echo”howdy”每晚的09:08执行

1617**3/bin/echo”howdy”每周三的17:16执行

*/#:在对应的时间位有效取值上每#个时间单位一次

*/3****/bin/echo”howdy”每晚每三分钟一次

9*/3***/bin/echo”howdy”每3小时的09分时一次

*/7****/bin/echo”howdy”

注意:并不能精确做到每7分钟一次;

连续时间点:-

403**1-5/bin/echo”howdy”每周1-5的3:40执行

离散时间点:,

linux任务计划_任务计划系统找不到指定的文件_linux系统计划任务

302**2,4,6/bin/echo”howdy”每周的2,4,6的2:30执行任务运行后的结果:短信发送给任务相关用户;

遗弃电邮通知:输出重定向

COMMAND>/dev/null

COMMAND&>/dev/null

COMMAND>/dev/null2>&1

例:302**2,4,6/bin/echo”howdy”&>/dev/null

/dev/null:软件模拟出的设备,bitbucket,数据黑洞;

crontab命令

crontab命令:

-l:列举早已定义的所有任务;

-e:打开编辑界面定义任务;

-r:remove,移除所有任务;

-uUSERNAME:root以其他用户的身分运行crontab

linux系统计划任务_linux任务计划_任务计划系统找不到指定的文件

-l:列举早已定义的所有任务;

-e:打开编辑界面定义任务;

-r:remove,移除所有任务;

crontab会检测句型,并保存在/var/spool/cron/用户名目录中

注意:删掉一个任务应当通过编辑界面删掉行实现;

注意:假如crontab中的用户命令中须要使用%时,须要对其进行通配符:

*****/bin/touchfile-$(date+%F-%H-%M-%S)

*****/bin/touchfile-$(date+'%F-%H-%M-%S')

加锁

当不确定一个cron任务是否会在下一次执行是执行完本次任务linux系统计划任务linux设置环境变量linux命令ls,可以考虑用加锁的机制不重复执行linux系统计划任务,而是执行完一次后在进行下一次。

例:

*/20****flock-xn/tmp/room_delete.lock-c'cd/www/;phproom_delete.php>/dev/null'

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复