linux 设置定时任务crontab

前言
做自动化测试写的脚本需要设置定制任务,在指定的时间去执行,这就需要用到定时任务。之前用jenkins可以在里面设置定时任务,很好用,其实在linux上也可以用crontab做定时任务。

cron
在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron]。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。cron的配置文件称为“crontab”,是“cron table”的简写。

crontab
crontab一般在目录/etc/crontab, 可以用cat 命令查看里面的内容,用来创建定时任务
输入命令:cat /etc/crontab

  • MAILTO=root是说,当 /etc/crontab 这个档案中的例行性命令发生错误时,会将错误讯息或者是屏幕显示的讯息传给谁?由于 root 并无法再用户端收信,因此,我通常都將这个 e-mail 改成自己的账号,好让我随时了解系统的状态!
  • 17 * * * * root cd / && run-parts --report /etc/cron.hourly: 我们可以发现,五个数字后面接的是 root ,这一行代表的是『执行的级别为root身份』当然,你也可以将这一行改为成其他的身份!而 run-parts代表后面接的 /etc/cron.hourly 是『一个目录内(/etc/cron.hourly)的所有可执行文件』,也就是说,每个小时的17分,系统会以root身份去/etc/cron.hourly这个目录下执行所有可执行的文件l!后面三行也是类似的意思!你可以到 /etc/ 底下去看看,系统本来就预设了这4个目录!你可以将每天需要执行的命令直接写到/etc/cron.daily即可,还不需要使用到crontab -e的程式!

crontab用法
1、crontab命令用于安装、删除或者列出用于驱动cron后台进程的表格。用户把需要执行的命令序列放到crontab文件中以获得执行。每个用户都可以有自己的crontab文件。/var/spool/cron下的crontab文件不可以直接创建或者直接修改。该crontab文件是通过crontab命令创建的
2、在crontab文件中如何输入需要执行的命令和时间。该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。每个域之间使用空格或者制表符分隔。
3、格式如下:
minute hour day-of-month month-of-year day-of-week commands
00-59 00-23 01-31 01-12 0-6 (0 is sunday) 命令行

crontab命令常用的特殊字符:
1、* 表时任何时间
2、, 表示分割,10,20,30表示分表在10分20分30分时执行
3、- 表示一个段,1-5 就是1到5点
4、/n 表示每隔n单位执行一次,比如第二个参数, */2就是每隔2个小时执行一次,也可以写成1-23/2

crontab命令各参数说明:
1、-e 执行文字编辑器来设定时程表,内定的文字编辑器是vi
2、-l 列出目前的所有时程表
3、-r 删除目前的时程表
4、-v 列出cron作业的状态

常用命令
1、crontab -e 进入编辑定时任务界面对定时任务进行增删改
2、crontab -l 列出所有的定时任务
3、* * * * * /bin/echo 'Hello World!' >> ./test.txt 每隔一分钟往test.txt中写入一行'Hello World!'

原文地址:https://www.cnblogs.com/We612/p/11225122.html