您的位置  > 互联网

cron服务每分钟不仅要读一次//,内的所有文件

您可以使用 cron 服务来做一些事情。 配置是针对某个用户的,而编辑/etc/是系统任务。 该文件的文件格式为:

外壳=/bin/bash

路径=/sbin:/bin:/usr/sbin:/usr/bin

=root //如果发生错误或输出数据,数据将以电子邮件的形式发送到该帐户。

HOME=/ //用户运行的路径,这个是根目录

#run-parts

01 * * * * root run-parts /etc/cron. //执行/etc/cron.中的脚本每隔一小时

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

22 4 * * 0 root run-parts /etc/cron. //执行/etc/cron.中的脚本每周

42 4 1 * * root run-parts /etc/cron. //执行/etc/cron.中的脚本每个月

请注意“run-parts”参数。 如果删除此参数,则稍后可以写入要运行的脚本的名称,而不是文件夹名称。

范围:

-e:执行文本编辑器来设置时间表。 默认的文本编辑器是 VI。 如果您想使用其他文本编辑器,请先设置环境变量以指定使用哪个文本编辑器(例如 joe )

-r:删除当前日程

-l:列出当前日程

file [-u user] - 将当前文件替换为指定文件。

时间表的格式如下:

f1 f2 f3 f4 f5

其中,f1代表分钟,f2代表小时,f3代表月份中的第几天,f4代表月份,f5代表星期几。 表示要执行的程序。

当f1为*时,表示每分钟执行一次程序,当f2为*时,表示每小时执行一次程序,以此类推。

当f1为ab时,表示从第a分钟到第b分钟执行。 当f2为ab时,表示从第a个到第b个小时执行,以此类推。

当f1为*/n时,表示每n分钟执行一次。 当f2为*/n时,表示每n小时执行一次。 等等。

当f1为a,b,c,...时,表示执行a,b,c,...分钟。 当f2为a,b,c,...时,表示要执行的a,b,c...小时,以此类推

用户也可以先将所有设置存储在一个文件中,然后使用文件方法来设置时间表。

例子:

#每天早上7点执行/bin/ls:

0 7 * * * /bin/ls

12个月内,每天早上6点到12点每3小时执行一次/usr/bin/:

0 6-12/3 * 12 * /usr/bin/

周一至周五每天下午 5:00 发送一封信至:

0 17 * * 1-5 邮件 -s "hi" < /tmp/

在每月每天的午夜 0:20、2:20、4:20... 执行 echo "haha"

20 0-23/2 * * * 回声“哈哈”

注意:

当程序在您指定的时间执行时,系统会向您发送一封信,显示程序的执行内容。 如果您不想收到这样的信件,请在每行后面添加 > /dev,并加一个空格。 /null 2>&1 就足够了

示例2:

#:10am

10 6 * * * 日期

#每两个小时

0 */2 * * * 日期

#晚上11点到早上8点、早上8点每两小时一次

0 23-7/2, 8 * * * 日期

#每月4号以及每周一至周三上午11点

0 11 4 * 周一至周三日期

#1月日凌晨4点

0 4 1 一月*日期

例子

$ -l 列出用户当前的 .

Linux任务计划

2008/11/21 10:35

Cron是Linux下的一个定时执行工具,无需人工干预即可运行作业。 由于Cron是Linux内置的服务,但它不会自动启动,因此可以使用以下方法来启动和关闭该服务:

/sbin/ crond start //启动服务

/sbin/ crond stop //关闭服务

/sbin/ crond //重启服务

/sbin/ crond //重新加载配置

也可以在系统启动时自动启动该服务:

在 /etc/rc.d/rc.local 脚本末尾添加:

/sbin/ crond 启动

现在Cron服务已经在进程中,我们可以使用这个服务了。 Cron服务提供了以下接口供大家使用:

1.直接用命令编辑

cron 服务提供设置 cron 服务的命令。 以下是该命令的一些参数及说明:

-u //设置某个用户的cron服务。 一般root用户执行该命令时需要该参数。

-l //列出用户的cron服务的详细信息

-r //删除某个用户的cron服务

-e //编辑用户的cron服务

例如,root 检查自己的 cron 设置: -u root -l

再比如,root想要删除fred的cron设置: -u fred -r

编辑 cron 服务时,编辑的内容具有一些格式和约定。 输入:-u root -e

进入vi编辑模式,编辑的内容必须符合以下格式:*/1 * * * * ls >> /tmp/ls.txt

该格式的前一部分是时间设置,后一部分是要执行的命令。 如果要执行的命令太多,可以将这些命令写成一个脚本,然后在这里直接调用脚本。 调用时请记住写下命令的完整路径。 我们对时间的设定有一定的协议。 前五个 * 符号代表五个数字。 数字的取值范围及含义如下:

分钟 (0-59)

小时(0-23)

日期 (1-31)

月份(1-12)

星期几(0-6) //0代表星期日

除了数字之外,还有几个特殊符号:“*”、“/”和“-”、“、”。 *代表取值范围内的所有数字,“/”代表每个的含义,“*/5”代表每5个单位,“-”代表从某个数字到某个数字,”,”分隔几个离散的数字。 下面举几个例子来说明问题:

每天早上6点

0 6 * * * 回显“好”。 >> /tmp/test.txt //请注意,使用简单的 echo,屏幕上看不到任何输出,因为 cron 会将任何输出通过电子邮件发送到根邮箱。

每两个小时

0 */2 * * * echo“现在休息一下。” >> /tmp/test.txt

晚上 11 点至上午 8 点、上午 8 点每两小时一次

0 23-7/2, 8 * * * echo "祝你好梦:)" >> /tmp/test.txt

每月 4 日以及每周一至周三上午 11 点

0 11 4 * 1-3行

1 月 1 日凌晨 4 点

0 4 1 1 * 行

每次编辑用户的 cron 设置时,cron 都会自动在 /var/spool/cron 下生成一个与用户同名的文件。 该文件中记录了用户的cron信息。 该文件无法直接编辑。 是的,只能用-e 来编辑。 cron启动后,每次都会读取这个文件,检查里面的命令是否需要执行。 因此,修改此文件后无需重新启动cron服务。

2.编辑/etc/文件配置cron

cron服务不仅需要每分钟读取一次/var/spool/cron中的所有文件,还需要读取一次/etc/,所以我们也可以通过配置这个文件来使用cron服务来做一些事情。 配置是针对某个用户的,而编辑/etc/是系统任务。 该文件的文件格式为:

外壳=/bin/bash

路径=/sbin:/bin:/usr/sbin:/usr/bin

=root //如果发生错误或输出数据,数据将以电子邮件的形式发送到该帐户。

HOME=/ //用户运行的路径,这个是根目录

#run-parts

01 * * * * root run-parts /etc/cron. //执行/etc/cron.中的脚本每隔一小时

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

22 4 * * 0 root run-parts /etc/cron. //执行/etc/cron.中的脚本每周

42 4 1 * * root run-parts /etc/cron. //执行/etc/cron.中的脚本每个月

请注意“run-parts”参数。 如果删除此参数,则稍后可以写入要运行的脚本的名称,而不是文件夹名称。

-----------------------------------------------------------

基本格式:

** ** ** **

分时日-月-周命令

第 1 列表示 1 到 59 分钟。每分钟用 * 或 */1 表示。

第 2 列代表 1 到 23 小时(0 代表 0 点)

第 3 列代表日期 1 到 31

第 4 列代表第 1 至 12 个月

第 5 列标识从 0 到 6 的星期几(0 表示星期日)

在第 6 列中运行的命令

一些文件示例:

30 21 * * * /usr/local/etc/rc.d/

上面的例子表示每晚21:30重启。

45 4 1,10,22 * * /usr/local/etc/rc.d/

上例表示每月 1 日、10 日、22 日 4:45 重启。

10 1 * * 6,0 /usr/local/etc/rc.d/

上例表示每周六、日凌晨1点10分重启。

0,30 18-23 * * * /usr/local/etc/rc.d/

上面的例子表示每天18:00到23:00之间每30分钟重启一次。

0 23 * * 6 /usr/local/etc/rc.d/

上面的例子表示每周六晚上11:00重启。

* */1 * * * /usr/local/etc/rc.d/