发布日期:2015-10-13 15:13 来源: 标签: Linux操作系统 Linux教程 Linux定时任务 suse linux定时任务
本章节我们主要学习suse linux定时任务,下面我们就做一下具体讲解,希望对大家有所帮助。
步骤:

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

  例如:

   #!/bin/bash
     echo "I love you !" >>/home/luogen30/Desktop/t.txt

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

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

3. 编辑如下命令:

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

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

4.在命令终端 执行:cron restart ,

    重启定时任务.

5.查看已经编写的定时任务:
  
    在命令终端输入:crontab -l


备注:

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

minute  hour  day_of_month  month  weekday  command

这些字段接收以下值:
minute     0 到 59
hour     0 到 23
day_of_month     1 到 31
month     1 到 12
weekday     0 到 6(星期天到星期六)
command     shell 命令

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

* 指定范围内的一个数。要在 5 月运行一个命令,在 月 字段指定 5。
    * 两个被破折号分开的数目表明了包含的范围。要从星期二到星期五运行 cron 作业,把 2-5 放到 weekday 字段中。
    * 由逗号隔开的数字列表。要在一月第一天和最后一天的运行命令,在日_of_月 字段中可指定 1,31。
    * * (星号),意味着所有的允许值。要每个小时运行一个作业,在小时字段指定一个星号。

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

    0 0 1,15 * 1 command

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

指定命令

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

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

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

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

-e UserName     编辑用户的 crontab 文件的拷贝,或者,如果一个有效的 UserName 的 crontab 文件不存在则创建一个空的文件进行编辑。当编辑完成后,文件被拷贝到 crontab 目录作为用户的crontab 文件。
-l UserName     列出用户的 crontab 文件。
-r UserName     从 crontab 目录除去用户的 crontab 文件。
-v UserName     列出用户 cron 作业的状态。
安全性

审计事件:如果审计子系统已经被正确的配置和启用,crontab 守护进程就会当每次执行命令时产生以下审计记录(或事件):
事件     信息
CRON_JobRemove     列出哪一个用户除去了 cron 作业和除去的时间。
CRON_JobAdd     列出哪一个用户添加了 cron 作业和添加的时间。

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

此命令返回以下退出值:
0     成功完成。
>0     发生错误。
示例

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

      crontab mycronjobs

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

      0 * * * * echo The hour is `date` 。
      >/dev/console

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

      30 6 * * 1,3,5 /usr/bin/calendar

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

      30 6 * * * /usr/bin/calendar

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

      0 0 * 8 * /u/harry/bin/maintenance

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

      0 16 * 12 5 /usr/sbin/wall%HAPPY HOLIDAY!%Remember to
      turn in your time card.

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

      HAPPY HOLIDAY!
      
      Remember to turn in your time card.

文件

/var/adm/cron/FIFO     当新的作业的提交是由 crontab 或 at 命令完成时,一个发送消息到 cron 守护进程的命名管道。
/var/spool/cron/crontabs     指定 crontab 缓冲池区域。
/var/adm/cron/cron.allow     指定用户列表,这些用户被允许访问 crontab 命令。
/var/adm/cron/cron.deny     指定用户列表,这些用户不被允许访问 crontab 命令。 

相关评论

专题信息
    Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。本教程主要讲解Linux定时任务、Linux定时器、crontab命令等。