码迷,mamicode.com
首页 > 其他好文 > 详细

crontab定时删除指定的hdfs数据

时间:2015-09-16 23:47:09      阅读:549      评论:0      收藏:0      [点我收藏+]

标签:

#!/bin/bash
# filename:deleteHdfsData.sh
# 遍历压缩指定目录下的所有文件,参数指定是否删除原文件(2个参数,1个参数是目录,一个参数是否删除原文件,1删除,0不删除)
# crontab: 30 2 * * * sh /Application/aaa/enterprise/hadoop/deleteHdfsData.sh >> /Application/aaa/enterprise/hadoop/run.log 2>&1
# 遍历得到指定目录下的所有文件,用gz压缩
# createdate: 20150909
# author: yuanlong.zhou
today=`date day +%Y-%m-%d`;
echo "今天是${today}"
# 获得要删除的日期
# 不指定参数时,默认删除30天前以aaa-开头的数据(因为是凌晨删除,所以不含当天)
daynum=5
# 当参数个数大于1时,提示参数错误
if [ $# -gt 1 ] ;then
        echo "要么不传参数,要么只传1个参数!"
        exit 101;
fi
# 当参数个数为1时,获取指定的参数
if [ $# == 1 ] ;then
        daynum=$1
fi
hdfsday=`date -d ‘-‘"${daynum}"‘ day‘ +%Y%m%d`;
echo "${daynum}天前是${hdfsday}"
curl -XDELETE http://localhost:9200/aaa-*-${hdfsday}
hdfs dfs -rm -r /hnbc/${hdfsday}
echo "${today}执行完成"

crontab定时删除指定的hdfs数据

标签:

原文地址:http://my.oschina.net/ylchou/blog/507077

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!