Linux定时任务crontab
2015-08-19 16:08
561 查看
cron是linux下的定时执行工具,并提供crontab命令来设定cron服务。
service crond status //查看cron运行状态
service crond start //启动cron服务
service crond stop //停止cron服务
service crond restart //重启cron服务
1.配置用户级cron
1)crontab参数:
2)增加某个用户的cron服务
假如当前登录用户为root,则使用crontab -e命令为root用户创建一个定时任务。
3)定时任务格式说明
前半部分为时间设定,前5个*代表5个数值,其取值范围及含义如下:
*:分钟(0-59)
*:小时(0-23)
*:日期(1-31)
*:月份(1-12)
*:星期(0-6),0表示星期天
除了数字,还有一些特殊符号可能会运用在上面5个地方,如:
“*”表示取值范围内的任意数值;
“/”表示每的意思,表示间隔;
“-“表示从某个数字到某个数字
举例说明:
后半部分为需要执行的脚本或者脚本文件及相应的参数。
如:
上面一行表示:每个星期五22点10分执行脚本文件datashuo_fast_backup.sh,同时传送2个参数market和market_weixin,并将执行过程信息输出到对应的日志文件中。
2>&1表示错误信息重定向到标准信息,即不管是错误信息还是标准信息都输出到日志文件中。
4)使用crontab -e编辑任务并保存后,cron自动在/var/spool/cron下生成一个与此用户同名的文件,该文件记录了某个用户的cron信息。
该文件不可被编辑,只能查看。
5)cron会每过一分钟读一次这个文件,检查是否要执行里面的命令。所以在使用crontab -e编辑任务后,无需重启crond
2.配置系统级cron
cron服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab文件。
用crontab配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务。
此文件格式为:
如,vi /etc/crontab,增加如下信息:
注:
如果去掉参数”run-parts”,那么后面直接跟需要执行的命令或者脚本文件即可。
如果使用参数”run -parts”,后面接脚本文件所在的路径。
service crond status //查看cron运行状态
service crond start //启动cron服务
service crond stop //停止cron服务
service crond restart //重启cron服务
1.配置用户级cron
1)crontab参数:
crontab -e //编辑某个用户的cron服务。 crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数 crontab -l //查看某个用户cron服务的详细内容 crontab -r //删除某个用户的cron服务
2)增加某个用户的cron服务
假如当前登录用户为root,则使用crontab -e命令为root用户创建一个定时任务。
3)定时任务格式说明
* * * * * file/comand [arg1,arg2,...]
前半部分为时间设定,前5个*代表5个数值,其取值范围及含义如下:
*:分钟(0-59)
*:小时(0-23)
*:日期(1-31)
*:月份(1-12)
*:星期(0-6),0表示星期天
除了数字,还有一些特殊符号可能会运用在上面5个地方,如:
“*”表示取值范围内的任意数值;
“/”表示每的意思,表示间隔;
“-“表示从某个数字到某个数字
举例说明:
0 6 * * * echo "Good morning." //每天早上6点执行命令 0 */2 * * * echo "Have a break now." >> /tmp/test.txt //每2小时执行命令 0 4 1 1 * command line //1月1号早上4点执行命令
后半部分为需要执行的脚本或者脚本文件及相应的参数。
如:
10 22 * * 5 /home/mysqldump/datashuo_fast_backup.sh market market_weixin datashuo_fast_backup.log 2>&1
上面一行表示:每个星期五22点10分执行脚本文件datashuo_fast_backup.sh,同时传送2个参数market和market_weixin,并将执行过程信息输出到对应的日志文件中。
2>&1表示错误信息重定向到标准信息,即不管是错误信息还是标准信息都输出到日志文件中。
4)使用crontab -e编辑任务并保存后,cron自动在/var/spool/cron下生成一个与此用户同名的文件,该文件记录了某个用户的cron信息。
该文件不可被编辑,只能查看。
5)cron会每过一分钟读一次这个文件,检查是否要执行里面的命令。所以在使用crontab -e编辑任务后,无需重启crond
2.配置系统级cron
cron服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab文件。
用crontab配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务。
此文件格式为:
SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号 HOME=/ //使用者运行的路径,这里是根目录 #For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed
如,vi /etc/crontab,增加如下信息:
01 * * * * root run-parts /etc/cron.hourly //root用户每小时执行/etc/cron.hourly内的脚本 02 4 * * * root run-parts /etc/cron.daily //root用户每天执行/etc/cron.daily内的脚本 22 4 * * 0 root run-parts /etc/cron.weekly //root用户每星期执行/etc/cron.weekly内的脚本 42 4 1 * * root run-parts /etc/cron.monthly //root用户每月去执行/etc/cron.monthly内的脚本
注:
如果去掉参数”run-parts”,那么后面直接跟需要执行的命令或者脚本文件即可。
如果使用参数”run -parts”,后面接脚本文件所在的路径。
相关文章推荐
- Linux socket 初步
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- 基于 Linux 集群环境上 GPFS 的问题诊断
- 谁是桌面王者?Win PK Linux三大镇山之宝
- vivi下重新调整分区
- Linux VS Unix:Linux欲一统天下 Unix不死
- linux下设定环境变量
- Linux下修改MySQL编码的方法