首页 > 代码库 > linux crontab实现自动化任务

linux crontab实现自动化任务

在服务器中我们经常需要定时自动让程序自动进行数据备份、程序备份、执行某个进程等等操作,在linux服务器一般使用crontab实现,而windows下使用计划任务实现,crontab是linux系统下比较常用的定时执行程序,可以让程序在无人工干预的情况下自动执行某项操作,以下操作仅以cent-os为例。

1、 安装crontab

yum install vixie-cron crontabs //安装crontab,
//vixie-cron软件包是cron的主程序
//crontabs软件包是用来安装、卸装、 或列举用来驱动 cron 守护进程的表格的程序。
chkconfig crond on //设置crond进程开机自动启动
service crond start //启动进程

2、crontab使用方法

crontab -l           //查看crontab执行任务列表
crontab -e //添加crontab执行任务
crontab -r //删除该用户的任务
crontab -u<用户名称> //指定设定任务到指定用户

3、crontab命令格式

a) 基本格式

格式分钟minute小时hour日期dayofmonth月份month周dayofweek操作命令command
取值范围0~590~231~311~120~7命令行

在crontab中有4个特殊取值,*   ,  -    /,这几个符号分别代码的意思是

*代表所有,如 0 12 * * * ls 表示每年每月每天12点都执行ls命令。
,代表多个值,如1,60 12 8 9 * ls 表示9月8日12点的1分和16分时执行ls 命令。
-代表区间值,如0 3-6 * * * ls 表示每天3到6整点执行ls命令。
/n代表每隔n长时间,如0 1 * * * ls 表示每隔1小时执行ls命令。

b)操作实例

 每天24点执行数据备份程序:0 24 * * * /root/backup.sh

 每周日3点清理日志程序:0 3 * * 7 /root/clear.sh