在服务器中我们经常需要定时自动让程序自动进行数据备份、程序备份、执行某个进程等等操作,在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~59 | 0~23 | 1~31 | 1~12 | 0~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