suse linux定时任务

CARBON 2011-06-29

步骤:

1.用vi编写要执行的shell脚本t.sh:

例如:

#!/bin/bash

echo"Iloveyou!">>/home/luogen30/Desktop/t.txt

(注:该脚本是向t.txt文件中append一句话.)

2.在命令终端输入:crontab-e弹出命令编辑窗口.

3.编辑如下命令:

** ** */home/luogen30/Desktop/t.sh

(每秒钟执行一次t.sh.)

4.在命令终端执行:cronrestart,

重启定时任务.

5.查看已经编写的定时任务:

在命令终端输入:crontab-l

备注:

一个crontab文件包含每个cron作业的条目。条目由换行字符分开。每个crontab文件条目包括6个字段,它们被空格或制表符以以下格式分开:

minutehourday_of_monthmonthweekdaycommand

这些字段接收以下值:

minute0到59

hour0到23

day_of_month1到31

month1到12

weekday0到6(星期天到星期六)

commandshell命令

必须为每个字段指定一个值。除了command字段,这些字段可以包含以下内容:

*指定范围内的一个数。要在5月运行一个命令,在月字段指定5。

*两个被破折号分开的数目表明了包含的范围。要从星期二到星期五运行cron作业,把2-5放到weekday字段中。

*由逗号隔开的数字列表。要在一月第一天和最后一天的运行命令,在日_of_月字段中可指定1,31。

**(星号),意味着所有的允许值。要每个小时运行一个作业,在小时字段指定一个星号。

注:任一字符前如有一个反斜杠符号(包括%)会引起字符被字面上的处理。天的规范是由两个字段(月的天和星期的天)组成的。如果指定两者都为元素的一个列表,这两个字段均被包含在其中。例如,如下条目:

001,15*1command

将在每个月的第一天和第十五天运行command,还有每个星期一。要仅在一个字段中指定天,另一字段应包含*。

指定命令

这个cron守护进程运行命名于所选日期和时间的第六个字段中的字段。如果包含一个%(百分号)在第六字段,cron守护进程像命令调用一样处理所有的任务,并使所有的后续任务在标准输入上可用,除非转义百分号(\%)。空行和第一个非空字符是编号标记(#)将被忽略。如果命令含有反斜杠(\)的参数,反斜杠前应加另一个反斜杠。

注:

shell只运行该命令字段的第一行。所有其它的行作为标准的输入对于命令可用。

cron守护进程从HOME目录中启动一个子shell。如果调度一个命令运行,这时您尚未登录,并且希望在.profile文件中的命令运行,这个命令必须明确的读取您的.profile文件。

cron守护进程为每个shell提供了一个缺省的环境,定义了HOME,LOGNAME,SHELL(=/usr/bin/sh)和PATH(=/usr/bin)。

标志

-eUserName编辑用户的crontab文件的拷贝,或者,如果一个有效的UserName的crontab文件不存在则创建一个空的文件进行编辑。当编辑完成后,文件被拷贝到crontab目录作为用户的crontab文件。

-lUserName列出用户的crontab文件。

-rUserName从crontab目录除去用户的crontab文件。

-vUserName列出用户cron作业的状态。

安全性

审计事件:如果审计子系统已经被正确的配置和启用,crontab守护进程就会当每次执行命令时产生以下审计记录(或事件):

事件信息

CRON_JobRemove列出哪一个用户除去了cron作业和除去的时间。

CRON_JobAdd列出哪一个用户添加了cron作业和添加的时间。

请参阅《AIX5LV5.2安全指南》中的『设置审计』以获取关于如何适当地选择和分组审计事件及如何配置审计事件数据集合的详细信息。

退出状态

此命令返回以下退出值:

0成功完成。

>0发生错误。

示例

1.拷贝一个名为mycronjobs的文件,到/var/admn/cron/crontabs目录下,输入以下内容:

crontabmycronjobs

2.将时间以小时的形式把每个小时写到console中,输入:

0****echoThehouris`date`。

>/dev/console

3.要在每个星期一、星期三和星期五的6:30a.m.运行calendar命令,输入:

306**1,3,5/usr/bin/calendar

4.要在一年的每一天的6:30运行calendar命令,输入:

306***/usr/bin/calendar

5.要在八月的每天午夜运行一个称为maintenance的脚本,输入:

00*8*/u/harry/bin/maintenance

6.为命令的标准输入定义文本,输入:

016*125/usr/sbin/wall%HAPPYHOLIDAY!%Rememberto

turninyourtimecard.

在%(百分号)之后定义wall命令的标准输入的文本:

HAPPYHOLIDAY!

Remembertoturninyourtimecard.

文件

/var/adm/cron/FIFO当新的作业的提交是由crontab或at命令完成时,一个发送消息到cron守护进程的命名管道。

/var/spool/cron/crontabs指定crontab缓冲池区域。

/var/adm/cron/cron.allow指定用户列表,这些用户被允许访问crontab命令。

/var/adm/cron/cron.deny指定用户列表,这些用户不被允许访问crontab命令。

相关信息

auditpr命令、sh命令、wall命令。

cron守护进程。

相关推荐