linux定时脚本:删除linux/HDFS上过期文件
一、定时删除linux上定时的文件
显示20分钟前的文件
find /tmp/ -type f -mmin + -exec ls -l {} \; 删除20分钟前的文件
find /tmp/ -type f -mmin + -exec rm {} \; 显示20天前的文件
find /tmp/ f -mtime + -exec ls -l {} \; 删除20天前的文件
find /tmp/ -type f -mtime + -exec rm {} \;
二、定时删除HDFS上过时的文件
思路:获取文件或目录的修改时间,与设定的过期时间进行比较,对过期文件执行删除操作即可。
#!/bin/bash
source ~/.bashrc #待检测的HDFS目录
data1_file=/hive/warehouse/db1/
data1_file=/hive/warehouse/db2/ #将待检测的目录(可以为多个)加载至数组中
array_check=($data1_file,$data2_file) # 当前时间戳
today_timestamp=$(date -d "$(date +"%Y-%m-%d %H:%M")" +%s) #Func: 删除指定时间之前的过期,这里设置的是30天前
removeOutDate(){
hadoop fs -ls $ > temp.txt
cat temp.txt | while read quanxian temp user group size day hour filepath
do
current_file_time="$day $hour"
current_file_timestamp=$(date -d "$current_file_time" +%s)
if [ $(($today_timestamp-$current_file_timestamp)) -ge $((***)) ];
then
echo "$(date +'%Y-%m-%d %H:%M:%S') $filepath"
hadoop fs -rm -r $filepath > /dev/null >&
fi
done
} #Func: 执行删除
execute(){
echo -e "\n"
echo "$(date +'%Y-%m-%d %H:%M:%S') start to remove outdate files in hdfs"
echo "$(date +'%Y-%m-%d %H:%M:%S') today is: $(date +"%Y-%m-%d %H:%M:%S")" for i in ${array_check[@]}
do
echo "$(date +'%Y-%m-%d %H:%M:%S') processing filepath: $i"
removeOutDate $i
echo -e "\n"
done echo "$(date +'%Y-%m-%d %H:%M:%S') remove outdate files in hdfs finished"
echo -e "\n"
}
# 开始执行
execute
【参考资料】
[1]. 佚名, Linux 删除指定时间前的文件.
[2]. mengrennwpu, 定时脚本: 删除HDFS中的过期文件.
linux定时脚本:删除linux/HDFS上过期文件的更多相关文章
- 双系统windows+linux如何正确删除linux
双系统windows+linux如何正确删除linux 2017年11月16日 10:42:49 dovepym 阅读数:26363 之前在windows的基础上又安装了ubuntu系统16.04 ...
- Eclipse 上传 删除 下载 分析 hdfs 上的文件
本篇讲解如何通过Eclipse 编写代码去操作分析hdfs 上的文件. 1.在eclipse 下新建Map/Reduce Project项目.如图: 项目建好后,会默认加载一系列相应的jar包. 下 ...
- linux下怎么删除名称带空格的文件
linux下怎么删除名称带空格的文件-rm 'mysql bin.000005' 用引号把文件名括起来 某些情况下会出现名称带空格的文件, 如果想要删除的话,直接用rm mysql bin.00000 ...
- hadoop的API对HDFS上的文件访问
这篇文章主要介绍了使用hadoop的API对HDFS上的文件访问,其中包括上传文件到HDFS上.从HDFS上下载文件和删除HDFS上的文件,需要的朋友可以参考下hdfs文件操作操作示例,包括上传文件到 ...
- bat脚本删除一周前的文件
bat脚本删除7天前的文件 @echo off forfiles /p D:\logstash-1.4.2\bin\ /m *.log -d -7 /C "cmd /c del /f @pa ...
- HDFS 上传文件的不平衡,Balancer问题是过慢
至HDFS上传文件.假定从datanode开始上传文件,上传的数据将导致目前的当务之急是全datanode圆盘.这是一个分布式程序的执行是非常不利. 解决方案: 1.从其他非datanode节点上传 ...
- 【转载】HDFS 上传文件不均衡和Balancer太慢的问题
向HDFS上传文件,如果是从某个datanode开始上传文件,会导致上传的数据优先写满当前datanode的磁盘,这对于运行分布式程序是非常不利的. 解决的办法: 1.从其他非datanode节点上传 ...
- [Spark][Python]对HDFS 上的文件,采用绝对路径,来读取获得 RDD
对HDFS 上的文件,采用绝对路径,来读取获得 RDD: In [102]: mydata=sc.textFile("file:/home/training/test.txt")1 ...
- eclipse通过maven进行打包并且对hdfs上的文件进行wordcount
在eclipse中配置自己的maven仓库 1.安装maven(用于管理仓库,jar包的管理) -1.解压maven安装包 -2.把maven添加到环境变量/etc/profile -3.添加mave ...
随机推荐
- kotlin命令行交互式终端
之前在http://www.cnblogs.com/webor2006/p/7532982.htmlKotlin的环境搭建篇提到过在开发Kotlin可以用最原始的挖掘机式的命令行去编译运行,这里学习一 ...
- PAT乙级1038
题目链接 https://pintia.cn/problem-sets/994805260223102976/problems/994805284092887040 题解一 这份代码最后一个点会超时 ...
- Angular Multiple HTTP Requests with RxJS
原文:https://coryrylan.com/blog/angular-multiple-http-requests-with-rxjs ----------------------------- ...
- 用idea操作svn
使用SVN前提必须安装好服务端和客户端,或者知道服务端的url才能对服务器中的文件进行操作. 服务端:SVN service 客户端:TortoiseSVN 提交 第一步:确认SVN 服务器是否开启 ...
- python中模块、包、库的区别和使用
模块:就是.py文件,里面定义了一些函数和变量,需要的时候就可以导入这些模块. 包:在模块之上的概念,为了方便管理而将文件进行打包.包目录下第一个文件便是 __init__.py,然后是一些模块文件和 ...
- java+上传后的文件展示
文件夹结构支持 大文件上传控件6支持向服务器上传整个文件夹,并且在服务端保存时与本地目录结构完全保持一致,同时在数据库中也保留文件夹的层级结构.开发人员可以借助于数据库中的层级信息方便的管理文件,管理 ...
- IntelliJ IDEA 创建 Git 分支并且 Push 到远程
在 IntelliJ 的右下角,你可以看到当前的 Git 分支,然后你可以单击这个分支后,在弹出的界面的最上方有一个新建分支的选项. 然后再弹出的界面中,输入你要创建的分支名称后回车输入. 然后从项目 ...
- Linux 文件查看
链接:https://www.nowcoder.com/questionTerminal/fb39fbeec71f43a3a16edeb0bc98f4ac 来源:牛客网 /var/log/messag ...
- IVIEW组件Table中加入EChart柱状图
展示图如下: 主要利用了render函数和updated()钩子函数进行数据填充与渲染. 1.在Table的Colums中加入 1 { 2 title: '比例图', 3 align: 'center ...
- 微信小程序地图总结
小程序官方的 map地图说明文档已经非常详细了,但是鉴于如果没有一个合适的使用场景,对于刚接触 map 的初级开发,看着这些繁杂又贼多的属性名和字段,外加急切的开发需求,晕头转向是不可避免的了.接下来 ...