- 浏览: 208754 次
- 性别:
- 来自: 宇宙
文章分类
最新评论
-
naryCC:
虽然没有smarty那么方便,但是由于我们的环境太老不得不使用 ...
SmartTemplate -
victorwmh:
我们项目是Java项目,但数据源来自不同的地方,有些还是合作单 ...
和C++相对应Java的CheckSum -
cuisuqiang:
那你们到底是Java项目还是C++的项目?
和C++相对应Java的CheckSum -
david.org:
attempt to write a readonly dat ...
linux+apache+subversion版本控制 -
victorwmh:
wellee 写道兄弟,我怎么配置ZendDebugger老是 ...
Zend Debugger和Zend Optimizer配置(Windows)
在 Linux 中,任务可以被配置在指定的时间段、指定的日期、或系统平均载量低于指定的数量时自动运行。红帽企业 Linux 预配置了对重要系统任务的运行,以便使系统能够时时被更新。譬如,被 locate 命令使用的 slocate 数据库每日都被更新。系统管理员可使用自动化的任务来执行定期备份、监控系统、运行定制脚本等等。
红帽企业 Linux 随带几个自动化任务的工具:cron 、at 、和 batch 。
37.1. cron
cron 是一个可以用来根据时间、日期、月份、星期的组合来调度对重复任务的执行的守护进程。
cron 假定系统持续运行。如果当某任务被调度时系统不在运行,该任务就不会被执行。
要使用 cron 服务,你必须安装了 vixie-cron RPM 软件包,而且必须在运行 crond 服务。要判定该软件包是否已安装,使用 rpm -q vixie-cron 命令。要判定该服务是否在运行,使用 /sbin/service crond status 命令。
37.1.1. 配置 cron 任务
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 变量可以用来设置在执行命令或脚本时使用的主目录。
定义一个每分钟执行的crontab任务可以类似如下定义:
*/1 * * * * (/usr/local/bin/php /home/eygle/tw2ohter/cron.php)
/etc/crontab 文件中的每一行都代表一项任务,它的格式是:
minute hour day month dayofweek command
-
minute — 分钟,从 0 到 59 之间的任何整数
-
hour — 小时,从 0 到 23 之间的任何整数
-
day — 日期,从 1 到 31 之间的任何整数(如果指定了月份,必须是该月份的有效日期)
-
month — 月份,从 1 到 12 之间的任何整数(或使用月份的英文简写如 jan、feb 等等)
-
dayofweek — 星期,从 0 到 7 之间的任何整数,这里的 0 或 7 代表星期日(或使用星期的英文简写如 sun、mon 等等)
-
command — 要执行的命令(命令可以是 ls /proc >> /tmp/proc 之类的命令,也可以是执行你自行编写的脚本的命令。)
在以上任何值中,星号(*)可以用来代表所有有效的值。譬如,月份值中的星号意味着在满足其它制约条件后每月都执行该命令。
整数间的短线(-)指定一个整数范围。譬如,1-4 意味着整数 1、2、3、4。
用逗号(,)隔开的一系列值指定一个列表。譬如,3, 4, 6, 8 标明这四个指定的整数。
正斜线(/)可以用来指定间隔频率。在范围后加上 /<integer > 意味着在范围内可以跳过 integer。譬如,0-59/2 可以用来在分钟字段定义每两分钟。间隔频率值还可以和星号一起使用。例如,*/3 的值可以用在月份字段中表示每三个月运行一次任务。
开头为井号(#)的行是注释,不会被处理。
如你在 /etc/crontab 文件中所见,它使用 run-parts 脚本来执行 /etc/cron.hourly 、/etc/cron.daily 、/etc/cron.weekly 和 /etc/cron.monthly 目录中的脚本,这些脚本被相应地每小时、每日、每周、或每月执行。这些目录中的文件应该是 shell 脚本。
如果某 cron 任务需要根据调度来执行,而不是每小时、每日、每周、或每月地执行,它可以被添加到 /etc/cron.d 目录中。该目录中的所有文件使用和 /etc/crontab 中一样的语法。
# record the memory usage of the system every monday # at 3:30AM in the file /tmp/meminfo 0 3 * * mon cat /proc/meminfo >> /tmp/meminfo run custom script the first day of every month at 4:10AM 10 4 1 * * /root/scripts/backup.sh
例 37-1. crontab 的例子
根用户以外的用户可以使用 crontab 工具来配置 cron 任务。所有用户定义的 crontab 都被保存在 /var/spool/cron 目录中,并使用创建它们的用户身份来执行。要以某用户身份创建一个 crontab 项目,登录为该用户,然后键入 crontab -e 命令,使用由 VISUAL 或 EDITOR 环境变量指定的编辑器来编辑该用户的 crontab。该文件使用的格式和 /etc/crontab 相同。当对 crontab 所做的改变被保存后,该 crontab 文件就会根据该用户名被保存,并写入文件 /var/spool/cron/username 中。
cron 守护进程每分钟都检查 /etc/crontab 文件、etc/cron.d/ 目录、以及 /var/spool/cron 目录中的改变。如果发现了改变,它们就会被载入内存。这样,当某个 crontab 文件改变后就不必重新启动守护进程了。
例子1 :
#每天早上7点执行一次 /bin/ls :
0 7 * * * /bin/ls
在 12 月内, 每天的早上 6 点到 12 点中,每隔3个小时执行一次 /usr/bin/backup :
0 6-12/3 * 12 * /usr/bin/backup
周一到周五每天下午 5:00 寄一封信给 alex@domain.name
:
0 17 * * 1-5 mail -s "hi" alex@domain.name
< /tmp/maildata
每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"
20 0-23/2 * * * echo "haha"
注意 :
当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可
例子2 :
#每天早上6点10分
10 6 * * * date
#每两个小时
0 */2 * * * date
#晚上11点到早上8点之间每两个小时,早上8点
0 23-7/2,8 * * * date
#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * mon-wed date
#1月份日早上4点
0 4 1 jan * date
37.1.2. 控制对 cron 的使用
/etc/cron.allow 和 /etc/cron.deny 文件被用来限制对 cron 的使用。这两个使用控制文件的格式都是每行一个用户。两个文件都不允许空格。如果使用控制文件被修改了,cron 守护进程(crond )不必被重启。使用控制文件在每次用户添加或删除一项 cron 任务时都会被读取。
无论使用控制文件中的规定如何,根用户都总是可以使用 cron。
如果 cron.allow 文件存在,只有其中列出的用户才被允许使用 cron,并且 cron.deny 文件会被忽略。
如果 cron.allow 文件不存在,所有在 cron.deny 中列出的用户都被禁止使用 cron。
发表评论
-
linux日志分析常用命令
2016-11-18 15:18 4721.日志文件 java.lang.ArrayInd ... -
常用shell脚本
2014-08-29 09:11 642常用shell脚本集 1、监测来自某个IP的TCP活动连接 ... -
netstat命令详解
2014-08-27 14:55 1674netstat命令用于显示IP、TCP、UDP和ICMP协 ... -
Linux 下挂载新硬盘方法
2014-03-06 12:08 667转载请注明: 转载自Life吧 本文永久链接地址:htt ... -
查看TCP网络连接情况
2012-12-05 10:25 808命令:netstat -n | awk '/^tcp/ ... -
Linux下java程序启动脚本
2012-09-28 10:51 1556#!/bin/sh # #该脚本为Linux下启动j ... -
linux+java+tomcat
2012-09-25 15:40 863一、安装java 1、安装jdk ... -
yum httpd php php-mysql
2012-02-20 11:10 1507对于CentOS服务器yum是一个非常好的工具,尤其是在32位 ... -
SSH中文乱码问题
2011-11-29 09:29 852之前写过一篇《将命令加入PATH中》 的文章,最近使用服务器 ... -
关闭CENTOS不必要的默认服务
2011-08-19 15:32 1782转自:http://www.lanzs.cn/blog/arc ... -
Postfix替代sendmail发送邮件
2011-08-18 10:52 3587基础知识 MUA: Mail User Ag ... -
linux+bind快速配置简单dns
2011-08-03 09:25 1414一、安装 # yum install bind ... -
linux+varnish安装配置
2011-07-24 10:16 17431、Varnish简介 Varnish是一款高性 ... -
linux+nginx安装配置及使用
2011-07-23 09:59 5353准备工作: # yum install gcc gc ... -
Linux防火墙iptables设置
2011-07-22 10:49 1387iptables防火墙由Netfilter项目开发(http: ... -
linux+cacti安装配置,监控主机性能
2011-07-21 15:21 2261一、Cacti概述 1、cacti是用php语言 ... -
linux+snmp安装及配置说明
2011-07-21 11:35 2150NMP(Simple Network Management P ... -
linux网关、DNS、IP设置
2011-07-19 16:29 1580本文以CentOS为例,下列为各设置的文件路径名: IP ... -
Linux下strace命令用法
2011-07-18 10:02 1859一、介绍 1、功能说明 strace ... -
Unix/Linux目录权限: rwx 之外的 s
2011-06-19 15:49 1750以前一直不太明白Linux的目录权限当中的 s,今天终于明白了 ...
相关推荐
corn文档,介绍linux中任务计划使用,参数说明,设置方法
linux的计划任务-cron进程讲解与crontab文件的配置说明
在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron]。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。 cron的配置文件称为“crontab”,是“cron table”的简写。 一...
* 用 at 和 cron 进行任务调度 红旗 Linux 桌面版 2.0 用户手册.pdf 涵盖了红旗 Linux 的安装、中文环境、使用红旗 Linux 等多个方面,旨在帮助用户快速了解和熟悉红旗 Linux 桌面版 2.0 的操作和使用方法。
* anacron:一个 cron 任务调度器,用于执行定期任务。 * apropos:一个命令,用于搜索手册页。 * array:一个数据结构,用于存储一组数据。 * at:一个命令,用于执行延迟任务。 * auditd:一个系统审核守护进程,...
定时任务 通过定时任务可以进行添加你的定时任务 1.1定时任务特点 restful api简单易定制 可接入可视化界面操作 ...create database ` codo_cron ` default character set utf8mb4 collate utf8mb4
Linux下创建定时执行任务可使用crontab,系统默认自带crontab,在Ubuntu 16.04下进行演示说明。 1.crontab 基本使用 #/etc/init.d/cron status # 查看状态 #/etc/init.d/cron start # 启动crontab服务 #/etc/...
本书内容翔实、涉及领域广泛,并且提供了详细的例子和大量的参考资料(包括书籍、电子文档和Internet站点),是一本学习、使用和管理Linux不可多得的好书。 目 录 译者序 前言 第一部分 Red Hat Linux的介绍与安装 ...
- APScheduler (定时任务库) 项目目录结构 --- monitor-linux(:smiling_imp:) |--config |--gol.py (全局变量字典) |--init_configs.py (读取ini初始化配置) |--linux_config.ini (linux服务器配置文件) |--...
因为定时任务本身,它不依赖任何框架,且提供了定时任务操作的接口,详细接口说明见下方。 系统定时任务使用方法 进入项目根目录 拷贝 .example.env 文件为 .env,并配置正确的数据库 执行命令 ...
1 crontab实现定时任务 1.1服务状态 /sbin/service crond status 查看定时任务的服务是否启动 参数:start 启动服务 ... 情景说明: (1)当两个文件都不存在时,那么只允许root用户使
不过目前大多数较新的Linux发行版本(包括红旗 Linux、中软Linux、Mandrake Linux等)都可以自动挂装文件系统,但Red Hat Linux除外。 umount 1.作用 umount命令的作用是卸载一个文件系统,它的使用权限是超级...
任务、 Unix/Linux 下的 Cron ,但 Quartz 可以把排程控制的更精细。也许大多数人听说 Quartz 是在学习或使用 Spring 的时 候,也就是 Spring 整合了 Quartz。而我也不例外,同样是在春天里得悉了这块石英。 当初...
quartz-1.6.2最新包,Quartz 是什么,大概不需多加说明,简单讲就是一个纯 Java 实现的作业调度工具,相当于数据库中的 Job、Windows 的计划任务、Unix/Linux 下的 Cron,但 Quartz 可以把排程控制的更精细。
如果是每隔多少小时,多少分运行一次程序,在crontab中可能比较好实现一些,下面是一些示例及crontab的格式说明: 具体示例: # 下午6点到早上6点,每隔15分钟执行一次脚本 0,15,30,45 18-06 * * * /bin/bash $HOME...
Quartz 是什么,大概不需多加说明,简单讲就是一个纯 Java 实现的作业调度工具,相当于数据库中的 Job、Windows 的计划任务、Unix/Linux 下的 Cron,但 Quartz 可以把排程控制的更精细。也许大多数人听说 Quartz 是...
9.2.4 显示进程的详细状态 信息 253 9.2.5 显示进程间的调用关系 253 9.2.6 pstree命令 254 9.3 监控进程及系统资源 255 9.4 终止进程的运行 259 9.5 调整分时进程的优先级 261 9.5.1 nice命令 261 9.5.2 renice命令...
9.2.4 显示进程的详细状态 信息 253 9.2.5 显示进程间的调用关系 253 9.2.6 pstree命令 254 9.3 监控进程及系统资源 255 9.4 终止进程的运行 259 9.5 调整分时进程的优先级 261 9.5.1 nice命令 261 9.5.2 renice命令...
利用shell脚本来定期删除文件夹内的任务 1、创建shell文件 [root@zabbix script]# vim backup_sql_clean.sh #!/bin/sh find /data1/backup/KDKDA\$AGKDPAYKT/XNAKSD/FXUIJ -mtime +10 -name *.bak -exec rm -rf {} ...