您可以使用 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/