跳至主要内容

crontab 详细用法、定时任务 、时间规则【转】

简介


Linux crontab和Windows task schedules非常的相似。Crontab可以用来在系统中定期的执行任务。比如:写了一个爬虫需要每天早上八点执行,就可以用到Crontab;安装的Tomcat服务器需要每天凌晨重启一次,也可以使用到Crontab。总之,几乎所有的定时任务,我们都可以通过Crontab这个工具来完成。

安装


yum install cronie

Crontab在Linux上的结构



crontab结构.png

从左到右依次为:
[分钟] [小时] [每月的某一天] [每年的某一月] [每周的某一天] [执行的命令]
注意:请留意每个选项的取值范围。

如何 添加/编辑 Crontab


  • 添加或更新crontab中的命令
crontab -e
默认情况下,系统会编辑当前登录用户的crontab命令集合。需要编辑其他用户的命令集合,需要使用到如下的命令
crontab -u username -e

查看Crontab命令集合


  • 查看当前系统登录用户的Crontab命令集合
crontab -l
  • 查看其他用户的Crontab命令集合
crontab -u username -l

20个超实用的Crontab使用实例


1.每天 02:00 执行任务
0 2 * * * /bin/sh backup.sh
2.每天 5:00和17:00执行任务
0 5,17 * * * /scripts/script.sh
3.每分钟执行一次任务
通常情况下,我们并没有每分钟都需要执行的脚本(默默的想到了12306--)
  * * * * *  /scripts/script.sh
4.每周日 17:00 执行任务
0 17 * * sun  /scripts/script.sh
5.每 10min 执行一次任务
*/10 * * * * /scripts/monitor.sh
6.在特定的某几个月执行任务
  * * * jan,may,aug * /script/script.sh
7.在特定的某几天执行任务
0 17 * * sun,fri /script/scripy.sh
在每周五、周日的17点执行任务
8.在某个月的第一个周日执行任务
0 2 * * sun  [ $(date +%d) -le 07 ] && /script/script.sh
9.每四个小时执行一个任务
0 */4 * * * /scripts/script.sh
10.每周一、周日执行任务
0 4,17 * * sun,mon /scripts/script.sh
11.每个30秒执行一次任务
我们没有办法直接通过上诉类似的例子去执行,因为最小的是1min。但是我们可以通过如下的方法。
  1. * * * * * /scripts/script.sh
  2. * * * * * sleep 30; /scripts/script.sh
12.多个任务在一条命令中配置
  * * * * * /scripts/script.sh; /scripts/scrit2.sh
13.每年执行一次任务
@yearly /scripts/script.sh
@yearly 类似于“0 0 1 1 *”。它会在每年的第一分钟内执行,通常我们可以用这个发送新年的问候。
14.每月执行一次任务
@yearly /scripts/script.sh
15.每周执行一次任务
@yearly /scripts/script.sh
16.每天执行一次任务
@yearly /scripts/script.sh
17.每分钟执行一次任务
@yearly /scripts/script.sh
18.系统重启时执行
@reboot /scripts/script.sh
19.将 Cron 结果重定向的特定的账户
默认情况下,cron 只会将结果详情发送给 cron 被制定的用户。如果需要发送给其他用户,可以通过如下的方式:
  1. # crontab -l
  2. MAIL=bob
  3. 0 2 * * * /script/backup.sh
20.将所有的 cron 命令备份到文本文件当中
这是一个当我们丢失了cron命令后方便快速的一个恢复方式。
下面是利用这个方式恢复cron的一个小例子。(看看就行~)
首先:检查当前的cron
  1. # crontab -l
  2. MAIL=rahul
  3. 0 2 * * * /script/backup.sh
然后:备份cron到文件中
  1. # crontab -l > cron-backup.txt
  2. # cat cron-backup.txt
  3. MAIL=rahul
  4. 0 2 * * * /script/backup.sh
接着:移除当前的cron
  1. # crontab -r
  2. # crontab -l
  3. no crontab for root
恢复:从text file中恢复
  1. # crontab cron-backup.txt
  2. # crontab -l
  3. MAIL=rahul
  4. 0 2 * * * /script/backup.sh
补充:确认cron执行日志
less /var/log/cron

评论

此博客中的热门博文

7z 7zip 命令行压缩解压详解

7z 1) 简介 7z,全称7-Zip, 是一款开源软件。是目前公认的压缩比例最大的压缩解压软件。 主页:http://www.7-zip.org/ 中文主页:http://7z.sparanoid.com/ 命令行版本下载:http://7z.sparanoid.com/download.html 主要特征: # 全新的LZMA算法加大了7z格式的压缩比 # 支持格式: * 压缩 / 解压缩:7z, XZ, BZIP2, GZIP, TAR, ZIP * 仅解压缩:ARJ, CAB, CHM, CPIO, DEB, DMG, FAT, HFS, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, RAR, RPM, UDF, VHD, WIM, XAR, Z 2)退出代码 0 : 正常,没有错误; 1 : 警告,没有致命的错误,例如某些文件正在被使用,没有被压缩; 2 : 致命错误; 7 : 命令行错误; 8 : 没有足够的内存; 255 : 用户停止了操作; 3)使用语法 7z <命令行> [<选项>...] <基本档案名称> [<参数变量>...] 在方括号内的表达式(“[” 和 “]”之间的字符)是可选的。 在书名号内的表达式(“<” 和 “>”之间的字符)是必须替换的表达式(而且要去掉括号)。 7-Zip 支持和 Windows 相类似的通配符: “*”可以使用星号代替零个或多个字符。  “?”可以用问号代替名称中的单个字符。 如果只用*,7-Zip 会将其视为任何扩展名的全部文件。 4)命令及实例 a 添加文件到压缩档案。 7z a archive1.zip subdir\  :增加subdir文件夹下的所有的文件和子文件夹到archive1.zip中,archived1.zip中的文件名包含subdir\前缀。 7z a archive2.zip .\subdir\* :增加subdir文件夹下的所有的文件和子文件夹到archive1.zip中,archived2.zip中的文件名不包含subdir\前缀。 cd /D c:\dir1\  7z a c:\archive3.zip dir2\dir3\  :archiive3.zip中的文件名将包含dir2\dir3\前

新版wii购机及修复断脚芯片改机过程

今天新开了我的博客,暂时还没啥内容,先把我去年写的wii的购机和破解帖子贴过来,以后我将和大家分享我生活的点点滴滴。 事情发生在2007年的7月7日这个周末 国内的朋友,访问速度慢的话,可以访问这个地址http://bbs.nanqiao.net/dispbbs.asp?boardid=9&id=57877&star=1#57877 在买这台wii之前,我曾经帮一个朋友改过一台老板的wii,芯片是另外一个朋友刷好wiifree的pic,整个修改过程,就1个半小时左右。 最近觉得很无聊,而且,听说任天堂已经出了不能改直读的光驱芯片的版本了,为了以防万一,决定要去买台wii来玩玩。这次购机和改机过程,从头到尾都不顺利。从上周四开始,我每天都往秋叶原的yodobashi跑,礼拜五下午去,没货,晚上再去,还是没货,于是,我步行到上野的yodobashi去碰碰运气,给我的答案也是没货。之后,托我的朋友到町田的yodobashi去看,确认那里有货,不过考虑到我有1万多的点数要用掉,朋友也说,礼拜六早上,秋叶原yodobashi没有理由不进货的,所以还是决定周六自己再去秋叶园一次。 礼拜五晚上,我没闲着,之前已经从前面的那个朋友那里拿来了3颗12f629和烧录器,就在我家唯一一台带串口的台式机上开始烧片了。事情进展很不顺利,下面的内容省略,我一直烧到临晨三点才睡。 礼拜六一早,我8点半起床,吃了早饭和老婆直奔秋叶原。到那里9点45分,发现已经开门了,我觉得很奇怪,因为之前有小春的朋友和我说是10点开门的。直接上六楼,(天天来,太熟悉了),在电动扶梯上,就看到ds,緊急入荷中,可是,我的wii,还是一片红色。当时的心情我真的没法说,三天来,我为了找wii,在交通费上就已经花了好几千日元了。而且我更加后悔,昨天没让我的朋友帮我在町田买。老婆看我这个样子,就说干脆买个dvd刻录机回去,我知道她想安慰我,应为我想买dvd刻录机也想了很久了。这是我还不死心,于是和老婆两个步行去上野的yodobasi,还好天气不错,没啥太阳。到了那里,我直接上2楼的左侧,抓到一个店员就问有没有wii。这是,我看到一个女的在柜台上付款,面前就放了一台wii。我立刻排到她身后。运气还不错,我买的是当天最后第三台wii,先买了一个遥控器和一个双节棍,然后在买wii,把我原先的点