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"
全站熱搜
留言列表