hdfs日志上传脚本(三)
- #!/bin/bash
- # 2012-03-02 by qinshan.li
- #
- export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
- windows="/hdfs/track_1469 /hdfs/track_1470 /hdfs/track_1722"
- TRACK=/log/source/iCast_iFocus_track
- for DIR in $windows
- do
- find $DIR -type f -name "*.lzo" |while read FILE
- do
- if [ -f "$FILE" ]; then
- if ! lsof |grep $FILE; then
- Original=$(echo $FILE |awk -F '/' '{print $4}')
- New=${L_N}_170
- mv $DIR/$Original $DIR/$New
- L_size=$(ls -l $DIR/$New |awk '{print $5}')
- if ~/hadoop-0.20.2-CDH3B4/bin/hadoop fs -copyFromLocal $DIR/$New $TRACK
- then
- H_size=$(~/hadoop-0.20.2-CDH3B4/bin/hadoop fs -ls $TRACK/$New |awk '{print $5}')
- RAND=0
- while [ "$H_size" -ne "$L_size" ]; do
- RAND=$(($RAND+1))
- if [ $RAND -gt 5 ]; then
- echo -e "Have tried 5 times to upload $FILE !" |mail -s "track jiaxing upload failure" -c aa@123.com bb@123.com -- -f bb@123.com -F bb
- break
- fi
- ~/hadoop-0.20.2-CDH3B4/bin/hadoop fs -rm $TRACK/$New
- ~/hadoop-0.20.2-CDH3B4/bin/hadoop fs -copyFromLocal $DIR/$New $TRACK
- done
- fi
- ~/hadoop-0.20.2-CDH3B4/bin/hadoop fs -mv $TRACK/$New $TRACK/$Original
- rm -f $DIR/$New
- fi
- fi
- done
- done
-
#!/bin/bash
-
# 2012-03-02 by qinshan.li
-
#
-
if [ -z "$(/usr/bin/pgrep aa.sh)" ]
-
then
-
echo -e "$(/bin/date +%F_%H:%M) Now running aa.sh" >>/hdfs/bb.log
-
source /hdfs/aa.sh
-
else
-
echo -e "$(/bin/date +%F_%H:%M) The script aa.sh is running." >>/hdfs/bb.log
-
fi
http://blog.51cto.com/share/795404