Linux中的cron计划任务配置详解
cron来源于希腊单词chronos(意为“时间”),指Linux系统下一个自动执行指定任务的程序(计划任务)
####1. crontab命令选项
代码如下:
#crontab -u <-l, -r, -e>
-u指定一个用户
-l列出某个用户的任务计划
-r删除某个用户的任务
-e编辑某个用户的任务
####2. cron文件语法与写法
可用crontab -e命令来编辑,编辑的是/var/spool/cron下对应用户的cron文件,也可以直接修改/etc/crontab文件。具体格式如下:
代码如下:
Minute Hour Day Month Week command
分钟 小时 天 月 星期 命令
0-59 0-23 1-31 1-12 0-6 command
每个字段代表的含义如下:
代码如下:
Minute 每个小时的第几分钟执行该任务
Hour 每天的第几个小时执行该任务
Day 每月的第几天执行该任务
Month 每年的第几个月执行该任务
DayOfWeek 每周的第几天执行该任务,0表示周日
Command 指定要执行的程序 、脚本或命令
在这些字段里,除了“Command”是必须指定的字段以外,其它字段皆为可选。对于不指定的字段,要用“*”来填补其位置。
####3. 几个特殊符号的含义
“*”代表取值范围内的数字,
“/”代表”每”,
“-”代表从某个数字到某个数字,
“,”分开几个离散的数字
####4. 关于cron配置文件/etc/crontab
cron 的主配置文件是 /etc/crontab,它包括下面几行:
代码如下:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
前四行是用来配置 cron 任务运行环境的变量:
SHELL 变量的值指定shell 环境(此处默认为 bash shell);PATH 变量定义用来执行命令的程序路径;cron 任务的输出被邮寄给 MAILTO 变量定义的用户名,如果 MAILTO 变量被定义为空白字符串(MAILTO=""),电子邮件就不会被寄出;HOME 变量可以用来设置在执行命令或脚本时使用的主目录。
如在 /etc/crontab 文件中run-parts部分所示,它使用 run-parts 脚本来执行存在于 /etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly 和 /etc/cron.monthly 目录中的脚本,这些脚本被相应地按照预设时间在每小时、每日、每周、或每月执行。这些目录中的文件应该是 shell 脚本,并且具有可执行权限(chmod +x filename)。
如果某 cron 任务需要根据调度来执行,而不是每小时、每日、每周、或每月地执行,它可以被添加到/etc/cron.d目录中。该目录中的所有文件使用和 /etc/crontab 中一样的语法。
每次编辑完某个用户的cron设置后,cron自动在/var/spool/cron下生成一个与此用户同名的文件,此用户的cron信息都记录在这个文件中,这个文件是不可以直接编辑的,只可以用crontab -e 来编辑。cron启动后每过一份钟读一次这个文件,检查是否要执行里面的命令。因此此文件修改后不需要重新启动cron服务。
####5. 常见cron示例参考
5 * * * * ls 指定每小时的第5分钟执行一次ls命令
30 5 * * * ls 指定每天的 5:30 执行ls命令
30 7 8 * * ls 指定每月8号的7:30分执行ls命令
30 5 8 6 * ls 指定每年的6月8日5:30执行ls命令
30 6 * * 0 ls 指定每星期日的6:30执行ls命令[注:0表示星期天,1表示星期1,以此类推,也可以用英文来表示,sun表示星期天,mon表示星期一等。]
30 3 10,20 * * ls 每月10号及20号的3:30执行ls命令[注:“,”用来连接多个不连续的时段]
25 8-11 * * * ls 每天8-11点的第25分钟执行ls命令[注:“-”用来连接连续的时段]
*/15 * * * * ls 每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令 ]
30 6 */10 * * ls 每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls命令 ]
例如:1.每天7:50以root 身份执行/etc/cron.daily目录中的所有可执行文件
50 7 * * * root run-parts /etc/cron.daily [ 注:run-parts参数表示,执行后面目录中的所有可执行文件
2.第10、20、30分钟输出到/tmp/cron1.txt:
10,20,30 * * * * echo "第10、20、30分钟输出一次" >> /tmp/cron1.txt
3.以用户lzw.me的身份每两小时就运行某个程序:
0 */2 * * * lzw.me /usr/bin/somecommand >> /dev/null 2>&1
####6. 特别提示
A、cron配置文件路径
#vi /etc/crontab
B、重启cron的方法
#/etc/rc.d/init.d/crond restart
Usage: /etc/rc.d/init.d/crond {start|stop|status|reload|restart|condrestart}
C、别忘了将脚本改成可执行
chmod +x filename
转载于:https://www.cnblogs.com/liuxiaoqing/p/9266411.html
Linux中的cron计划任务配置详解相关推荐
- linux ipset 流量,linux中ipset命令的使用方法详解
linux中ipset命令的使用方法详解 发布时间:2020-10-25 17:07:19 来源:脚本之家 阅读:97 作者:lijiaocn 栏目:服务器 ipset介绍 iptables是在lin ...
- linux文件目录:Linux中各目录(文件夹)作用详解(持续更新)
进入Linux系统,我们就是畅游在各种目录文件中,毕竟Linux是"文件系统",文件的存放就是在目录下面,那我们了解下"Linux中各目录(文件夹)作用详解"还 ...
- django配置环境linux,linux环境下Django的安装配置详解
linux环境下Django的安装配置详解 1. 下载安装Django pip install Django==1.6.5 测试是否安装成功 >>> import django> ...
- Linux中history历史命令使用方法详解
在/etc/profile里添加如下:#History export HISTTIMEFORMAT="[%F %T]" HISTDIR=/home/common/.hist if ...
- Linux中sort,uniq,cut,wc命令详解
Linux中sort,uniq,cut,wc命令详解 来源:hellodev 本文主要对Linux中sort,uniq,cut,wc这4个命令的使用方法进行了详细说明,希望对你有所帮助. sort s ...
- Linux 中使用 sort 指令分组排序详解
Linux 中使用 sort 指令分组排序详解 sort 中进行分组排序主要用到的选项为 -k,此文,我们着重于该选项的使用方式,用到的其它选项不做解释,有兴趣的同学可以查看帮助文档 1. 数据准备 ...
- Linux中ls -l命令展示信息详解
Linux中ls -l命令展示信息详解 在Linux系统中,ls -l命令是用以列表的形式来查看当前目录下的文件或目录,下面就让我们一起来看看展示的信息是什么意思吧 以CentsOS7为例子 [roo ...
- 【Linux】Linux中rz和sz命令用法详解
[Linux]Linux中rz和sz命令用法详解 1. 简单介绍 rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具.优点就是不用再开一个sftp工具登录上去上传下载 ...
- linux 清空进程recv q,Linux中ss命令Recv-Q和Send-Q详解
ss 用来显示处于活动状态的套接字信息.ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容.但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比nets ...
最新文章
- 状态栏消息提示——使用Notification
- 计算2个时间之间经过多少Ticks
- 新闻发布项目——接口类(BaseDao)
- 99乘法表(java版)
- Linux 命令(11)—— col 命令
- 学python需要什么基础-要学 Python 需要怎样的基础?
- 深度学习优化器演化史
- 22. Django进阶:文件上传
- §4.1.2数学归纳法证明不等式第6题 (复旦大学2004年保送生考试数学试题)
- 老板下死命令:必须将20M文件从30秒压缩到1秒,我是如何做到的?
- iphone NSString 字符串处理:截取字符串、匹配字符串、分隔字符串
- 星岚技术 Win7 x64 无精简完整版 V2020.11
- 决定成功十种积极心态,成功有道理
- noip2015day1
- fatal error LNK1120: 1个无法解析的外部命令
- 众达说两化融合A042A=程序文件之信息资源需要包含那些内容
- Filter过滤器及其作用介绍
- 从控制台随机输入一段字符,算出有多少字母,数字,其他的
- 【2020/02/11】每日早报
- jquery load回调封装_Jquery Lazyload回调