标签:
Linux下的Cron用于定时执行设置的周期性指令,是Linux的内置服务,可以用以下的方法启动、关闭这个服务:
/sbin/service crond start //启动服务 /sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 /sbin/service crond reload //重新载入配置
或者使用 /etc/init.d/cron [start/stop/restart]命令
如果将这个服务在系统启动的时候自动启动,在/etc/rc.d/rc.local这个脚本的末尾加上:
/sbin/service crond start
.---------------- 分钟(0 - 59)
| .------------- 小时(0 - 23)
| | .---------- 月天 (1 - 31)
| | | .------- 月 (1 - 12) 或 jan,feb,mar,apr ...
| | | | .---- 周天 (0 - 6) (Sunday=0 or 7) 或 sun,mon,tue,wed,thu,fri,sat
| | | | |
* * * * * [用户名] [可选参数] 命令
前5个字段还可以使用几个特殊的符号就是"*"、"/"和"-"、",",*代表所有的取值范围内的数字,"/"代表每的意思,"*/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字
在可选参数这要提一下,run-parts,如果使用这个参数后面的命令就是文件夹路径,执行这个路径下所有脚本,例如
02 4 * * * root run-parts /etc/cron.daily #每天4:02执行/etc/cron.daily内的脚本
/etc/cron.deny #该文件中所列的用户不允许使用Crontab命令 /etc/cron.allow #该文件中所列的用户允许使用Crontab命令 /var/spool/cron/ #是所有用户的crontab文件目录
/etc/crontab #系统级别cron任务
/var/spool/cron/ #任务有输出或出错邮件目录
find /opt/app/hadoop/zk*/logs/version-2/ -mtime +20 -type f -name "log.*" -exec rm -rf {} \; #删除修改日期20天前的以log.开头的日志
#find /opt/app/hadoop/zk*/logs/version-2/ -mtime +20 -type f -name "log.*" -exec mv {} /opt/app/hadoop/logs_bk/ \;
执行:chmod u+x /opt/app/hadoop/mylogs_clear.sh 提升执行权限,最好确认下有没有运行权限,否则有肯能造成运行失败
然后,crontab -e编辑加入任务
40 9 * * 4 /opt/app/hadoop/mylogs_clear.sh #周四9:40执行
如果不放心可以重启下cron服务
参考文章:
标签:
原文地址:http://www.cnblogs.com/yhzh/p/5089551.html