Linux crontab 自动定时执行命令学习
来源:互联网 发布:java 日历选择控件 编辑:程序博客网 时间:2024/05/17 09:19
Crontab简介
WIKI:crontab
命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语 chronos(χρόνος),原意是时间。
通常,crontab
储存的指令被守护进程激活,crond
常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。
crontab文件包含送交cron守护进程的一系列作业和指令。每个用户可以拥有自己的crontab文件;同时,操作系统保存一个针对整个系统的crontab文件,该文件通常存放于/etc或者/etc之下的子目录中,而这个文件只能由系统管理员来修改。
crontab文件的每一行均遵守特定的格式,由空格或tab分隔为数个领域,每个领域可以放置单一或多个数值。
命令行结构
crontab [-u user] [file]
用指定的file代替某个用户目前的crontab文件,如果没有指定file,则接受标准输入(键盘)上键入的命令,并将他们加入到crontab目录下。
crontab [-u user] [-i] [-l | -e | -r]
-i 在删除某个用户crontab文件时提示确认信息(是/否)
-l 列出某个用户的crontab文件
-e 编辑某个用户的crontab文件
-r 删除 某个用户的crontab文件
例子:
sudo crontab -u buzhidao -l
打印用户buzhidao的crontab文件
sudo crontab -u buzhidao -e
打开并编辑用户buzhidao的crontab文件
sudo crontab -u buzhidao -i -r
提示你是否确认删除某个用户的crontab文件
crontab文件的内容命令格式
# 文件格式说明# ——分钟 (0 - 59)# | ——小时 (0 - 23)# | | ——日 (1 - 31)# | | | ——月 (1 - 12)# | | | | ——星期 (0 - 7)(星期日=0或7)# | | | | |# * * * * * 被执行的命令(cmd)注意:对于星期域,0和7都表示星期日,如果同时指定了日和星期,则如果其中任一条件满足,执行指令即被执行
操作符号
对于crontab文件的内容,每个 区域同时支持多个数值
1、用逗号‘,’分开多个值,例如3月、5月、8月、9月可以表示为3,5,8,9
2、用连接符'-'指定值的范围,例如1-6可以表示1,2,3,4,5,6
3、用*表示所有值,例如在小时域里的*代表每一个小时
例子:
0 1 * * 0-6 /usr/local/nginx/sbin/nginx -s reload
每天的凌晨1点重启nginx服务
0 */2 * * 0 /usr/local/nginx/sbin/nginx -s reload
周日每隔2小时重启nginx服务
0 1 * * 0,5 /usr/local/nginx/sbin/nginx -s reload
每周的周五、周日凌晨1点重启nginx服务
0,30 1-3 1 * * /usr/local/nginx/sbin/nginx -s reload
每月1日的凌晨1到3点,每隔30分钟重启nginx一次
0 23 8 5 * /usr/local/nginx/sbin/nginx -s reload
5月8日的晚上23点重启nginx服务
具体使用过程
下面以每隔10分钟自动重启nginx服务作为测试例子
系统:ubuntu11.10
#检查crontab是否启动$service cron status#打印root用户的crontab文件内容$sudo crontab -u root -l#打开并编辑root用户的crontab文件$sudo crontab -u root -e#默认用vi打开,加入以下命令 */10 * * * * /usr/local/nginx/sbin/nginx -s reload 保存并退出$sudo crontab -u root -l可以看到我们新加入的命令已经被载入,crontab进程会自动重新加载crontab文件
然后
#查看nginx进程运行状况$ps -aux | grep nginx通过输出的nginx的启动时间,可以看到我们设置的crontab命令已经起作用
- Linux crontab 自动定时执行命令学习
- linux crontab定时执行命令
- Linux的crontab命令执行定时任务
- Linux命令之crontab定时任务执行
- linux crontab 定时执行计划命令
- crontab命令 :Linux下定时执行脚本
- linux命令之crontab定时执行任务
- linux命令之crontab定时执行任务
- crontab定时执行命令
- crontab定时执行命令
- 定时执行命令Crontab
- linux定时执行crontab
- Linux crontab定时执行
- Linux命令crontab定时计划学习
- 定时执行spark-submit命令--Linux中使用crontab命令
- linux crontab 定时命令
- Linux--定时命令crontab
- Linux中的定时自动执行功能(at,crontab)
- Android layout_weight属性
- MFC消息映射机制
- Hibernate的检索方式(一)
- 江西移动BOSS异地联机热备份应用--案例
- c#——转义符"\""
- Linux crontab 自动定时执行命令学习
- LinkedHashMap 的介绍
- 更新引发的问题
- 通过本地上传工具把CSV文件导入到百会报表
- Hibernate的检索方式(二)
- Hibernate的检索方式(三)
- MVVM :How to select multiple items in listbox
- 怎样做才能成为程序员高手
- 查询Oracle当前登录用户的所有权限