查找生成的目录和文件


查找每个小时生成的目录

vi dir-listening.sh

#!/bin/bash


# command

date="/bin/date"

ha="/usr/bin/hadoop fs -ls -d"

# var

y=`$date +%Y`

m=`$date +%D | cut -d"/" -f1`

d=`$date +%d`

h=`$date +%H`

dir="/cstreaming/DAT/${y}${m}${d}${h}*"


$ha $dir | grep -v -i found | awk '{print $6,$7,$8}'

./dir-listening.sh

2014-08-27 17:02 /cstreaming/DAT/2014082717_2014082716

2014-08-27 17:07 /cstreaming/DAT/2014082717_2014082717


vi dir-listening.sh

#!/bin/bash

#

inum=0


while ((inum<6))

do

    let inum++

    # command

    date="/bin/date"

    ha="/usr/bin/hadoop fs -ls -d"

    # var

    y=`$date +%Y`

    m=`$date +%D | cut -d"/" -f1`

    d=`$date +%d`

    h=`$date +%H`

    dir="/cstreaming/DAT/${y}${m}${d}${h}*"


    $ha $dir | grep -v -i found | awk '{print $6,$7,$8}' > .tmp.txt


    #cat .tmp.txt

    res=`cat .tmp.txt|wc -l`

    if (($res>0));then

        printf "%s\t" `date | awk '{print $4}'`

        printf "Ok.There are some directories found.\n"

    else

        printf "Error.Directories was't found.\n"

    fi

done

./dir-listening.sh

$ ./dir-listening.sh

10:05:41        Ok.There are some directories found.

10:05:43        Ok.There are some directories found.

10:05:45        Ok.There are some directories found.

10:05:48        Ok.There are some directories found.

10:05:50        Ok.There are some directories found.

10:05:53        Ok.There are some directories found.


===================================================

查找生成的文件*.DAT

vi csv-listening.sh

#!/bin/bash


# com

dd="/bin/date"

pp="/usr/bin/printf"

hh="/usr/bin/hadoop fs -ls"


# var

inum=0

YY=`$dd +%Y`

MM=`$dd +%D | cut -d/ -f1`

DD=`$dd +%d`

h=`$dd +%H`

m=`$dd +%M`

s=`$dd +%S`

string1="/csv/*/*=${YY}${MM}${DD}*/*.DAT"

string2="/csv/*/*=${YY}${MM}${DD}${h}/*.DAT"



#until ((inum>2))

until ((inum>2000000000000))

do

    let inum++


    $pp "%-6s" $inum

    $pp "  %-5s" ${DD}

    printf "  $string1 "

    $pp " : "

    $hh $string1 2>/dev/null | grep -v -i found | wc -l


    printf "        %-s%-s" ${DD},${h}

    printf "  $string2"

    printf " : "

    $hh $string2 2>/dev/null | grep -v -i found | wc -l


done


./csv-listening.sh

1       28     /csv/*/*=20140828*/*.DAT  : 1801

        28,11  /csv/*/*=2014082811/*.DAT : 0

2       28     /csv/*/*=20140828*/*.DAT  : 1801

        28,11  /csv/*/*=2014082811/*.DAT : 0

3       28     /csv/*/*=20140828*/*.DAT  : 1801

        28,11  /csv/*/*=2014082811/*.DAT : 0

4       28     /csv/*/*=20140828*/*.DAT  : 1801

        28,11  /csv/*/*=2014082811/*.DAT : 0

......


10      28     /csv/*/*=20140828*/*.DAT  : 1185

        28,11  /csv/*/*=2014082811/*.DAT : 0

11      28     /csv/*/*=20140828*/*.DAT  : 1117

        28,11  /csv/*/*=2014082811/*.DAT : 0

12      28     /csv/*/*=20140828*/*.DAT  : 960

        28,11  /csv/*/*=2014082811/*.DAT : 0

13      28     /csv/*/*=20140828*/*.DAT  : 782

        28,11  /csv/*/*=2014082811/*.DAT : 0

14      28     /csv/*/*=20140828*/*.DAT  : 701

        28,11  /csv/*/*=2014082811/*.DAT : 0

15      28     /csv/*/*=20140828*/*.DAT  : 666

        28,11  /csv/*/*=2014082811/*.DAT : 0

16      28     /csv/*/*=20140828*/*.DAT  : 585

        28,11  /csv/*/*=2014082811/*.DAT : 0

17      28     /csv/*/*=20140828*/*.DAT  : 408

        28,11  /csv/*/*=2014082811/*.DAT : 0

18      28     /csv/*/*=20140828*/*.DAT  : 290

        28,11  /csv/*/*=2014082811/*.DAT : 0

......


vi csv-crontab-listening.sh

#!/bin/bash


# com

dd="/bin/date"

pp="/usr/bin/printf"

hh="/usr/bin/hadoop fs -ls"


# var

inum=0

YY=`$dd +%Y`

MM=`$dd +%D | cut -d/ -f1`

DD=`$dd +%d`

h=`$dd +%H`

m=`$dd +%M`

s=`$dd +%S`

string1="/csv/*/*=${YY}${MM}${DD}*/*.DAT"

string2="/csv/*/*=${YY}${MM}${DD}${h}/*.DAT"



#until ((inum>2))

until ((inum>2))

do

    let inum++


    $pp "%-6s" $inum

    $pp "%4s:%-4s " $h $m

    $pp "  %-5s" ${DD}

    printf "  $string1 "

    $pp " : "

    $hh $string1 2>/dev/null | grep -v -i found | wc -l


    $pp "%-6s" " "

    $pp "%4s:%-4s " $h $m

    printf "  %-s%-s" ${DD},${h}

    printf "  $string2"

    printf " : "

    $hh $string2 2>/dev/null | grep -v -i found | wc -l


done

$ csvcap.sh

1       15:15     28     /csv/*/*=20140828*/*.DAT  : 1796

        15:15     28,15  /csv/*/*=2014082815/*.DAT : 0

2       15:15     28     /csv/*/*=20140828*/*.DAT  : 1796

        15:15     28,15  /csv/*/*=2014082815/*.DAT : 0

3       15:15     28     /csv/*/*=20140828*/*.DAT  : 1796

        15:15     28,15  /csv/*/*=2014082815/*.DAT : 0

1       15:20     28     /csv/*/*=20140828*/*.DAT  : 711

        15:20     28,15  /csv/*/*=2014082815/*.DAT : 0

2       15:20     28     /csv/*/*=20140828*/*.DAT  : 466

        15:20     28,15  /csv/*/*=2014082815/*.DAT : 0

3       15:20     28     /csv/*/*=20140828*/*.DAT  : 279

        15:20     28,15  /csv/*/*=2014082815/*.DAT : 0

1       15:25     28     /csv/*/*=20140828*/*.DAT  : 0

        15:25     28,15  /csv/*/*=2014082815/*.DAT : 0

2       15:25     28     /csv/*/*=20140828*/*.DAT  : 0

        15:25     28,15  /csv/*/*=2014082815/*.DAT : 0

3       15:25     28     /csv/*/*=20140828*/*.DAT  : 0

        15:25     28,15  /csv/*/*=2014082815/*.DAT : 0




本文出自 “小崔的实验笔记” 博客,谢绝转载!

你可能感兴趣的:(dir,listen)