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
  • cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除没个用户的cron服务
crontab -e //编辑某个用户的cron服务
 
输入:crontab -e,有时可能会让你选择一个编辑器,选就好了,进入编辑模式后按照格式添加任务

.---------------- 分钟(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内的脚本

编辑完后保存退出,自动在/var/spool/cron下生成一个与此用户同名的文件,cron启动后每分钟读一次/var/spool/cron内的所有文件,检查是否要执行里面的命令,因此此文件修改后不需要重新启动cron服务
  • 编辑/etc/crontab 文件配置cron,cron服务每分钟也读一次/etc/crontab,用crontab配置是针对某个用户的,这个文件针对系统的任务,添加任务的格式同上
 
下面列出cron相关文件
/etc/cron.deny #该文件中所列的用户不允许使用Crontab命令 

/etc/cron.allow #该文件中所列的用户允许使用Crontab命令 

/var/spool/cron/ #是所有用户的crontab文件目录

/etc/crontab #系统级别cron任务 

/var/spool/mail/ #任务有输出或出错邮件目录
 
下面是我设定的一个简单定期删除日志文件的任务
在 /opt/app/hadoop/mylogs_clear.sh写入命令
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服务

附:

#-mtime参数说明
-mtime +20 #修改时间在【当前时间-(20+1)*24】之前
-mtime -20 #修改时间在【当前时间】和【当前时间-20*24】以内
-mtime 20 #修改时间在【当前时间-(20+1)*24】 和【当前时间 - 20*24】之间

参考文章:

1. Linux应用总结(1):自动删除n天前日志

2. Linux中find常见用法示例

3. Ubuntu下crontab命令的用法

linux的cron服务及应用的更多相关文章

  1. 关于linux上cron服务的python封装工具

    关于cron:定时任务服务,一般linux自带且已启动.(pgrep cron查看cron服务是否启动了.) 关于plan:一个通过python来定制cron服务的工具.其官网:http://plan ...

  2. Linux的cron服务

    可以用以下命令启动和停止服务: /sbin/service crond start /sbin/service crond stop /sbin/service crond restart /sbin ...

  3. Linux下的定时任务 - Cron服务

    最近搞咕自己的笔记系统,虽然现在是个人的使用,对于数据库的数据还是比较少,但是安全还是一个我必须注意的东西. (特别是前段时间中了比特币的病毒之后,更是让我关注了我的主机的安全的问题.) 今天的随记是 ...

  4. Linux 中的定时处理 cron服务

    cron服务 在LINUX中,周期执行的任务一般由cron这个守护进程来处理 当安装完操作系统后默认会安装此服务工具并且会自动启动crond,该进程会每分钟定期检查是否有要执行的任务,若有则执行. c ...

  5. Linux下cron的使用

    cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业.由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动.关闭这个服务: /sbin/service c ...

  6. cron服务 ubuntu

    linux 定时执行crontab  crontab -e 进入一个vi 编辑界面 在最后一行加上 */30 * * * * netstat > /tmp/net.log 表示每隔30分就执行n ...

  7. Linux中crond服务与crontab用法

    需要写个在Linux下定时更新系统的脚本,man crondtab 不甚详细,现将网络上的介绍列举如下: crontab是一个很方便的在unix/linux系统上定时(循环)执行某个任务的程序使用cr ...

  8. linux操作系统cron详解

    Linux操作系统定时任务系统 Cron 入门 cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业.由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动 ...

  9. (转载)Linux定时任务cron配置

    (转载)http://blog.csdn.net/jbgtwang/article/details/7995801 实现linux定时任务有:cron.anacron.at等,这里主要介绍cron服务 ...

随机推荐

  1. linux下改变文件的字符编码

    首先确定文件的原始字符编码: $ file -bi test.txt 然后用 iconv 转换字符编码 $ iconv -f from-encoding -t to-encoding file > ...

  2. 第二百五十天 how can I 坚持

    html排版,好烦心. 我以为我会哭,但是我没有.---<领悟> 确实是搞不懂自己,到底想要什么?弟弟最近也不知道咋的了,感觉有点不对劲呢. 最近雾霾好严重,希望我们的后代不会知道雾霾是什 ...

  3. work_8

    1.把程序编译通过, 跑起来. 读懂程序,在你觉得比较难懂的地方加上一些注释,这样大家就能比较容易地了解这些程序在干什么. 把正确的 playPrev(GoMove) 的方法给实现了. 如果大家不会下 ...

  4. [iOS 多线程 & 网络 - 2.5] - 小文件上传

    A.文件上传 思路: 发送文件数据给服务器 使用post请求 必须手动设置请求头: 内容大小Content-Length & 内容类型 Content-Type 请求体:文件数据 文件上传的格 ...

  5. 12 为何使用Html5+CSS3

    一:大多浏览器支持,低版本也没问题 我看点这方面的资料,是为了做手机应用网站(有三个方案,这个是备用方案),可以开发响应式网站,可以脱离开发平台进行跨平台. 在Html5网页中引入Modernizr, ...

  6. 分析恶意驱动(进程启动apc注入dll)

    一.前言  用IDA也有好些时间了,以前就只会用F5功能玩无壳无保护的裸驱动,感觉太坑了,这两天就开始看网上大牛的逆向. 今天记录一下sudami曾经逆向过的fuck.sys.第一遍自己走的时候漏掉了 ...

  7. SQL Server中使用convert进行日期转换

    使用 CONVERT: CONVERT (data_type[(length)],expression[,style]) 参数 expression 是任何有效的 Microsoft® SQL Ser ...

  8. IoC/DI

    From:http://jinnianshilongnian.iteye.com/blog/1471944 我对IoC/DI的理解 博客分类: spring杂谈 IoCDI  IoC IoC: Inv ...

  9. 关于配置php源代码管理环境的几点注意

    1.如果你的项目原本就是utf-8的编码,而你设置eclipse的工作空间的默认编码为utf-8后,或者在项目文件夹上右键属性设置了编码类型后依旧没有效果,而是需要在每一个文件上右键属性设置为utf- ...

  10. BZOJ 2456: mode 水题

    2456: mode Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/problem.php? ...