Advertisement

linux系统定时任务(cron服务)设置

阅读量:

为当前用户创建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 是指运行脚本所需的命令(例如 sh),而后一部分表示脚本存储的位置。

2. 查看该用户下的crontab服务是否创建成功, 用 crontab -l 命令

3. 启动crontab服务

通常我们会使用 /sbin/service crond start 来启动服务;如果是根用户的 Cron 服务,则需要使用 sudo 命令运行:sudo service crond start;需要注意的是,在不同的 Linux 版本中启动服务的命令也会有所差异;例如,在我的虚拟机中使用 sudo service cron restart 即可启动服务;如果在根用户下直接输入 service cron start 也能启动服务

4. 查看服务是否已经运行用 ps -ax | grep cron

5. crontab命令

该cron服务给出crontab指令以配置cron服务的运行模式,并详细描述了此指令包含的参数及其说明。

crontab用于为某个用户配置cron表单项任务。root用户通常需要此参数来执行 cron 服务。
列出某个用户的 cron 服务详细信息可通过 crontab 命令查看。
删除某个用户的 cron 服务可使用 crontab -r 命令完成。
编辑特定用户的 cron 服务则需要运行 crontab -e 命令。
例如 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工具通常是永久运行状态。

任务调度指令。cron命令每隔一分钟会定期检查是否需要处理工作

作便会自动执行该工作。

6. crontab命令选项:

-u指定一个用户

-l列出某个用户的任务计划

-r删除某个用户的任务

-e编辑某个用户的任务

7. cron文件语法:

分 小时 日 月 星期 命令

0-59 0-23 1-31 1-12 0-6 command (取值范围,0表示周日一般一行对应一个任务)

记住几个特殊符号的含义:

Any number of items can be selected using .... For each item, a price of $/item is required. Several distinct numbers can be used here from 1 to 10 items. The list includes several distinct numbers separated by commas.

可使用crontab -e命令进行编辑操作,并主要针对位于/var/spool/cron下的用户特定cron表单文件进行修改。此外,在某些情况下也可以直接访问/etc/crontab目录下的 cron表单文件并进行相应的调整。具体格式如下所示:

对于一些特定的字段值设置,在实际操作中可以根据具体情况来定。对于那些未指定的字段,则需要用星号表示其位置缺省值。

以此类推,也可以用英文来表示,sun表示星期天,mon表示星期一等。]

30 3 10,20 * * ls 每月10号及20号的3:30执行ls命令[注:“,”用来连接多个不连续的时段]

25 8-11 * * * ls 每天8-11点的第25分钟执行ls命令[注:“-”用来连接连续的时段]

*/15 * * * * ls 每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令 ]

30 6 */10 * * ls 每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls 命令。 ]

每天7:50以root 身份执行/etc/cron.daily目录中的所有可执行文件

第50到第7天每天定时运行根目录下的所有可执行文件 run-parts 参数 /etc/cron.daily [ 注解:run-parts参数表示所有位于后续目录中的可执行文件 ].

9. 新增调度任务

可采用以下两种方法来实现:

  1. 通过命令行指令:crontab -e 并添加相应任务后保存退出;
  2. 直接编辑文件并插入所需内容。

浏览所有调度任务

11. 删除任务调度工作
crontab -r //删除所有任务调度工作

12. 任务调度执行结果的转向
例1:每天5:30执行ls命令,并把结果输出到/jp/test文件中
30 5 * * * ls >/jp/test 2>&1
注:2>&1 表示执行结果及错误信息。
编辑/etc/crontab 文件配置cron

cron服务每隔一分钟不仅需要读取[var/spool/cron]目录下的所有文件,还必须进行一次[etc/crontab]文件的读取操作,以便完成定时任务的初始化.通过设置[etc/crontab]文件,我们可以实现对多个cron工作流程的统一配置.值得注意的是,单独编辑[etc/crontab]文件属于系统管理范畴,而通过用户特定目录下的cron工作流程则属于个人用户的专用配置.此文档采用如下格式:

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-part /etc/cron.monthly //每月定期运行/etc/cron.monthly内的脚本
值得注意的是,“run-part”这一参数具有重要性。如果省略该参数,则可以在后续指令中直接指定要执行的具体脚本名称。

例如:

  1. 在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。

2)直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务
11 2 21 10 * rm -rf /mnt/fb

全部评论 (0)

还没有任何评论哟~