2017-12-14 5 views
0

HDFS 파티션에서 오래된 파일 (예 : 2 시간 이상)을 찾고 싶습니다. "-mmin"이 인식되지 않습니다. 다른 아이디어가 있습니까?HDFS 폴더의 이전 파일 찾기

내 코드 :

hdfs dfs -find /user/TEST/REP -name "*.log.*" -mmin +120 

반환 : 찾을 : 예기치 않은 인수 : 나는 해결책을 발견

답변

0

-mmin는 :

의 차이는 분입니다.

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