#!/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}执行完成"
时间: 2024-10-10 20:02:34