当前位置:文档之家› crontab定时运行命令解析

crontab定时运行命令解析

crontab定时运行命令解析
crontab定时运行命令解析

linux 定时运行程序转

crontab,无论root还是user都可以用。

基本用法:

1. crontab -l

列出当前的crontab任务

2. crontab -d

删除当前的crontab任务

3. crontab -e (solaris5.8上面是 crontab -r)

编辑一个crontab任务,ctrl_D结束

4. crontab filename

以filename做为crontab的任务列表文件并载入

crontab file的格式:

crontab 文件中的行由 6 个字段组成,不同字段间用空格或 tab 键分隔。前 5 个字段指定命令要运行的时间

分钟 (0-59)

小时 (0-23)

日期 (1-31)

月份 (1-12)

星期几(0-6,其中 0 代表星期日)

第 6 个字段是一个要在适当时间执行的字符串

例子:

#MIN HOUR DAY MONTH DAYOFWEEK COMMAND

#每天早上6点10分

10 6 * * * date

#每两个小时

0 */2 * * * date (solaris 5.8似乎不支持此种写法)

#晚上11点到早上8点之间每两个小时,早上8点

0 23-7/2,8 * * * date

#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点

0 11 4 * mon-wed date

#1月份日早上4点

0 4 1 jan * date

[例7]

# crontab -l #列出用户目前的crontab。

10 6 * * * date

0 */2 * * * date

0 23-7/2,8 * * * date

#

在crontab文件中如何输入需要执行的命令和时间。该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。每个域之间使用空格或者制表符分隔。格式如下:

minute hour day-of-month month-of-year day-of-week commands

第一项是分钟,第二项是小时,第三项是一个月的第几天,第四项是一年的第几个月,第五项是一周的星期几,第六项是要执行的命令。这些项都不能为空,必须填入。如果用户不需要指定其中的几项,那么可以使用*代替。因为*是统配符,可以代替任何字符,所以就可以认为是任何时间,也就是该项被忽略了。在表4-1中给出了每项的合法范围。

表4-1 指定时间的合法范围

时间

合法值

minute

00-59

hour

00-23,其中00点就是晚上12点

day-of-month

01-31

month-of-year

01-12

day-of-week

0-6,其中周日是0

这样用户就可以往crontab 文件中写入无限多的行以完成无限多的命令。命令域中可以写入所有可以在命令行写入的命令和符号,其他所有时间域都支持列举,也就是域中可以写入很多的时间值,只要满足这些时间值中的任何一个都执行命令,每两个时间值中间使用逗号分隔。

除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",",*代表所有的取值范围内的数字,"/"代表每的意思,"*/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。几个例子:

每天早上6点

0 6 * * * echo "Good morning." >> /tmp/test.txt //注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。

每两个小时

0 */2 * * * echo "Have a break now." >> /tmp/test.txt

晚上11点到早上8点之间每两个小时,早上八点

0 23-7/2,8 * * * echo "Have a good dream:)" >> /tmp/test.txt

每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点

0 11 4 * 1-3 command line

1月1日早上4点

0 4 1 1 * command line

SHELL=/bin/bash

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

MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号

HOME=/ //使用者运行的路径,这里是根目录

# run-parts

01 * * * * root run-parts /etc/cron.hourly //每小时执行/etc/cron.hourly内的脚本

02 4 * * * root run-parts /etc/cron.daily //每天执行/etc/cron.daily内的脚本

22 4 * * 0 root run-parts /etc/cron.weekly //每星期执行/etc/cron.weekly内的脚本

42 4 1 * * root run-parts /etc/cron.monthly //每月去执行/etc/cron.monthly内的脚本

大家注意"run-parts"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了。

[例8]

5,15,25,35,45,55 16,17,18 * * * command

这就是表示任意天任意月,其实就是每天的下午4点、5点、6点的5 min、15 min、25 min、35 min、45 min、55 min时执行命令。

[例9] 在每周一,三,五的下午3:00系统进入维护状态,重新启动系统。那么在crontab 文件中就应该写入如下字段:

00 15 * * 1,3,5 shutdown -r +5

然后将该文件存盘为foxy.cron,再键入crontab foxy.cron安装该文件。

[例10] 每小时的10分,40分执行用户目录下的innd/bbslin这个指令:

10,40 * * * * innd/bbslink

[例11] 每小时的1分执行用户目录下的bin/account这个指令:

1 * * * * bin/account

[例12] 每天早晨三点二十分执行用户目录下如下所示的两个指令(每个指令以;分隔):

20 3 * * * (/bin/rm -f expire.ls logins.bad;bin/expire$#@62;expire.1st)

[例13] 每年的一月和四月,4号到9号的3点12分和3点55分执行/bin/rm -f expire.1st 这个指令,并把结果添加在mm.txt这个文件之后(mm.txt文件位于用户自己的目录位置)。

12,55 3 4-9 1,4 * /bin/rm -f expire.1st$#@62;$#@62;mm.txt

[例14] 我们来看一个超级用户的crontab文件:

#Run the ‘atrun’ program every minutes

#This runs anything that’s due to run from ‘at’.See man ‘at’ or ‘atrun’.

0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/lib/atrun

40 7 * * * updatedb

8,10,22,30,39,46,54,58 * * * * /bin/sync

进程的挂起及恢复命令bg、fg

作业控制允许将进程挂起并可以在需要时恢复进程的运行,被挂起的作业恢复后将从中止处开始继续运行。只要在键盘上按〈ctrl+z$#@62;,即可挂起当前的前台作业。

[例15]

$ cat text.file

〈ctrl+z$#@62;

[1] + stopped cat text.file

$ jobs

[1]+ stopped cat text.file

在键盘上按〈ctrl+z$#@62;后,将挂起当前执行的命令cat。使用jobs命令可以显示shell 的作业清单,包括具体的作业、作业号以及作业当前所处的状态。

恢复进程执行时,有两种选择:用fg命令将挂起的作业放回到前台执行;用bg命令将挂起的作业放到后台执行。

[例16] 用户正在使用Emacs,突然需要查看系统进程情况。就首先使用〈Ctrl+z$#@62;组合键将Emacs进程挂起,然后使用bg命令将其在后台启动,这样就得到了前台的操作控制权,接着键入“ps ?x”查看进程情况。查看完毕后,使用fg命令将Emacs带回前台运行即可。其命令格式为:

〈Ctrl+z$#@62;

$ bg emacs

$ ps ?x

$ fg emacs

默认情况下,fg和bg命令对最近停止的作业进行操作。如果希望恢复其他作业的运行,可以在命令中指定要恢复作业的作业号来恢复该作业。例如:

$ fg 1

cat text.file

文件含义

/etc/cron.deny 该文件中所列的用户不允许使用Crontab命令

/etc/cron.allow 该文件中所列的用户允许使用Crontab命令

/var/spool/cron/ 是所有用户的crontab文件

/var/spool/cron/crontabs /var/spool/cron/crontabs

Crontab命令的格式为:crontab –l|-r|-e|-i [username],其参数含义如表一:参数名称含义示例

-l 显示用户的Crontab文件的内容crontabl –l

用户所建立的Crontab文件存于/var/spool/cron中,其文件名与用户名一致。

它的格式共分为六段,前五段为时间设定段,第六段为所要执行的命令段,

格式如下:* * * * *

其时间段的含义如表二:

例:如果用户的Crontab文件的内容是:29 19 * * * echo its dinner time,则系统每天的19:29显示‘its dinner time’

示例(创建一个cron全过程,每分钟都会在test.txt里输入当前时间):

1.以普通用户登录linux系统(我用的是CentOS4.1)

2. $crontab –e

说明:系统默认的编辑器是VIM,如果不是请加上以下shell:

$EDITOR=vi

$export EDITOR

3.输入”*/1 * * * * date >> $HOME/test.txt”,save and exit VIM

4. $su root

5. $cd /etc/init.d

6. ./crond restart

下面看看看几个具体的例子:

● 0 */2 * * * /sbin/service httpd restart意思是每两个小时重启一次apache

● 50 7 * * * /sbin/service sshd start意思是每天7:50开启ssh服务

● 50 22 * * * /sbin/service sshd stop意思是每天22:50关闭ssh服务

● 0 0 1,15 * * fsck /home每月1号和15号检查/home 磁盘

● 1 * * * * /home/bruce/backup每小时的第一分执行 /home/bruce/backup这个文件

● 00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} \;每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。

● 30 6 */10 * * ls意思是每月的1、11、21、31日是的6:30执行一次ls命令

Crontab是UNIX系统下的定时任务触发器,其使用者的权限记载在下列两个文件中:

Crontab命令的格式为:crontab –l|-r|-e|-i [username],其参数含义如表一:

用户所建立的Crontab文件存于/var/spool/cron中,其文件名与用户名一致。

它的格式共分为六段,前五段为时间设定段,第六段为所要执行的命令段,

格式如下:* * * * *

其时间段的含义如表二:

例:如果用户的Crontab文件的内容是:29 19 * * * echo its dinner time,则系统每天的19:29显示‘its dinner time’

示例(创建一个cron全过程,每分钟都会在test.txt里输入当前时间):

1.以普通用户登录linux系统(我用的是CentOS4.1)

2. $crontab –e

说明:系统默认的编辑器是VIM,如果不是请加上以下shell:

$EDITOR=vi

$export EDITOR

3.输入”*/1 * * * * date >> $HOME/test.txt”,save and exit VIM

4. $su root

5. $cd /etc/init.d

6. ./crond restart

下面看看看几个具体的例子:

● 0 */2 * * * /sbin/service httpd restart意思是每两个小时重启一次apache

● 50 7 * * * /sbin/service sshd start意思是每天7:50开启ssh服务

● 50 22 * * * /sbin/service sshd stop意思是每天22:50关闭ssh服务

● 0 0 1,15 * * fsck /home每月1号和15号检查/home 磁盘

● 1 * * * * /home/bruce/backup每小时的第一分执行 /home/bruce/backup这个文件

● 00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} \;每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。

● 30 6 */10 * * ls意思是每月的1、11、21、31日是的6:30执行一次ls命令

Crontab是UNIX系统下的定时任务触发器,其使用者的权限记载在下列两个文件中:

Crontab命令的格式为:crontab –l|-r|-e|-i [username],其参数含义如表一:

用户所建立的Crontab文件存于/var/spool/cron中,其文件名与用户名一致。

它的格式共分为六段,前五段为时间设定段,第六段为所要执行的命令段,

格式如下:* * * * *

其时间段的含义如表二:

例:如果用户的Crontab文件的内容是:29 19 * * * echo its dinner time,则系统每天的19:29显示‘its dinner time’

示例(创建一个cron全过程,每分钟都会在test.txt里输入当前时间):

1.以普通用户登录linux系统(我用的是CentOS4.1)

2. $crontab –e

说明:系统默认的编辑器是VIM,如果不是请加上以下shell:

$EDITOR=vi

$export EDITOR

3.输入”*/1 * * * * date >> $HOME/test.txt”,save and exit VIM

4. $su root

5. $cd /etc/init.d

6. ./crond restart

下面看看看几个具体的例子:

● 0 */2 * * * /sbin/service httpd restart意思是每两个小时重启一次apache

● 50 7 * * * /sbin/service sshd start意思是每天7:50开启ssh服务

● 50 22 * * * /sbin/service sshd stop意思是每天22:50关闭ssh服务

● 0 0 1,15 * * fsck /home每月1号和15号检查/home 磁盘

● 1 * * * * /home/bruce/backup每小时的第一分执行 /home/bruce/backup这个文件

● 00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} \;每周一至周五3点钟,在目

录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。

● 30 6 */10 * * ls意思是每月的1、11、21、31日是的6:30执行一次ls命令

linux下统计文件数目

MySQL服务器安装完之后如何调节性能

LINUX crontab 定期任务

Published by admin, at 10:27, 2007, under Linux系统

Jun

14

作者:北南南北

来自:https://www.doczj.com/doc/2813155296.html,

摘要:Linux操作系统中,计划任务通常由cron来承担,了解或掌握cron,能为我们管理服务器带来更多的便利,也能省却更多的时间。本文也举了一些简单明了的例子,为了让新手上路方便;

目录

1、计划任务概说;

2、cron;

2.1 cron 的安装和启动;

2.1.1 在Redhat 或 Fedora等RPM包管理的系统的安装;

2.1.2 在Slackware系统中的安装;

2.1.3 cron 的开启、停止、重新启动方法;

2.2 cron 配置文件;

2.2.1 全局性配置文件;

2.2.2 cron 配置计划任务的书写格式

2.2.3 关于同一时间,同时执行多个任务的定义方法;

2.2.4 对于用户自身的cron 配置文件的说明;

3、计划任务的应用范围;

4、关于本文;

5、后记;

6、参考文档;

7、相关文档;

++++++++++++++++++++++++++++++++++++++

正文

++++++++++++++++++++++++++++++++++++++

1、计划任务概说;

计划任务,是任务在约定的时间执行已经计划好的工作,这是表面的意思。在Linux中,我们经常用到 crond 服务器来完成这项工作。cron服务器可以根据配置文件约定的时间来执行特定的作务。比如我们可以在配置文件中约定每天早上4点,对httpd 服务器重新启动,这就是一个计划任务;

下面我们先来说说cron;

2、cron;

在 Linux系统中,计划任务一般是由cron承担,我们可以把cron设置为开机时自动启动。cron 启动后,它会读取它的所有配置文件(全局性配置文件 /etc/crontab,以及每个用户的计划任务配置文件),然后cron会根据命令和执行时间来按时来调用度工作任务。

2.1 cron 的安装和启动;

在一般情况下,cron都是系统默认安装的,我们要学会查看软件包是否已经安装;

2.1.1 在Redhat 或 Fedora等RPM包管理的系统的安装;

判断系统是否已经安装cron相关的包

Fedora 5.0 系统的情况;

其它版本的Fedora及Redhat的系统和这相似;

[root@localhost ~]# rpm -qa |grep cron

vixie-cron-4.1-54.FC5

anacron-2.3-36.1

crontabs-1.10-7.1

其中vixie-cron软件包是cron的主程序,您可以通过下面的命令来了解它,其它软件包同理;

[root@localhost beinan]# rpm -ql vixie-cron

crontabs 软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。cron 守护进程检查 crontab 文件来查看某个指定命令被调度执行的时间。如果命令已经调度,守护进程就会执行它们。了解crontabs软件包都安装了些什么,应该用下面的命令;

[root@localhost beinan]# rpm -ql crontabs

如果没有安装,可以从光盘中找出文件名带有cron字样的软件包来安装。

[root@localhost ~]# rpm -ivh vixie-cron-4.1-54.FC5*

[root@localhost ~]# rpm -ivh crontabs*

也可以用yum 来在线安装;

[root@localhost ~]# yum install vixie-cron

[root@localhost ~]# yum install crontabs

2.1.2 在Slackware系统中的安装;

在Slackware中cron软件包是 dcron,您可以在光盘中找出来安装它;

查看是否已经安装了dcron软件包,您可以这样查看。在这里能列出软件包详细的安装情况;

[root@localhost ~]# more /var/adm/packages/dcron*

如果没有安装,请用下面的命令来安装。在第一张安装盘中找出dcron软件包;

[root@localhost ~]# installpkg dcron*.tgz

2.1.3 cron 的开启、停止、重新启动方法;

cron配置文件被修改后,想让新文件生效,必须重新crond服务器,有两种方法可供选择;

第一种在Fedora或Redhat 等以RPM包管理的系统中;

[root@localhost ~]# /etc/init.d/crond start

[root@localhost ~]# /etc/init.d/crond stop

[root@localhost ~]# /etc/init.d/crond restart

如果想在Fedora 和 Redhat 或以这些发行版为基础克隆的发行版,如果想自动开机运行,请用下面的办法;

[root@localhost ~]# chkconfig --levels 35 crond on

第二种:通用

[root@localhost ~]# pgrep crond 注:判断crond 是否在运行;

[root@localhost ~]# pkill crond 注:杀掉正在运行中的crond;

[root@localhost ~]# pgrep crond 注:查看是否被杀掉了;

[root@localhost ~]# /usr/sbin/crond 注:运行crond;

2.2 cron 配置文件;

cron 是一个服务器程序,我们都知道Linux的服务器的配置,大多是通过配置文件来完成的,cron 自然也不例外,在Redhat/Fedora 等系统中它的全局性配置文件是/etc/crontab;在Slackware 系统中,全局性文件是/var/spool/cron/crontabs /root 。每个用户也有自己的cron配置文件,我们可以通过crontab -e 来编辑它;

2.2.1 全局性配置文件;

下面是一个全局性的配置文件例子,以Fedora Core 5为例;

[root@localhost ~]# more /etc/crontab

SHELL=/bin/bash

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

MAILTO=root

HOME=/

# run-parts

1 * * * * root run-parts /etc/cron.hourly

#

2 4 * * * root run-parts /etc/cron.daily

#

22 4 * * 7 root run-parts /etc/cron.weekly

#

42 4 1 * * root run-parts /etc/cron.monthly

#

0,5,10,15,20,25,30,35,40,45,50,55 * * * * root /usr/bin/mrtg /etc/mrtg/mrtg.cfg

对于全局性配置文件,我们要用root权限来更改,一般是通过crontab -e 来修改。但有时也并不一定是这样的,比如Fedora Core 5 如果通过crontab -e 修改的是root用户的cron 配置文件。所以我们要在Fedora Core 5中修改全局性配置文件可以用vi 编辑器来修改。vi的用法请参考:《文件编辑器 vi》

在全局性配置文件中,定义了可执行命令的路径环境变量,所用SHELL类型的定义等,这些大多不用修改;我们经常添加的是计划任务或修改任务执行的时间等;

在全局性配置文件中,我们发现有类似这些行;

1 * * * * root run-parts /etc/cron.hourly 注:表示每个小时的第一分钟,开始执行

/etc/hourly目录下的可执行程序或脚本;

2 4 * * * root run-parts /etc/cron.daily 注:表示每天的4点2分,开始执行/etc/cron.daily 目录下的可执行程序或脚本;

22 4 * * 7 root run-parts /etc/cron.weekly 注:每年第7个周4点我22分,开始执行

/etc/cron.weekly目录下的可执行程序或脚本;

42 4 1 * * root run-parts /etc/cron.monthly 注:每月第1天的4点42分,开始执行

/etc/cron.monthly目录下的可执行程序或脚本;

这些行是用来在同一时间批量执行任务的,我们在以后的例子中独立出来解说,在这里只是让大家心中有数;

2.2.2 cron 配置计划任务的书写格式

分钟小时日月周[用户名]命令

Linux下crontab命令的用法

Linux下crontab命令的用法 任务调度的crond常驻命令 crond 是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。而linux任务调度的工作主要分为以下两类: 1、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存 2、个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置 Crontab是UNIX系统下的定时任务触发器,其使用者的权限记载在下列两个文件中: 文件 含义 /etc/cron.deny 该文件中所列的用户不允许使用Crontab命令 /etc/cron.allow 该文件中所列的用户允许使用Crontab命令 /var/spool/cron/ 是所有用户的crontab文件 /var/spool/cron/crontabs /var/spool/cron/crontabs Crontab命令的格式为:crontab –l|-r|-e|-i [username],其参数含义如表一: 参数名称 含义 示例 -l 显示用户的Crontab文件的内容 crontabl –l -i

删除用户的Crontab文件前给提示 crontabl -ri -r 从Crontab目录中删除用户的Crontab文件 crontabl -r -e 编辑用户的Crontab文件 crontabl -e 用户所建立的Crontab文件存于/var/spool/cron中,其文件名与用户名一致。它的格式共分为六段,前五段为时间设定段,第六段为所要执行的命令段, 格式如下:* * * * * 其时间段的含义如表二: 段 含义 取值范围 第一段 代表分钟 0—59 第二段 代表小时 0—23 第三段 代表日期

linux定时执行crontab

linux定时执行crontab 2009-11-18 作者:编辑:闫蕊点击进入论坛 关键词:linux crontab -e 进入一个vi 编辑界面 在最后一行加上 */30 * * * * netstat > /tmp/net.log 表示每隔30分就执行netstat命令,并把执行结果存入net.log中。 Crontab是一个很方便的在unix/linux系统上定时(循环)执行某个任务的程序 使用cron服务,用service crond status 查看cron服务状态,如果没有启动则service crond start启动它, cron服务是一个定时执行的服务,可以通过crontab 命令添加或者编辑需要定时执行的任务: crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数 crontab -l //列出某个用户cron服务的详细内容 crontab -r //删除没个用户的cron服务 crontab -e //编辑某个用户的cron服务 比如说root查看自己的cron设置:crontab -u root -l 再例如,root想删除fred的cron设置:crontab -u fred -r 在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e 进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt 编辑/etc/crontab文件,在末尾加上一行:30 5 * * * root init 6 这样就将系统配置为了每天早上5点30自动重新启动。

linux下种定时执行任务方法

(1)at命令 假如我们只是想要让特定任务运行一次,那么,这时候就要用到at监控程序了。 设置at命令很简单,指示定运行的时间,那么就会在哪个时候运行。at类似打印进程,会把任务放到/var/spool/at目录中,到指定时间运行它。at命令相当于另一个shell,运行at time命令时,它发送一个个命令,可以输入任意命令或者程序。at now + time命令可以在指示任务。 假设处理一个大型数据库,要在别人不用系统时去处理数据,比如凌晨3点10分。那么我们就应该先建立/home/kyle/do_job脚本管理数据库,计划处理/home/kyle/do_job文件中的结果。正常方式是这样启动下列命令: # at 2:05 tomorrow at>/home/kyle/do_job at> Ctrl+D AT Time中的时间表示方法 ----------------------------------------------------------------------- 时间例子说明 ----------------------------------------------------------------------- Minute at now + 5 minutes任务在5分钟后运行 Hour at now + 1 hour任务在1小时后运行 Days at now + 3 days任务在3天后运行 Weeks at now + 2 weeks任务在两周后运行 Fixed at midnight任务在午夜运行 Fixed at 10:30pm任务在晚上10点30分 注意:一定要检查一下atq的服务是否启动,有些操作系统未必是默认启动的,linux 默认为不启动,而ubuntu默认为启动的。检查是否启动,用service atd检查语法,用service atd status检查atd的状态,用service atd start启动atd服务。 查看at执行的具体内容:一般位于/var/spool/at目录下面,用vi打开,在最后一部分

CRONTAB调用备份脚本时要注意环境变量的设置详解

我们知道,EXP备份是DBA常规操作之一,尤其是10g以前的版本没有EXPDP,所有的逻辑备份都是通过EXP来实现。而将EXP写成SHELL脚本,使之可以调用也并没有什么特别之处。不过如果并非oracle用户执行,而是需要CRONTAB自动允许,那么备份的脚本就有一些要求了。 客户环境使用RMAN CATALOG方式备份,而RMAN的CATALOG数据库采用EXP进行逻辑备份。部署了一个每天7点运行的CRONTAB,调用执行EXP的SHELL。巡检时发现这个脚本从未真正运行过。 1./app/oracle10g> crontab -l 2.0 7 * * * /app/oracle10g/rman_catalog_dmp/exp_by_date.sh 3./app/oracle10g/rman_catalog_dmp> more exp_by_date.sh 4.export ORACLE_SID=RMANDB 5.export ORACLE_BASE=/app/oracle10g 6.export ORACLE_HOME=$ORACLE_BASE/product/10.2.0 7.export NLS_LANG=American_America.ZHS16CGB231280 8.exp parfile=exp.par file=./rman_catalog.dmp log=./rman_catalog.log 由于是CRONTAB进行调用,因此不会使用oracle用户的环境变量,这就需要在shell脚本中添加必要的环境变量的设置,这才能是的EXP命令可以正确的运行。脚本中虽然已经设置了一些环境变量,但是还是不够的。 对于CRONTAB运行SHELL时出现的错误,可以通过用户的mail来获取错误信息: 1./app/oracle10g/rman_catalog_dmp> mail 2.From root@acap3 Thu Aug 18 07:00:01 EAT 2011 3.Received: (from root@localhost) 4.by acap3 (8.9.3 (PHNE_35950)/8.9.3) id HAA27754 5.for oracle; Thu, 18 Aug 2011 07:00:01 +0800 (EAT) 6.Date: Thu, 18 Aug 2011 07:00:01 +0800 (EAT) 7.From: root@acap3 8.Message-Id: <201108172300.HAA27754@acap3> 9.Subject: cron 10./app/oracle10g/rman_catalog_dmp/exp_by_date.sh[5]: exp: not found. 11.************************************************* 12.Cron: The previous message is the standard output 13.and standard error of one of your crontab commands: 14. 15./app/oracle10g/rman_catalog_dmp/exp_by_date.sh 显然导致错误的原因是执行EXP命令时,在默认目录下没有找到EXP可执行命令,显然脚本中漏设了PATH环境变量。 增加PATH=$ORACLE_HOME/bin环境变量后,再次测试发现,参数文件找不到,仿照导出文件和日志文件的方式,将参数文件设置为./exp.par,问题依旧。看来在CRONTAB中调用SHELL,应该设置绝对路径,而不能设置相对路径。 最终脚本修改为: 1./app/oracle10g/rman_catalog_dmp> more /app/oracle10g/rman_catalog_dmp/exp_by_date.sh 2.export ORACLE_SID=RMANDB

Linux下定时执行脚本

Linux下定时执行脚本 今天做了个数据库的备份脚本,顺便系统得学习一下Linux下定时执行脚本的设置。Linux下的定时执行主要是使用crontab文件中加入定制计划来执行,设置比Windows稍微复杂一些(因为没有图形界面嘛),但是也不是非常复杂,基本上用过一遍就能记住了,关键是要记住/var/spool/cron这个目录。下面看一下具体的用法: 首先查看一下/etc/crontab文件: $ cat /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中每行任务的描述格式如下: minute hour day month dayofweek command minute - 从0到59的整数 hour - 从0到23的整数 day - 从1到31的整数 (必须是指定月份的有效日期) month - 从1到12的整数 (或如Jan或Feb简写的月份)

7-17---top命令与计划任务crontab、at

输入数字1可看到当前有多少核心 2. top 命令输出内容默认多久刷新一次,如何让它每一秒刷新一次? 3s------------------按d或s改变刷新时间 3. 如何让top 命令的输出界面只显示ssh 一个进程服务的信息? 先用ps -ef | grep sshd 查看sshd进程号,然后top -p pid 4. 在top 命令下如何杀死ssh 服务的进程? 按k,然后输入pid 5. 运行top 命令,然后使用快捷键Ctrl + z,top 命令会怎么样?如何恢复? top命令会暂停,fg命令在前台恢复,-----fg %任务号| bg命令在后台恢复(后台在暂停,fg前台不会暂停,一直在运行)-----bg %任务号

6. crontab 计划任务中的五个*分别代表什么? 分钟,小时,日,月份,周几 7. crontab 中用什么命令定义某个程序执行的优先级别? Nice -n -2 程序 8. crontab 计划任务的守护进程是什么,at 计划任务的守护进程是什么? Crontabd---------------atd 9. 简单计划任务:每隔一分钟往当前屏幕输出一句话“I am testing”!这个计划任务用crontab 还是at,为什么? crontab,因为可以重复执行,at只是执行一次----------------* * * * * /bin/echo “I am testing” > /dev/pts/1 (计划任务里面的命令一定要用绝对路径) 10. 如果把crontab 的守护进程关掉,请问计划任务还会不会执行? 不会 11. crontab 计划任务的日志文件在哪里? /var/log/cron 12. crontab 怎么查看当前的计划任务列表? Crontab -l 13. 编写计划任务 a) 每天晚上9 点半重启网络服务 b) 每月5、15、25 日的零点四十五分重启系统 c) 每周六、周日的零点重启系统 d) 每天18 : 00 至23 : 00 之间每隔30 分钟重启网络 e) 每周六,周日晚上11 点到早上7 点之间,每隔一小时重启sshd f) 每月的4 号和每周一到周三的11 点重启网络服务(4号或者周一到周三)

[精华] crontab命令详解

[精华] crontab命令详解 crontab命令的功能是在一定的时间间隔调度一些命令的执行。在/etc目录下有一个crontab 文件,这里存放有系统运行的一些调度程序。每个用户可以建立自己的调度crontab。 crontab命令有三种形式的命令行结构: crontab [-u user] [file] crontab [-u user] [-e|-l|-r] crontab -l -u [-e|-l|-r] 第一个命令行中,file是命令文件的名字。如果在命令行中指定了这个文件,那么执行crontab命令,则将这个文件拷贝到crontabs目录下;如果在命令行中没有制定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将他们也存放在crontab 目录下。 命令行中-r选项的作用是从/usr/spool/cron/crontabs目录下删除用户定义的文件crontab; 命令行中-l选项的作用是显示用户crontab文件的内容。 使用命令crontab -u user -e命令编辑用户user的cron(c)作业。用户通过编辑文件来增加或修改任何作业请求。 执行命令crontab -u user -r即可删除当前用户的所有的cron作业。 作业与它们预定的时间储存在文件/usr/spool/cron/crontabs/username里。username使用户名,在相应的文件中存放着该用户所要运行的命令。命令执行的结果,无论是标准输出还是错误输出,都将以邮件形式发给用户。文件里的每一个请求必须包含以spaces和tabs分割的六个域。前五个字段可以取整数值,指定何时开始工作,第六个域是字符串,称为命令字段,其中包括了crontab调度执行的命令。 第一道第五个字段的整数取值范围及意义是: 0~59 表示分 1~23 表示小时 1~31 表示日 1~12 表示月份 0~6 表示星期(其中0表示星期日) /usr/lib/cron/cron.allow表示谁能使用crontab命令。如果它是一个空文件表明没有一个用户

Spring提供的三种定时任务机制及其比较

Spring提供的三种定时任务机制及其比较 定时任务的需求在众多应用系统中广泛存在,在Spring中,我们可以使用三种不同的定时机制,下面一一描述并加以比较 1. 基于Quartz的定时机制

下面详细解释这个类图中涉及的关键类及其使用场景 1.1. SchedulerFactoryBean 这是Spring中基于Quartz的定时机制入口,只要Spring容器装载了这个类,Quartz定时机制就会启动,并加载定义在这个类中的所有trigger Spring配置范例: [xhtml]view plaincopy 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 1.2. CronTriggerBean 实现了Trigger接口,基于Cron表达式的触发器 这种触发器的好处是表达式与linux下的crontab一致,能够满足非常复杂的定时需求,也容易配置

Spring配置范例: [xhtml]view plaincopy 1. 2. 3. 4. 1.3. SimpleTriggerBean 该类也实现了Trigger接口,基于配置的定时调度 这个触发器的优点在于很容易配置一个简单的定时调度策略 Spring配置范例: [xhtml]view plaincopy 1. 2. 3. 4. 5. 6.3600000 7. 8. 9.86400000 10. 11.

Linux的crontab命令

linux定时运行命令脚本——crontab 分类:Linux/Shell2011-09-24 11:12 12787人阅读评论(0) 收藏举报 Linux中,周期执行的任务一般由cron这个守护进程来处理 ps -ef | grep cron cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。 cron的配置文件称为“crontab”,是“cron table”的简写。 一、cron在3个地方查找配置文件(设置shell脚本): 1、/var/spool/cron/yanggang 这个目录下存放的是每个用户(包括root)的crontab任务,每个任务以创建者的名字命名,比如用户tom建的crontab任务对应的文件就是/var/spool/cron/tom yanggang@barry$ sudo ls -l /var/spool/cron/(或有时 是 /var/spool/cron/crontabs/) -rw------- 1 root crontab 1071 2011-09-19 17:20 root -rw------- 1 yanggang crontab 1176 2011-09-24 11:07 yanggang 一般一个用户最多只有一个crontab文件(如:root, yanggang等),其对应日志在/var/spool/mail/root(或/var/spool/mail/yanggang)文件里 2、/etc/crontab这个文件负责安排由系统管理员制定的维护系统以及其他任务的crontab。 SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # .---------------- 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 # | | | | |

crontab定时运行命令解析

linux 定时运行程序转 crontab,无论root还是user都可以用。 基本用法: 1. crontab -l 列出当前的crontab任务 2. crontab -d 删除当前的crontab任务 3. crontab -e (solaris5.8上面是 crontab -r) 编辑一个crontab任务,ctrl_D结束 4. crontab filename 以filename做为crontab的任务列表文件并载入 crontab file的格式: crontab 文件中的行由 6 个字段组成,不同字段间用空格或 tab 键分隔。前 5 个字段指定命令要运行的时间 分钟 (0-59) 小时 (0-23) 日期 (1-31) 月份 (1-12) 星期几(0-6,其中 0 代表星期日) 第 6 个字段是一个要在适当时间执行的字符串 例子: #MIN HOUR DAY MONTH DAYOFWEEK COMMAND #每天早上6点10分 10 6 * * * date #每两个小时 0 */2 * * * date (solaris 5.8似乎不支持此种写法) #晚上11点到早上8点之间每两个小时,早上8点 0 23-7/2,8 * * * date #每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点 0 11 4 * mon-wed date #1月份日早上4点 0 4 1 jan * date [例7] # crontab -l #列出用户目前的crontab。 10 6 * * * date 0 */2 * * * date 0 23-7/2,8 * * * date

Solaris:crontab的用法(定时任务)教学文稿

S o l a r i s:c r o n t a b 的用法(定时任务)

Solaris:crontab的用法 说句实在话,俺真的是不喜欢Solaris,用起来实在太难受,关键是不会用。 在Linux/FreeBSD下,查看当前crontab任务的语法是 crontab -l ,编辑用户的任务是 crontab -u <用户名> -e 但是,在Solaris下crontab是没有-u参数地,crontab: proper usag e is: crontab [file | -e | -l | -r ] [user] 有兴趣的自己试吧,非常难用。 当然,这里我要向大家坦白,我不懂Solaris,之所以抱怨主要是因为它的操作与我所认识的差别较大。长话短说,我来介绍一下自己摸索出来的经验吧: 1、停止crontab服务 shell> /etc/init.d/cron stop 2、编辑crontab,有两种方法 [第一种](推荐) 直接编辑 /var/spool/cron/crontabs/ 下对应用户的crontab文件,没有的就以用户名新建即可。但要注意应该用 vim 编辑,Solaris默认的vi编辑器不是vim。

[第二种] 使用命令 crontab -e <用户名>,这种我还不知道如何使用,总结的经验和教训是:Ctrl+D是保存退出编辑模式,Ctrl+Z是不保存退出编辑模式。一旦Ctrl+D会将原有crontab内容全部replace,一定要小心操作。 3、启动crontab服务 shell> /etc/init.d/cron start 4、Solaris下的命令用法补充,这是从网上看来的,觉得有必要说明一下 # crontab -l root 可以查看root用户的crontab任务列表。 若要20分钟执行一次某个任务,可以这样写: 0,20,40 * * * * command 若要5分钟执行一次某个任务,可以这样写: 0,5,10,15,20,25,30,35,40,4,50,55 * * * * command solaris下的crontab和linux下不一样,linux支持 */5 表示每5分钟一次 */20 表示每20分钟一次 而solaris不支持 一般是执行crontab -e ,然后在里面填内容,可以man crontab获得帮助

一种分布式系统中定时任务的解决思路和框架

一种分布式系统中定时任务的解决思路和框架 在分布式系统中,经常有周期性地执行数据采集、统计、推送等等的场景。一个业务系统的后台可能存在很多不同种类、不同粒度的周期性任务,而且它们分布在不同的服务器节点中执行。 业界比较常见的解决思路: 1. 利用linux crontab或windows计划任务定时执行一段脚本或程序; 2. 自编程序中实现定时器,定时触发相关任务的执行; 但是上述方案在碰到有大量的、不同粒度的定时任务时会碰到问题: 1. 如何解决高可用? 2. 如何支持水平扩展? 显然如果我们仅在一个服务器节点上起定时器势必形成单点。那么如果简单地在多台服务器节点上起服务呢?那么同样的任务会被执行多次,虽解决了单点问题,但一次任务被执行多次势必造成性能的浪费,且当业务压力增大时无法进行水平扩展;同时,有些业务在同一时刻不能同时执行,这涉及锁的问题。 下面给出一个比较通用的分布式系统中的定时任务的执行框架实现: 1. 将定时任务触发器进行抽象成可独立部署的分布式定时服务Jobschedular 不是抽象成程序模块,而是可独立部署的分布式定时服务。该服务通过配置可支持不同种类、针对不同对象粒度、不同执行周期的定时性计划任务。 Jobschedular根据计划任务的定义,周期性地触发针对某个对象的作业(jo b)。Jobschedular自身采用主备方式实现高可用,由于它本身只负责产生job,不负责执行job,因此不会用性能压力,没有水平扩展的需求。 2. 通过redis分布式队列分发定时作业 Jobschedular定时生成的作业统一发送到作为分布式队列角色的redis服务器中。Jobschedular和redis之间可通过LVS实现负责均衡和高可用,也可以让Jobschedular随机写入到redis集群中的任意redis节点中。 3. 一组jobexecuter负责执行job

linux下自动化任务的例子——定时播放音乐

linux下自动化任务的例子 在linux系统中实现作业的自动化是非常便利的。 比较常用的是Cron服务的crontab这个命令。 ?一个具体的任务列表 这个是学校室外广播的自动程序,只用了?一台被废弃的塞羊800的学生机,安装的系统是红旗linux,其他的linux、FreeBSD、unix或者是MacOS都可以。 将Cron设为自动运行。 chkcon?g –level 35 crond on 进入系统终端 键入: crontab -u caizhongyi -e (crontab为命令,“-u cai”是指定执行作业的系统用户为cai,“-e”使用crontab自己的vi编辑器,防止出现编码或系统环境问题造成的错误)然后在编辑器(vi编辑器)中输入如下命令: 0 7 * * 1 mpg123 -q /home/cai/guangbo/001.mp3 21 8 * * 1 mpg123 -q /home/cai/guangbo/11.mp3 21 8 * * 2 mpg123 -q /home/cai/guangbo/21.mp3 21 8 * * 3 mpg123 -q /home/cai/guangbo/31.mp3 21 8 * * 4 mpg123 -q /home/cai/guangbo/41.mp3 21 8 * * 5 mpg123 -q /home/cai/guangbo/51.mp3 16 9 * * 2 mpg123 -q /home/cai/guangbo/212.mp3 16 9 * * 3 mpg123 -q /home/cai/guangbo/312.mp3 16 9 * * 4 mpg123 -q /home/cai/guangbo/412.mp3 16 9 * * 5 mpg123 -q /home/cai/guangbo/512.mp3 25 10 * * 1 mpg123 -q /home/cai/guangbo/12.mp3 25 10 * * 2 mpg123 -q /home/cai/guangbo/22.mp3 25 10 * * 3 mpg123 -q /home/cai/guangbo/32.mp3 25 10 * * 4 mpg123 -q /home/cai/guangbo/42.mp3

Linux定时任务设置

Linux 下定时任务设置 文章分类:操作系统 为当前用户创建cron服务 1. 键入crontab -e 编辑crontab服务文件 例如文件内容如下: */2 * * * * /bin/sh /home/admin/jiaoben/buy/deleteFile.sh 保存文件并并退出 */2 * * * * /bin/sh /home/admin/jiaoben/buy/deleteFile.sh */2 * * * * 通过这段字段可以设定什么时候执行脚本 /bin/sh /home/admin/jiaoben/buy/deleteFile.sh 这一字段可以设定你要执行的脚本,这里要注意一下bin/sh 是指运行脚本的命令后面一段时指脚本存放的路径 2. 查看该用户下的crontab服务是否创建成功,用crontab -l命令 3. 启动crontab服务 一般启动服务用/sbin/service crond start 若是根用户的cron服务可以用sudo service crond start,这里还是要注意下不同版本linux系统启动的服务的命令也不同,像我的虚拟机里只需用sudo service cron restart 即可,若是在根用下直接键入service cron start 就能启动服务

4. 查看服务是否已经运行用ps -ax | grep cron 5. crontab命令 cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明: crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数 crontab -l //列出某个用户cron服务的详细内容 crontab -r //删除没个用户的cron服务 crontab -e //编辑某个用户的cron服务 比如说root查看自己的cron设置:crontab -u root -l 再例如,root想删除fred的cron设置:crontab -u fred -r 在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e 进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt 任务调度的crond常驻命令 crond 是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此 任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工 作便会自动执行该工作。

linux crontab 详解

基本格式: *****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 名称: crontab 使用权限: 所有使用者 使用方式: crontab file [-u user]-用指定的文件替代目前的crontab。

linux定时任务详细说明

Linux 定时任务 fileclear.sh tamcdir=${HOME}/ora/user_projects/domains/tamc cd ${tamcdir} echorm-f `ls heapdump*.phd` rm-f heapdump*.phd echorm-f `ls javacore*.txt` rm-f javacore*.txt echorm-f `ls Snap*.trc` rm-f Snap*.trc cd bin echocp/dev/null nuhup.out cp/dev/null nuhup.out cd ${tamcdir}/pxbak echorm-rf `ls20*` rm-rf 20* cd ${tamcdir}/webapps/tamcx/fileLoad echorm-f `find/weblogic/ora/user_projects/domains/tamc/webapps/tamcx/fileLoad/ -mtime +1` find/weblogic/ora/user_projects/domains/tamc/webapps/tamcx/fileLoad/ -mtime +1 -exec rm-f {} \; task.crontab #web服务端日志、临时文件清理 101* * * ksh $HOME/tools/clearweblogic.sh>>/weblogic/ora/user_projects/domai ns/tamc/webapps/tamcx/log/crontab.log 2>>/weblogic/ora/user_projects/domains/ta mc/webapps/tamcx/log/crontab.log task.null.crontab是一个没有内容的空文件 开启定时任务 crontab /weblogic/tools/task.crontab 停止定时任务 crontab /weblogic/tools/task.null.crontab crontab [-u username] [-l|-e|-r]

crontab实例+详解 (附:freebsd每天6点重启)

crontab实例+详解(附:freebsd每天6点重启) crontab实例+详解 ########################1###################################### crontab 语法:crontab [-u <用户名称>][配置文件] 或crontab [-u <用户名称>][-elr] 补充说明:cron是一个常驻服务,它提供计时器的功能,让用户在特定的时间得以执行预设的指令或程序。只要用户会编辑计时器的配置文件,就可以使用计时器的功能。其配置文件格式如下: Minute Hour Day Month DayOFWeek Command 配置命令的取值范围: minute (0-59), hour (0-23), day of the month (1-31), month of the year (1-12), day of the week (0-6 with 0=Sunday). 参数: -e 编辑该用户的计时器设置。 -l 列出该用户的计时器设置。 -r 删除该用户的计时器设置。 -u<用户名称> 指定要设定计时器的用户名称。 详细说明: 时程表的格式如下: f1 f2 f3 f4 f5 program 其中f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。 当f1 为* 时表示每分钟都要执行program,f2 为* 时表示每小时都要执行程序,其余类推 当f1 为a-b 时表示从第a 分钟到第b 分钟这段时间内要执行,f2 为a-b 时表示从第a 到第 b 小时都要执行,其余类推 当f1 为*/n 时表示每n 分钟个时间间隔执行一次,f2 为*/n 表示每n 小时个时间间隔执行一次 当f1 为a, b, c,... 时表示第a, b, c,... 分钟要执行,f2 为a, b, c,... 时表示第a, b, c...个小时要执行 使用者也可以将所有的设定先存放在档案file 中,用crontab file 的方式来设定时程表。 引用例子: 每月每天7点的第0 分钟执行一次/bin/ls : 0 7 * * * /bin/ls

Linux的_cron命令使用详解

1.以普通用户登录linux系统(我用的是CentOS4.1) 2.$crontab –e 说明:系统默认的编辑器是VIM,如果不是请加上以下shell: $EDITOR=vi $export EDITOR 3.输入”*/1 * * * * date >> $HOME/test.txt”,save and exit VIM 4.$su root 5.$cd /etc/init.d 6../crond restart 下面看看看几个具体的例子: ● 0 */2 * * * /sbin/service httpd restart意思是每两个小时重启一次apache ● 50 7 * * * /sbin/service sshd start意思是每天7:50开启ssh服务 ● 50 22 * * * /sbin/service sshd stop意思是每天22:50关闭ssh服务 ● 0 0 1,15 * * fsck /home每月1号和15号检查/home 磁盘 ● 1 * * * * /home/bruce/backup每小时的第一分执行/home/bruce/backup这个文件 ● 00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} \; 每周一至周五3点钟,在目录 /home中,查找文件名为*.xxx的文件,并删除4天前的文件。 ● 30 6 */10 * * ls意思是每月的1、11、21、31日是的6:30执行一次ls命令 来源:https://www.doczj.com/doc/2813155296.html,/wtxidian/archive/2007/05/25/1625782.aspx 基本格式: *****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

AIX 里的crontab如何使用

AIX 里的crontab如何使用 crontab命令 用途 提交、编辑、列出或除去cron 作业。 语法 crontab [ -e [UserName] | -l [UserName] | -r [UserName] | -v [UserName] | File ] 描述 这个crontab 命令提交、编辑、列出或除去cron 作业。一个cron 作业是一个命令,其运行是由cron 守护进程在规则的调度间隔执行的。要提交一个cron 作业,指定crontab 命令用-e 标志。crontab 命令调用一个编辑会话,允许创建一个crontab 文件。在这个文件中,为每个cron 创建条目。每个条目必须是一种cron 守护进程可接受的格式。要得到创建条目的信息,参阅crontab 文件条目格式。 当创建完条目和退出文件后,crontab 命令将它拷贝到/var/spool/cron/crontabs 目录,并把它放到一个文件中,此文件的名称是当前的用户名。如果以用户名命名的文件已存在于crontabs 目录中,crontab 命令会覆盖它。 同样的,可以通过指定文件参数创建crontab 文件。如果此文件已经存在,格式必须是cron 守护进程所需要的。如果文件不存在,crontab 命令就调用编辑器。如果EDITOR 环境变量存在,此命令就调用它指定的编辑器。否则,crontab 命令调用vi 编辑器。 要列出crontab 文件的内容,就指定crontab 命令并采用-l 标志。要除去存在的文件,采用-r 标志。可选的UserName 参数可被crontab 文件的所有者或者root 用户来使用,为指定的用户编辑、列出、除去或验证cron 作业的状态。如果UserName 是无效的,就会产生错误消息并退出程序。 如果可选的UserName 参数没有被指定,这个crontab 标志对于root 用户和当前用户可用。 安全性 只有root 用户和crontab 文件的所有者可以在-e、-l、-r 和-v 标志后面使用UserName 以编辑、列出、除去或验证指定用户的crontab 文件。 cron 守护进程 这个cron 守护进程运行的命令和crontab 文件条目是相对应的。如果不重新定向cron 作业的输出为标准输出或标准错误,cron 守护进程就会通过电子邮件告知您任何命令输出或错误。如果在crontab 文件中指定了不正确的cron 作业,这个cron 守护进程不运行这个作业。

相关主题
文本预览
相关文档 最新文档