您的位置:首页 > 运维架构 > Linux

Linux系统使用crontab命令实现计划任务

2012-09-18 17:26 786 查看
1、cron和crontab简介
cron是linux系统主要的调度进程,可以在无人干预的情况下执行命令。crontab命令允许用户编辑、删除、提交相应的作业,每一个用户都可以有 自己的crontab文件来保存调度信息,你可以使用它每隔一小时、每隔一周或者一周三次来执行任意一个Shell脚本或者命令。

2、crontab的格式
crontab的格式为:分 时 日 月 星期 命令(中间用空格隔开)。
crontab文件的条目是从左边读起的,第一列是分,以此类推,最后一列是需要执行的命令。
每一列称为crontab的一个域,在这些域中,可以用-来连接一个时间范围,例如星期一到星期五,可以用1-5来表示。单个时间点可以用,号分隔,比如 星期一和星期四,那么可以表示为1,4。如果某个表示时间的域没有特别限制,可以用*号表示。每一个时间条目包含5个域,用空格隔开。
比如我希望每天晚上21:30运行bin目录下的cleanup.sh文件,那么该命令就应该为:
30 21 * * * /app/bin/cleanup.sh (注意:由于不需要限定日期、月份、星期,所以日期、月份和星期域用*号表示)
比如我希望每月得1、10、20的00:00运行backup.sh文件,那么命令应该为:
00 00 1,10,20 * * /app/bin/backup.sh (注意:由于不需要限定月份和星期,所以月份和星期域用*号表示)

3、crontab命令的选项
crontab命令的一般形式为:crontab [-u user] -e -l -r
-u 用户名(user)
-e 编辑crontab文件(edit)
-l 列出crontab文件的内容(list)
-r 删除crontab文件(remove)
如果是使用当前用户执行crontab命令,便不需要使用-u选项,因为crontab命令会自动识别当前用户。

4、创建一个新的crontab文件
如果希望系统自动执行相应的Shell脚本,需要向调度进程cron提交一个crontab文件,首先需要让系统知道该脚本的路径和环境变量,所以创建一个crontab文件的步骤如下:
(1)设置环境变量EDITOR
cron进程根据它来确定使用哪个编辑器编辑crontab文件,如果使用vi来编辑crontab文件,那么在$HOME目录下的.profile文件中加入一行:
EDITOR=vi;export EDITOR
(2)新建一个crontab文件,命名为usercron,在该文件中输入以下内容:
#每天晚上21:30运行bin目录下的cleanup.sh文件
30 21 * * * /app/bin/cleanup.sh
编辑完成后保存退出。
(3)提交刚刚创建的crontab文件
$ crontab usercron
此时,usercron文件已经提交给cron进程,它将每天晚上21:30运行一次。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux 用户 计划