微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我的清除脚本需要很长时间才能删除 hdfs 中超过 1 天的 tmp/日志文件

如何解决我的清除脚本需要很长时间才能删除 hdfs 中超过 1 天的 tmp/日志文件

我正在尝试删除 hdfs 中的 tmp/log 文件,因为它们占用了太多空间。我正在使用下面的 shell 脚本来清除日志,但它每小时删除 40-50 个文件,这非常慢。有什么我可以修改以提高其速度的吗?

#!/bin/bash
current_date=$(date +'%y-%m-%d')
retention_date=$(date -d "$current_date 1 day ago" '+%Y-%m-%d')
echo "current_date:$current_date"
echo "retention_date:$retention_date"
sum=0
total_size=0
hdfs dfs -ls /tmp/logs/ | while read line ; do
username=$(echo ${line} | awk '{ print $3 }')
#echo "username:$username"
if [ "$username" = "XYZ" ]; then
        created_date=$(echo ${line} | awk '{ print $6 }')
        echo"createddate:$created_date"
        size=$(echo ${line} | awk '{ print $5 }')
        filename=$(echo ${line} | awk '{ print $8 }')
        if [[ "$retention_date" > "$created_date" ]]; then
                #echo"inside if"
                sum=$((sum + 1))
                #echo "sum:$sum"
                total_size=$((total_size + size))
                hdfs dfs -rm -r $filename
        fi
fi
done
hdfs dfs -rm -r /user/ABC_USER/.Trash/Current/tmp/logs/
echo "Total Folders qualified: $sum"
#echo "Total size: $total_size"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。