Linux笔记:定时任务和文件操作
查看定时任务
crontab -l
- 注册定时任务
crontab -e
然后就像 vim 一样编辑自己的定时任务。
如:
* * * * * . /home/hadoop/timer/check_job.sh >> /home/hadoop/timer/logs/check_job.log
- 定时任务解析
- *和*之间的空格,是必须的
- *分别代表:分,时,日,月,周
1. 分 的取值范围为:0-592. 时 的取值范围为:0-233. 日 的取值范围为:1-314. 月 的取值范围为:1-125. 周 的取值范围为:0-7- *后面是需要执行的命令
- "." 代表是shell 命令,也可以使用 sh
- ">>" 前面的是需要定时调用的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笔记:定时任务和文件操作的更多相关文章
- Windows phone 8 学习笔记(2) 数据文件操作
原文:Windows phone 8 学习笔记(2) 数据文件操作 Windows phone 8 应用用于数据文件存储访问的位置仅仅限于安装文件夹.本地文件夹(独立存储空间).媒体库和SD卡四个地方 ...
- Linux C高级编程——文件操作之系统调用
Linux C高级编程文件操作之系统调用 宗旨:技术的学习是有限的,分享的精神是无限的. 库函数是一些完毕特定功能的函数.一般由某个标准组织制作公布,并形成一定的标准.使用库函数编 ...
- Python学习Day2笔记(集合和文件操作)
1.集合的使用 列表是有序的可包含重复内容的 集合是无序的不可包含重复内容的 1) 集合关系测试 #列表去重list_1=[1,4,5,6,7,8,9,7,5,4,23,2] #有重复数据 list_ ...
- Windows phone 8 学习笔记(2) 数据文件操作(转)
Windows phone 8 应用用于数据文件存储访问的位置仅仅限于安装文件夹.本地文件夹(独立存储空间).媒体库和SD卡四个地方.本节主要讲解它们的用法以及相关限制性.另外包括本地数据库的使用方式 ...
- Linux常见系统命令与文件操作
一.Linux常见文件操作 (1)cd /: 在Linux 系统中斜杠“/”表示的是根目录. cd / ,即进入根目录. (2)cd ~命令是,进入用户在该系统的home目录,例如xz用户,则进入/r ...
- Python学习笔记八:文件操作(续),文件编码与解码,函数,递归,函数式编程介绍,高阶函数
文件操作(续) 获得文件句柄位置,f.tell(),从0开始,按字符数计数 f.read(5),读取5个字符 返回文件句柄到某位置,f.seek(0) 文件在编辑过程中改变编码,f.detech() ...
- linux常用命令之------文件操作、文件查看、权限、打包压缩
1.一般公司把linux作为自己的应用服务器,将应用和服务器部署在上面 2.测试一般用来打包.压缩.查日志,写一个简单的shell 获得linux服务器的方式 a:网上租一台云服务器 b:安装vmwa ...
- 廖雪峰js教程笔记14 file文件操作
在HTML表单中,可以上传文件的唯一控件就是<input type="file">. 注意:当一个表单包含<input type="file" ...
- Python复习笔记-字典和文件操作
抽时间回顾2年前自己做过的python工具,突然感觉不像自己写的,看来好久没用过python的字典和文件操作了,查询资料和网页,整理如下: 一.字典 键值对的集合(map) 字典是以大括号“{}”包围 ...
- python学习笔记(十)、文件操作
在前面我们了解到了没得模块,其中有一个模块为fileinput,为文件操作模块,不知道小伙伴们是否还记得? 1 打开文件 要打开文件,可以使用fileinput中的fileinput.input函数进 ...
随机推荐
- SIFT特征点检测与匹配
SIFT的步骤如下: (1) 尺度空间极值检测(Scale-space Extrema Detection) 也就是在多尺度高斯差分(Difference of Gauss)空间中检测极值点(3x3x ...
- Hello!六月
把这里当做记事本应该没人介意吧: 太忙了!六月! ACM: 背包九讲
- how-to-fix-fs-re-evaluating-native-module-sources-is-not-supported-graceful
http://stackoverflow.com/questions/37346512/how-to-fix-fs-re-evaluating-native-module-sources-is-not ...
- static属性
static 属于全局,也就是类的属性 和方法,换句话说 一个类,不管有多少个实例,却只有一个全局变量 用static修饰的属性和方法称为静态属性和方法 需要注意的是 静态属性和方法属于类方法,加载类 ...
- ural1437
1437 记忆化 模拟倒水过程 #include <iostream> #include<cstdio> #include<cstring> #include< ...
- Struts2------拦截器和标签库和注解开发
一.解析Struts2源码中拦截器的执行 客户端请求Action,执行前端控制器,在前端控制器内部创建了Action的代理类,调用代理类的execute方法,在execute方法内部执行ActionI ...
- LitePal用法详解
一.首先我对数据库的操作基于LitePal的,是基于面向对象思想的,所以首先我先讲怎么使用LitePal 1.在build.garde(Module:app)里面的 dependencies{ //添 ...
- oracle DBA笔试题
Unix/Linux题目: 1.如何查看主机CPU.内存.IP和磁盘空间? cat /proc/cpuinfo cat /proc/meminfo ifconfig –a fdisk –l 2.你 ...
- C++ 异常处理(try catch throw)、命名空间
一.c++工具 模板(函数模板.类模板).异常处理.命名空间等功能是c++编译器的功能,语言本身不自带,这些功能已经成为ANSI C++标准了,建议所有的编译器都带这些功能,早期的c++是没有这些功能 ...
- 程序员容易忽略的SQL Server错误集锦
1.大小写 大写T-SQL 语言的所有关键字都使用大写,规范要求. 2.使用“;” 使用“;”作为 Transact-SQL 语句终止符.虽然分号不是必需的,但使用它是一种好的习惯,对于合并操作MER ...