close

#!/bin/bash
IP=ftp.test.org #設定FTP Server的IP位址
PORT=21 #設定FTP Server的PORT
USER=test #設定登入帳號
PASSWD=test123     #設定登入密碼



FILEPATH=/data/    #本機的存放檔案位置



function DownloadFile(){ #下載檔案之函式    
ftp -n -v $IP $PORT << EOT    #連線至FTP
user $USER $PASSWD #輸入帳號密碼
prompt #prompt 指令切換交談狀態,以決定在傳輸檔案前是否要顯示提示訊息要求使用者確認。此處為關閉指令。
cd /
get text.txt $FILEPATH/text.txt    #抓取檔案

bye #斷線
EOT
}
function CopyFile (){ #複製檔案之函式
echo "Satrt CopyFile!!"
cp -p $FUTFILEPATH/*  /home/rangerll    #複製到要家目錄下

}
function CheckFile(){ #檢查檔案之函式
FILEEXIT="1"
echo "FILEEXIT=$FILEEXIT"
if [ ! -f $FILEPATH/text.txt ];then #判斷是否存在,來判斷是否抓取成功
        echo " text.txt  dose not exist!!"
        FILEEXIT="0" #判斷失敗
fi


#echo "FILEEXIT=$FILEEXIT"

if [ "$FILEEXIT" != "0"  ];then #判斷成功
        echo "FILEEXIT=$FILEEXIT"
        return 0 #回傳0
else
        echo "FILEEXIT=$FILEEXIT"
        return 1 #判斷失敗,回傳1
fi
}



#================================
echo "Start to download"
DownloadFile #執行下載檔案之函式
CopyFile #執行複製檔案之函式
CHECK="0"
CheckFile #執行檢查檔案之函式
CHECK=$? #承接 檢查檔案 之結果
echo "CheckFile = $CHECK"
if [ "0" = $CHECK ];then    #判斷成功
        echo "CheckFile Successful!!"
else
        COUNT="1"
        echo "COUNT=$COUNT"
fi
while [ "0" != "$CHECK" -a  "$COUNT" != "5" ]  #判斷失敗,或重試不到5次
do
        DownloadFile
        CopyFile
        CheckFile
        CHECK=$?
        echo "CheckFile = $CHECK"
        if [ "0" = $CHECK ];then
                echo "CheckFile Successful!!"
                break;
        fi
        COUNT=`expr $COUNT + 1`
        echo "COUNT=$COUNT"
        sleep 1
done

echo "END of Get File"
undefined
arrow
arrow
    全站熱搜

    rangerll 發表在 痞客邦 留言(0) 人氣()