Linux cron计划任务
系统信息:redhat 5.4
一、cron概述:
计划任务,是任务在约定的时间执行已经计划好的工作,是让系统自动完成一些工作。在Linux中, crond 服务是他的守护进程。cron服务器可以根据配置文件约定的时间来执行特定的作务。比如我们可以在配置文件中约定每天早上4点,对计算机的使用情况进行一次统计,就是一个计划任务;
在Linux系统中,计划任务一般是由cron承担,我们可以把cron设置为开机时自动启动。cron启动后,它会读取它的所有配置文件(全局性配置文件
/etc/crontab,以及每个用户的计划任务配置文件),然后cron会根据命令和执行时间来按时来调用度工作任务。
1
、检查
cron
相关软件包的安装情况:
在一般情况下,cron都是系统默认安装的,我们要学会查看软件包是否已经安装;
说明:
1)vixie-cron软件包是cron的主程序;
2)crontabs 软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。cron 守护进程检查 crontab 文件来查看某个指定命令被调度执行的时间。如果命令已经调度,守护进程就会执行它们。
2
、安装相关包:如果没有安装的话可以安装它
3、cron相关服务的启动控制:
Service crond restart 或 /etc/init.d/crond restart
Service crond start 或 /etc/init.d/crond start
Service crond stop 或 /etc/init.d/crond stop
二、Cron相关配置:
1、配置文件/etc/crontab:
# run-parts
01 * * * *
root run-parts /etc/cron.hourly //
每小时的第一分钟执行
/etc/cron.hourly
内的脚本
02 4 * * *
root run-parts /etc/cron.daily //
每天
4
点
2
分执行
/etc/cron.daily
内的脚本
22 4 * * 0
root run-parts /etc/cron.weekly //
每周日
4
点
22
分执行
/etc/cron.weekly
内的脚本
42 4 1 * *
root run-parts /etc/cron.monthly //
每月
1
号
4
点
42
分执行
/etc/cron.monthly
内的脚本
最后一列:
-------------------- //
运行脚本的文件的存放目录,可以写文件名;
倒数第二列:
----------- //
该部分后面跟文件夹,如果是文件名,则不写;
第二列:
用户名,也就是执行程序要通过哪个用户来执行,这个一般可以省略;
第一列:分钟 小时 日 月 星期
//时间书写格式
分钟
|
0-59
|
小时
|
0-23
|
日期
|
1-31
|
月份
|
1-12
|
星期
|
0-7(0
或者
7
为星期日,
1
为星期一),
Sun,Mon,Tue
……
|
2:用户设置Cron计划的命令:
crontab [-u username] <-l|-e|-r>
默认是当前用户
1)crontab –e 编辑crontab项目;
备注:
A、时间部分各部分之间空格数可以随便;
B、最后命令部分需要写完整路径;如果是目录前面需要增加
run-parts
;
C
、编写号以后按“
:wq
”保存退出;
2)crontab –l 列出相关crontab项目;
这个就是我们上面设定的任务,每天8点12分运行/usr/bin/free命令;
3)crontab –r 删除crontab项目;
3、用户cron用户限制:可以限制那些用户可以使用计划任务
/etc/cron.allow该文件中用户可以使用cron任务 ,
每个账号一行,
比cron.deny优先级高
/etc/cron.deny 该文件中用户不能使用cron任务 ,
每个账号一行
备注:
如果两个文件都不存在,则默认所有用户均可以使用cron服务;