linux基础(四)——任务调度cron和anacron
crontab定期执行shell脚本
【场景】:
需要定期运行Hadoop的MapReduce
【解决办法】:
编写一个运行MapReduce的Shell脚本。然后使用crontab配置定时任务。
【Shell脚本】
#!/usr/bin/env bash
source /etc/profile
echo "TimeLimitDrawn Start"
hadoop jar $HADOOP_HOME/package/mr_post-1.0-SNAPSHOT-jar-with-dependencies.jar com.hdyh.mapreduce.TimeLimitDrawn >> /home/hadmin/hadoop/shell/mr.log
echo "TimeLimitDrawn End"
【定时任务】
* * */1 * * sh /home/hadmin/hadoop/package/TimeLimitDraw.sh
【crontab使用说明】
crontab –u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab –l //列出某个用户cron服务的详细内容
crontab –r //删除某个用户的cron服务
crontab –e //编辑某个用户的cron服务
crontab 文件中的行由6个字段组成,不同字段间用空格或tab键分隔。前5个字段指定命令要运行的时间
①分钟(0-59)
②小时(0-23)
③日期(1-31)
④月份(1-12)
⑤星期几(0-6,其中0代表星期日,好像7也代表星期日)
⑥一个要在适当时间执行的字符串。
例子:
#MIN HOUR DAY MONTH DAYOFWEEK COMMAND
#每天早上6点10分
10 6 * * * date
#每两个小时
0 */2 * * * date
#晚上11点到早上8点之间每两个小时,早上8点
0 23-7/2,8 * * * date
#每个月的4号和每个礼拜一到礼拜三的早上11点
0 11 4 * 1-3 date
#1月1日早上4点
0 4 1 1 * date
让配置文件生效:如果让配置文件生效,还得重新启动cron,切记,既然每个用户下的cron配置文件修改后,也要重新启动cron服务器。
注意:如果要定期执行某个Shell命令的时候,一定要注意以下两点:
①、shell脚本要有-x(可执行)的权限
②、shell脚本可以被正确执行,但是hadoop命令无法运行时,多数情况都是因为环境变量的原因,可以在Shell脚本中使用source /etc/profile来使环境变量生效。
③、如果设置的是整点运行,按照下面错误的写法,会在7点开始执行很多次命令。
错误的写法:* 7 * * * sh /home/hadmin/hadoop/package/TimeLimitDraw.sh
正确的写法:0 7 * * * sh /home/hadmin/hadoop/package/TimeLimitDraw.sh
④、有时因为找不到文件或者权限问题无法正确执行时,系统会生成一个文件【/var/spool/mail/[用户名]】、 如:/var/spool/mail/root
在这个文件中有时可以找到一些有用的线索。
linux基础(四)——任务调度cron和anacron相关推荐
- linux基础命令介绍十四:定时任务
在计算机的使用过程中,经常会有一些计划中的任务需要在将来的某个时间执行,linux中提供了一些方法来设定定时任务. 1.at 命令at从文件或标准输入中读取命令并在将来的一个时间执行,只执行一次.at ...
- linux cron crontab anacron 计划任务 定时任务
在linux下,如果想要在未来的某个时刻执行某个任务,并且在未来的每一个这样的时刻里都要执行这个任务.举个简单的例子,比如说想要在将来,每天的十二点都重启路由器,大多数发行版都自带一个守护进程(dae ...
- Linux基础优化方法(四)———远程连接缓慢优化
Linux基础优化方法(四)---远程连接缓慢优化 一.优化原因 二.优化方法 第一步:修改SSH服务配置文件 /etc/ssh/sshd_config 第二步:修改/etc/hosts配置文件 第三 ...
- Linux基础知识题解答(四)
题目来自老男孩BLOG:http://oldboy.blog.51cto.com/2561410/1709569,比较适合新手,空余的时候做一下,可以巩固Linux基础知识,有不对的地方欢迎指正. 1 ...
- linux账户密码 群组放在,linux基础命令学习(四)用户与群组
一.linux用户账号的管理 linux用户账号的管理主要包括用户添加.用户删除.用户修改. 添加用户账号就是在系统创建一个新账号,然后为新账号分为用户号.用户组.主目录和登录Shell等资源. 刚添 ...
- Linux 基础命令(四)—— 文件的权限和访问控制列表(ACL)
Linux 基础命令(四)-- 文件的权限和访问控制列表(ACL) Published On July 24, 2017 前言 查看全文 http://www.taodudu.cc/news/sho ...
- Linux基础命令(3)
十二 lsof命令简介 lsof(list open files) 是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接 ...
- Linux基础知识梳理
Linux基础知识梳理 Linux系统的学习的方法: 1. 做一个属于自己的笔记. 2. 学习方法:实验多敲几遍, 服务器硬件 一般的服务器 刀片服务器 Linux操作系统最初是在1991年10月份由 ...
- 一、Linux基础入门和架构了解
第一章入门 一.虚拟机准备工作 1.仅主机模式: 保证guest可以和host(宿主机)通讯的.保证ip地址在一个网段里.宿主机安装完毕后(vmware),会自动生成两块网卡,vmnet1和vmnet ...
- day55 linux 基础以及系统优化
Linux系统基础优化及常用命令 Linux基础系统优化 引言没有,只有一张图. Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令 ...
最新文章
- iOS 多线程 自动释放池常见面试题代码
- 13 款惊艳的 Node.js 框架——第1部分
- oracle recyclebin详解,oracle recyclebin详解
- SharpWebMail介绍和安装(转)
- sql语句遇到错误: The used SELECT statements have a different number of columns :
- pm2-zabbix 安装与配置
- 2025年全球结构化布线市场预计将达到165亿美元
- 微信小程序支付java视频_【原创】微信小程序支付(普通模式,公众号支付同适用)java后台案例...
- macOS下搭建Nexus 3.x服务器作为Maven的资源仓库服务器
- 【批处理】用netsh管理防火墙示例
- GNU C getopt()、getopt_long() 与 getopt_long_only() 获取命令行参数
- 体验式培训之“盲人与哑巴”
- 一起话单业务量下降问题的排查过程
- 少年,我看你骨骼精奇,见与你有缘,这套算法赠你
- 药品计算机系统操作知识培训,新版GSP:计算机系统专业知识培训测试题(6)
- 又要数数小绵羊(C++) kkmd66
- 彻底删除的文件如何恢复?一个方案,解决烦恼
- java怎么画八卦图_自己画八卦图怎么画?电脑绘制八卦图|八卦图的简单画法
- 红楼梦人物出场顺序统计
- snippets vscode 配置_创建自己的Code Snippets在VSCode中
热门文章
- 用Redis实现分布式锁 与 实现任务队列【转载】
- Excel单元格格式选择货币格式US$时变成US$¥
- 如何应对企业的数字灾难
- VC6下OpenGL 开发环境的构建外加一个简单的二维网络棋盘绘制示例
- codevs——1230 元素查找
- Node做网页爬虫时遇到的Html entites对象造成乱码
- elasticsearch索引模块缓存
- WIN2003 IIS6.0+PHP+ASP+MYSQL优化配置
- IDEA 工具从Json自动生成JavaBean
- 文字超长隐藏为...ie7不兼容的解决办法