ubuntu16.04 crontab 使用方法

Ubuntu下crontab命令的用法

正文

cron是一个Linux下的后台进程,用来按期的执行一些任务。由于我用的是Ubuntu,因此这篇文章中的全部命令也只能保证在Ubuntu下有效,但其余系统应该也差很少。javascript

 

想要让cron执行你指定的任务,首先就要编辑crontab文件。crontab是一个文本文件,用来存放你要运行的命令。你能够如下命令html

 

Shell代码   
  1. crontab -e  

 

来打开你的用户所属的crontab文件。第一次用这个命令,会让你选择文本编辑器,我选的是vim。选定的编辑器也可使用java

 

Shell代码   
  1. select-editor  

 

命令来更改。这点命令行中已经有足够的提示,就很少说了。linux

 

打开后的crontab文件相似这种样子:git

 

Shell代码   
  1. # m h  dom mon dow   command  
  2. */2 * * * * date >> ~/time.log  

 

第二行是我为了测试写的一个按期任务,它的意思是,每隔两分钟就执行 date >> ~/time.log 命令(记录当前时间到time.log文件)。你能够把它加入你的crontab中,而后保存退出。程序员

 

保存了crontab以后,咱们还须要重启cron来应用这个计划任务。使用如下命令:ubuntu

 

Shell代码   
  1. sudo service cron restart  

 

下面稍微解释下crontab中每行的含义。crontab中的每一行表明一个按期执行的任务,分为6个部分。前5个部分表示什么时候执行命令,最后一个部分表示执行的命令。每一个部分以空格分隔,除了最后一个部分(命令)能够在内部使用空格以外,其余部分都不能使用空格。前5个部分分别表明:分钟,小时,天,月,星期,每一个部分的取值范围以下:vim

 

分钟          0 - 59服务器

小时          0 - 23微信

天              1 - 31

月              1 - 12

星期          0 - 6       0表示星期天

 

除了这些固定值外,还能够配合星号(*),逗号(,),和斜线(/)来表示一些其余的含义:

 

星号          表示任意值,好比在小时部分填写 * 表明任意小时(每小时)

逗号          能够容许在一个部分中填写多个值,好比在分钟部分填写 1,3 表示一分钟或三分钟

斜线          通常配合 * 使用,表明每隔多长时间,好比在小时部分填写 */2 表明每隔两分钟。因此 */1 和 * 没有区别

                  */2 能够当作是能被2整除的任意值。

 

如下是一些例子(省略了命令部分):

 

Crontab代码   
  1. * * * * *                  # 每隔一分钟执行一次任务  
  2. 0 * * * *                  # 每小时的0点执行一次任务,好比6:0010:00  
  3. 6,10 * 2 * *            # 每月2号,每小时的6分和10分执行一次任务  
  4. */3,*/5 * * * *          # 每隔3分钟或5分钟执行一次任务,好比10:0310:0510:06  

 

以上就是在cron中加入计划任务的基本知识。由于cron中的任务基本就是执行命令行,因此固然也会有权限问题。以上例子中的任务就是以你当前登陆用户的权限执行的,若是你须要以root用户执行某个任务,能够在crontab前加上sudo。

 

Shell代码   
  1. sudo crontab -e  

 

顺带一提,crontab文件对每一个用户都是不一样的,因此刚才设置的按期看时间的任务,在这里是看不到的。由于咱们没有为root用户增长这样的计划任务。

 

再顺带一提,不喜欢命令行的童鞋能够去 Ubuntu软件中心 下一个 计划任务 程序。在软件中心中搜索 schedule 就能够搜到。它是一个GUI的程序,作的还蛮傻瓜化的。不过好像没办法设置成使用root用户运行任务。并且,对于要ssl到服务器上进行操做的童鞋来讲,命令行仍是最好(惟一)的工具。

 

由于我目前就用到这些知识,因此对cron也没有更多了解。想了解Ubuntu下的cron的童鞋,能够去看看Ubuntu官方的这篇 CronHowTo ,我的以为讲的仍是蛮详细的。

你对人生迷茫吗? 那就背起行囊,起步远行吧
分类: Linux
标签: linux, crontab
1
0
« 上一篇: writing-mode与direction的用法、区别
» 下一篇: CSS选择器的权值计算

posted on 2012-07-13 11:23 赤脚大仙~ 阅读(32641) 评论(0)  编辑 收藏


相关文章
相关标签/搜索