我想在HDFS分区中找到旧文件(例如超过2小时)。 " -mmin"不被承认,你有另一个想法吗?
我的代码:
hdfs dfs -find /user/TEST/REP -name "*.log.*" -mmin +120
返回:find:意外的参数:-mmin
答案 0 :(得分:0)
我找到了解决方案:
差异在几分钟内。
now=$(date +%s)
# Loop in ls result (remove first line like "Found 6 items")
hdfs dfs -ls $PATH_TO_CHECK | grep -v "Found" | while read f; do
file_date=$(echo $f | awk '{print $6}')
file_time=$(echo $f | awk '{print $7}')
difference=$(( ( $now - $(date -d "$file_date $file_time" +%s) ) / (60) ))
if [[ "$difference" -gt "$MAX_DURATION" ]]; then
echo "KO"
else
echo "OK"
fi