[Linux]结合awk删除hdfs指定日期前的数据
业务背景
约定五天前的HDFS数据为过期版本号数据。写一个脚本自己主动删除过期版本号数据
$ hadoop fs -ls /user/pms/workspace/ouyangyewei/data
Found 9 items
drwxr-xr-x - pms pms 0 2015-08-11 17:03 /user/pms/workspace/ouyangyewei/data/2015-08-01
drwxr-xr-x - pms pms 0 2015-08-11 17:03 /user/pms/workspace/ouyangyewei/data/2015-08-02
drwxr-xr-x - pms pms 0 2015-08-11 17:03 /user/pms/workspace/ouyangyewei/data/2015-08-03
drwxr-xr-x - pms pms 0 2015-08-11 17:03 /user/pms/workspace/ouyangyewei/data/2015-08-04
drwxr-xr-x - pms pms 0 2015-08-11 17:03 /user/pms/workspace/ouyangyewei/data/2015-08-05
drwxr-xr-x - pms pms 0 2015-08-11 17:03 /user/pms/workspace/ouyangyewei/data/2015-08-06
drwxr-xr-x - pms pms 0 2015-08-11 17:03 /user/pms/workspace/ouyangyewei/data/2015-08-07
drwxr-xr-x - pms pms 0 2015-08-11 17:03 /user/pms/workspace/ouyangyewei/data/2015-08-08
drwxr-xr-x - pms pms 0 2015-08-11 17:03 /user/pms/workspace/ouyangyewei/data/2015-08-09
脚本实现
# ---------------------------------------------------------
#
# 删除历史版本号(五天前的为过期版本号数据)
#
# ---------------------------------------------------------old_version=$(hadoop fs -ls /user/pms/workspace/ouyangyewei/data | awk 'BEGIN{ five_days_ago=strftime("%F", systime()-5*24*3600) }{ split($8,arr,"/"); if(arr[7]<five_days_ago){printf "%s\n", $8} }')
arr=(${old_version// / })
for version in ${arr[@]}
do hadoop fs -rmr $version
done
运行以后
$ hadoop fs -ls /user/pms/workspace/ouyangyewei/data
Found 4 items
drwxr-xr-x - pms pms 0 2015-08-11 17:03 /user/pms/workspace/ouyangyewei/data/2015-08-06
drwxr-xr-x - pms pms 0 2015-08-11 17:03 /user/pms/workspace/ouyangyewei/data/2015-08-07
drwxr-xr-x - pms pms 0 2015-08-11 17:03 /user/pms/workspace/ouyangyewei/data/2015-08-08
drwxr-xr-x - pms pms 0 2015-08-11 17:03 /user/pms/workspace/ouyangyewei/data/2015-08-09
转载于:https://www.cnblogs.com/jzdwajue/p/7218361.html
[Linux]结合awk删除hdfs指定日期前的数据相关推荐
- 利用批处理脚本删除指定日期前文件
利用批处理脚本删除指定日期前文件 删除指定日期前文件 根据需求可分为两种情况: 一. 以修改时间为准,删除N天之前数据 以修改时间为准删除数据脚本很简单,DOS自有命令即可实现: forfiles / ...
- mysql数据库ftp备份_Linux下自动备份MySQL数据库并上传到远程FTP服务器且删除指定日期前的备份Shell脚本...
说明: 1.备份MySQL数据库存放目录/var/lib/mysql下面的vos3000db数据库到/home/mysql_data里面,并且保存为vos3000db_bak_2012_06_30.t ...
- linux如何删除指定大小以下的文件夹,Linux中定时删除超过指定大小的文件夹
背景: 开发环境总是动不动就没有空间了, 大部分都是debug日志.所以有必要在日志很疯狂的时候,删除不必要的日志. 思路:一. 书写删除日志文件脚本: 定时任务执行. 但是有时候的日志是需要保存用 ...
- 【时间处理】获取官方节假日数据的api接口,获取指定日期的节假日数据
获取指定日期的节假日信息 1.接口地址:http://api.goseek.cn/Tools/holiday?date=数字日期 2.返回数据:正常工作日对应结果为 0, 法定节假日对应结果为 1, ...
- Crontab 自动删除指定日期前文件或者文件夹
编写自动定时删除的脚本 vim deletem.sh 添加如下内容,记得给脚本deletem.sh设置权限. #!/bin/bash starttime=$(date +%Y-%m-%d\ %H:%M ...
- python删除指定日期前的备份文件
这个脚本还有待完善,没有加入迭代子目录,后期完善. #!/bin/env python #coding=utf-8 import time,datetime,os,sysdir='/usr/local ...
- linux 定时任务,压缩 日志,并删除掉 指定日期之前的 日志
sh文件 #!/bin/shmyPath="/var/www/Client/storage/logs/"myFile="lumen.log"cd $myPath ...
- java取上一个月_Java获取指定日期前一月(年)或后一月(年)
/** * 获取指定月的前一月(年)或后一月(年) * @param dateStr * @param addYear * @param addMonth * @param addDate * @re ...
- 命令行删除目录下指定日期前文件
显示文件 FORFILES /P D:\backupseed /S /M *.blf /D -3 /C "cmd /c echo @path" 删除文件 FORFILES /P D ...
最新文章
- php制作表格生成器,php表格生成图片.doc
- 独立成分分析 ( ICA ) 与主成分分析 ( PCA ) 的区别
- [转]要有梦----送给自己,希望自己能尽快走出当前的痛苦期
- Linux实验五:Linux环境下的C语言编程
- 一位跟我一样疑惑的同学~
- 阿里开发者招聘节 | 面试题01:如何实现一个高效的单向链表逆序输出?
- 【Python】循环的拓展
- TypeScript 3.9 发布
- IQKeyboardManager 在iOS11导航栏消失的问题
- 2019年,瑞云渲染做了这些事……
- Qt保留小数点后两位
- [Python WEB开发] 使用WSGI开发类Flask框架 (二)
- 拓端tecdat|R语言群组变量选择、组惩罚group lasso套索模型预测分析新生儿出生体重风险因素数据和交叉验证、可视化
- 2018 考研 408 经验贴——总结篇
- KMP复习之poj 3461 Oulipo
- 毕业生自传---(蝶变亚信)
- 教大家用python画皮卡丘的脸
- 常用快捷键大全Win7快捷键
- openssl工具详解及自建CA方法
- 常用的原生DOM操作汇总
热门文章
- AttributeError: module 'tensorflow' has no attribute 'sub'
- Centos6 安装RabbitMq3.7.7
- yocto-sumo源码解析(十一): recvfds
- P3119 [USACO15JAN]草鉴定Grass Cownoisseur
- oracle的常用sql
- Mybatis sql注入问题
- userdel account is currently in use
- 转载--c语言宏定义(1)
- CSS自学笔记(16):CSS3 用户界面
- python web 框架(八)-- Scrapy