linux定时crontab详解及例子

crontab_test 脚本内容

echo "hello" >> /home/hadoop/shell/result 2>&1

查看/home/hadoop/shell/result文件有多少条数据
cat /home/hadoop/shell/result | wc -l
cat /home/hadoop/shell/result | wc -l | wc -l
wc -l统计行数,数据来源是|(重定向符号)之前linux命令执行的结果。


crond是什么?
crond是linux系统中用来定期执行命令或者指定程序的一种服务或者软件。

可以把crond理解为闹钟服务,有定时叫主人起床的功能。

用rpm -qa | grep crontab查看是否安装,如果没有安装就执行 yum install -y crontabs


crond服务操作命令
  service crond start //启动服务
  service crond stop //关闭服务
  service crond restart //重启服务
  service crond reload //重新载入配置

cron表达式讲解:
* *  *  *  *  command
分钟(0-59) 小时(0-23) 日期(1-31) 月份(1-12) 星期(0-6,0代表星期天)  命令

  第1列表示分钟1~59 每分钟用*或者 */1表示
  第2列表示小时1~23(0表示0点)
  第3列表示日期1~31
  第4列表示月份1~12
  第5列标识号星期0~6(0表示星期天)
  第6列要运行的命令

  在以上任何值中,星号(*)可以用来代表所有有效的值。譬如,月份值中的星号意味着在满足其它制约条件后每月都执行该命令。
  整数间的短线(-)指定一个整数范围。譬如,1-4 意味着整数 1、2、3、4。
  用逗号(,)隔开的一系列值指定一个列表。譬如,3, 4, 6, 8 标明这四个指定的整数。
  正斜线(/)可以用来指定间隔频率。在范围后加上 /<integer> 意味着在范围内可以跳过 integer。
譬如,0-59/2 可以用来在分钟字段定义每两分钟。间隔频率值还可以和星号一起使用。
例如,*/3 的值可以用在月份字段中表示每三个月运行一次任务。
  开头为井号(#)的行是注释,不会被处理

 

 

 

查看定时任务列表
crontab -l

注册定时任务(和vi命令形同)
crontab -e

*/1 * * * * /home/hadoop/shell/crontab_test


每一分钟执行一次z
*/1 * * * *


每小时,2,4,分钟各执行一次
2,4 * * * *
2 * * * *
每2分钟执行一次
*/2 * * * *

每天上午九点40执行一次
40 9 * * *

定时任务配置文件存放路径
cat /etc/crontab

posted @ 2019-11-14 16:13  singsong~  阅读(235)  评论(0编辑  收藏  举报