查看定时任务

crontab -l

  • 注册定时任务

crontab -e
然后就像 vim 一样编辑自己的定时任务。
如:
 * * * * * . /home/hadoop/timer/check_job.sh >> /home/hadoop/timer/logs/check_job.log

  • 定时任务解析
  1. *和*之间的空格,是必须的
  2. *分别代表:分,时,日,月,周
    • 1. 分 的取值范围为:0-59
    • 2. 时 的取值范围为:0-23
    • 3. 日 的取值范围为:1-31
    • 4. 月 的取值范围为:1-12
    • 5. 周 的取值范围为:0-7 
  3. *后面是需要执行的命令
  4. "." 代表是shell 命令,也可以使用 sh
  5. ">>" 前面的是需要定时调用的shell,后面是 需要输出的 log 文件的位置​
  • 实例

1.  * * * * * 代表每分钟执行一次,也可以写成 */1 * * * *,/1代表一分钟执行一次 
2.  30 */1 * * * 代表每小时的 30 分执行一次

以下是对文件的操作

  • 根据文件名称取得最大日期对文件

    • 文件名称的格式为:filter_cache_20171101.se
    max_date=0
    # get the latest file and copy to hdfs
    cd /home/hadoop/.../checkpoint/filter
    for dir in $(ls -l ./ | awk '/^d/{print $NF}')
    do
    if [[ -d $dir && $dir == *\_* ]]; then
    f_d=$(echo $dir | cut -d \_ -f 3 | cut -d \. -f 1)
    if [[ $max_date < $f_d ]]; then
    max_date=$f_d
    max_filter=$dir
    fi
    fi
    done
    echo " max date is : "$max_date
    echo " max filter is : "$max_filter

  • 复制最近日期对文件到hdfs

    • 如果文件存在,提示已经存在
    hadoop fs -test -e /data/.../bloom_filters/$max_filter
    if [[ $? == 0 ]]; then
    echo " filter is already exist : "$max_filterF
    else
    echo " start hdfs copy "
    hadoop fs -put $max_filter /data/.../bloom_filters
    fi

  • 设定需要删除过期文件的指定时间

    remove_week=$(date -d "$max_date 7 days ago" +%Y%m%d)
    echo " 删除本地序列化文件的日期界限:"$remove_week
    remove_date=$(date -d "$max_date 30 days ago" +%Y%m%d)
    echo " 删除文件 和 Hadoop filter 的日期界限:"$remove_date

  • 删除指定日期30天以外的本地文件,并且删除小于指定日期7天以外的指定文件夹的文件

    for r_dir in $(ls -l ./ | awk '/^d/{print $NF}')
    do
    if [[ -d $r_dir && $r_dir == *\_* ]]; then
    r_d=$(echo $r_dir | cut -d \_ -f 3 | cut -d \. -f 1)
    if [[ $r_d < $remove_date ]]; then
    echo " remove filter_dir is: "$r_dir
    rm -r $r_dir
    elif [[ $r_d < $remove_week ]]; then
    echo " remove filter is: "$r_dir
    rm -r $r_dir/*.FILTER.SER
    fi
    fi
    done

  • 删除hdfs上指定日期30以外的文件

Linux笔记:定时任务和文件操作的更多相关文章

  1. Windows phone 8 学习笔记(2) 数据文件操作

    原文:Windows phone 8 学习笔记(2) 数据文件操作 Windows phone 8 应用用于数据文件存储访问的位置仅仅限于安装文件夹.本地文件夹(独立存储空间).媒体库和SD卡四个地方 ...

  2. Linux C高级编程——文件操作之系统调用

    Linux C高级编程文件操作之系统调用 宗旨:技术的学习是有限的,分享的精神是无限的.           库函数是一些完毕特定功能的函数.一般由某个标准组织制作公布,并形成一定的标准.使用库函数编 ...

  3. Python学习Day2笔记(集合和文件操作)

    1.集合的使用 列表是有序的可包含重复内容的 集合是无序的不可包含重复内容的 1) 集合关系测试 #列表去重list_1=[1,4,5,6,7,8,9,7,5,4,23,2] #有重复数据 list_ ...

  4. Windows phone 8 学习笔记(2) 数据文件操作(转)

    Windows phone 8 应用用于数据文件存储访问的位置仅仅限于安装文件夹.本地文件夹(独立存储空间).媒体库和SD卡四个地方.本节主要讲解它们的用法以及相关限制性.另外包括本地数据库的使用方式 ...

  5. Linux常见系统命令与文件操作

    一.Linux常见文件操作 (1)cd /: 在Linux 系统中斜杠“/”表示的是根目录. cd / ,即进入根目录. (2)cd ~命令是,进入用户在该系统的home目录,例如xz用户,则进入/r ...

  6. Python学习笔记八:文件操作(续),文件编码与解码,函数,递归,函数式编程介绍,高阶函数

    文件操作(续) 获得文件句柄位置,f.tell(),从0开始,按字符数计数 f.read(5),读取5个字符 返回文件句柄到某位置,f.seek(0) 文件在编辑过程中改变编码,f.detech() ...

  7. linux常用命令之------文件操作、文件查看、权限、打包压缩

    1.一般公司把linux作为自己的应用服务器,将应用和服务器部署在上面 2.测试一般用来打包.压缩.查日志,写一个简单的shell 获得linux服务器的方式 a:网上租一台云服务器 b:安装vmwa ...

  8. 廖雪峰js教程笔记14 file文件操作

    在HTML表单中,可以上传文件的唯一控件就是<input type="file">. 注意:当一个表单包含<input type="file" ...

  9. Python复习笔记-字典和文件操作

    抽时间回顾2年前自己做过的python工具,突然感觉不像自己写的,看来好久没用过python的字典和文件操作了,查询资料和网页,整理如下: 一.字典 键值对的集合(map) 字典是以大括号“{}”包围 ...

  10. python学习笔记(十)、文件操作

    在前面我们了解到了没得模块,其中有一个模块为fileinput,为文件操作模块,不知道小伙伴们是否还记得? 1 打开文件 要打开文件,可以使用fileinput中的fileinput.input函数进 ...

随机推荐

  1. js连续赋值,你理解了吗

    看一道有意思的题,也许你会自信满满地写下答案,会是正确的吗? }; var b = a; a.x = a = {n: }; console.log('a',a); console.log('b',b) ...

  2. jmeter(七)函数

    JMeter函数是一些能够转化在测试树中取样器或者其他配置元件的域的特殊值.一个函数的调用就像这样:${_functionName(var1,var2,var3)},-functionName匹配函数 ...

  3. [转]访问 OData 服务 (WCF Data Services)

    本文转自:http://msdn.microsoft.com/zh-SG/library/dd728283(v=vs.103) WCF 数据服务 支持开放式数据协议 (OData) 将数据作为包含可通 ...

  4. iOS 画环形图

    由于新项目的的需求,需要画环形图,由于以前都没接触过这一类(我是菜鸟),去cocochina山找到了一个案例,个人觉得还可以,分享一下 github 地址https://github.com/zhou ...

  5. SSH---整合Struts2&Spring&Hibernate(实例)

    一.SSH回顾 Struts2:核心为过滤器+拦截器.过程:Filter--->FilterDispatcher-->ActionMapper-->ActionProxy--> ...

  6. ES之事件绑定,解除绑定以及事件冒泡、事件捕获

    绑定事件的处理方法任何元素都有事件属性,而绑定事件就是将这个事件与一个函数相连接. ①句柄事件dom.onXXX = function () {代码块} 以on开头的事件属于句柄事件兼容性非常好,但是 ...

  7. react学习文档

    转自http://www.ruanyifeng.com/blog/2015/03/react.html,阮一峰老师的博客. 最近想学习react,官方文档的例子不是那么浅显易懂,看了相关博客,觉得阮一 ...

  8. ios开发介绍

    iOS开发概述 •什么是IOS •什么是IOS开发 •为什么要选择IOS开发 •学习IOS开发的准备   1.什么是iOS   •iOS是一款由苹果公司开发的操作系统(OS是Operating Sys ...

  9. 在PetaPoco中使用Where in

    之前一直没在意,今天查了很多资料,才知道在petapoco中使用in关键字需要使用命名参数,否则是无效的(或者只查出第一个条件的记录),示例如下: var tags= new string[]{“c1 ...

  10. Hibernate的入门使用

    数据在各个层次之间流转,在流转过程中会发生数据类型转换等一系列的交互问题.java与html的交互解决方案是struts2提供的OGNL(对象导航图语言),而java与数据库之间的技术解决方案是ORM ...