博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
crontab-at
阅读量:5953 次
发布时间:2019-06-19

本文共 2600 字,大约阅读时间需要 8 分钟。

linux任务计划,周期性的任务执行

未来的某个时间点执行一次任务:at,batch

周期性的运行某个任务:cron

电子邮件服务:

smtp:simple mail transmission protocol,用于传输邮件:

pop3:post office protocol 

imap4:Internet mail access protocol 

mailx -send and receive internetl mail

mailx -s "hi" root

at命令

at 17:10

输入要定时执行的命令后输入ctrl+d完成

time

HH:MM

noon,midnight,teatime

tomorrow

now+#{minutes,hours,days,OR weeks}

at now+3minutes

at -l或者atq等待运行的作业

at -d 1删除作业

atrm 1删除作业

at -c 1具体的作业任务

-f /path/from/somefile.指定文件中读取任务

batch命令

让系统自动选择空闲时间去执行指定的任务;

周期性任务计划:

相关程序包:

cronie:主程序,提供crod进程及相关辅助工具

cronie-anacron:用于监控任务执行状况:如果任务没有在指定的时间点运行,则anacron会在随后启动一次此任务

crontabs:包含了Centos提供系统维护任务;

确保crond已经启动

centos7:systemctl status crond

centos6:service crond status

计划要周期性执行的任务需要提交给crond,由其来实现到点运行。

系统cron任务:

/etc/crontab

用户cron任务:

crontab命令

# For details see man 4 crontabs

# Example of job definition:

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

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

# |  |  .---------- day of month (1 - 31)

# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...

# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat

# |  |  |  |  |

# *  *  *  *  * user-name command to be executed

例子:晚上9点10分运行echo命令

10 21 * * * root /bin/echo "hi"

时间表示法:

(1)特定值:

给定时间点有效范围内的值;

(2)*

给定时间点上有效取值范围内的所有值;

表示“每。。。”

(3)离散取值:,

#,#,#

(4)连续取值:-

#-#

(5)在指定时间范围上,定义步长:

/#:#为步长

*/3

没3小时echo命令

0 */3 * * * root /bin/echo "hi"

用户cron:

crontab命令定义,每个用户都有专用的cron任务文件:/var/spool/cron/username

crontab -e 编辑任务

crontab -l 列出任务

crontab -r 移除所有任务

crontab -i 交互式模式让用户有选择的移除任务

crontab -u user :仅root可以运行,代为为指定用户管理cron任务

crontab -u oracel -e 

加任务:

 crontab -e   

 0 */1 * * * command   

 0 */2 * * * command 

 查询任务是否加了:   

 crontab -l   

 0 */1 * * * command   

 0 */2 * * * command   

 基本格式 : 

 *  *  *  *  *  command

 分 时 日 月 周 命令 

 第1列表示分钟1~59 每分钟用*或者 */1表示 

 第2列表示小时1~23(0表示0点) 

 第3列表示日期1~31 

 第4列表示月份1~12 

 第5列标识号星期0~6(0表示星期天) 

 第6列要运行的命令 

 crontab文件的一些例子: 

 30 21 * * * /usr/local/etc/rc.d/lighttpd restart 

 上面的例子表示每晚的21:30重启apache。 

 45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart 

 上面的例子表示每月1、10、22日的4 : 45重启apache。 

 10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart 

 上面的例子表示每周六、周日的1 : 10重启apache。 

 0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart 

 上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。 

 0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart 

 上面的例子表示每星期六的11 : 00 pm重启apache。 

 * */1 * * * /usr/local/etc/rc.d/lighttpd restart 

 每一小时重启apache 

 * 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart 

 晚上11点到早上7点之间,每隔一小时重启apache 

 0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart 

 每月的4号与每周一到周三的11点重启apache 

 0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart 

 一月一号的4点重启apache

     本文转自阿伦艾弗森 51CTO博客,原文链接:http://blog.51cto.com/perper/1953397,如需转载请自行联系原作者
你可能感兴趣的文章
长连接、短连接、长轮询和WebSocket
查看>>
day30 模拟ssh远程执行命令
查看>>
做错的题目——给Array附加属性
查看>>
Url.Action取消字符转义
查看>>
JQuery选择器大全
查看>>
Gamma阶段第三次scrum meeting
查看>>
python3之装饰器修复技术@wraps
查看>>
[考试]20150606
查看>>
Javascript_备忘录5
查看>>
Can’t create handler inside thread that has not called Looper.prepare()
查看>>
敏捷开发方法综述
查看>>
Hadoop数据操作系统YARN全解析
查看>>
修改数据库的兼容级别
查看>>
Windows下同时安装两个版本Jdk
查看>>
uoj#228. 基础数据结构练习题(线段树)
查看>>
JS键盘事件监听
查看>>
ios开发周期之--(向上,向下,四舍五入)取整
查看>>
加油!
查看>>
拦截导弹问题(动态规划)
查看>>
iOS 单元测试(Unit Test 和 UI Test)
查看>>