因為經常需要進行程式過版, 所以要從NAS中下載該服務的當日版號的release, 亦或者是當天修正的2版或3版(目前還沒看過當天4版), 所以在偷懶效率的前提下, 寫了一支script, 來加速作業並簡化指令。
#!/bin/bash
now="$(date +'%m%d')" #取得當天的日期
pah="$(pwd)" #所在位置字串
svc=${pah##*/} #所在位置取最後字串,即服務名稱
## 判別目標資料夾是否存在, 存在則下載,不在則秀訊息##
function ftpm() {
# 判別資料夾是否存在
if ssh sysbk@192.168.7.51 test -e /volume1/IFSD/Release/"$svc"/v1.0.21"$now".$1;
#若存在則進行下載到本地工作目錄
then scp -r sysbk@192.168.7.51:/volume1/IFSD/Release/"$svc"/*.21"$now".$1/ .
else echo "不存在 v1.0.21$now.$1" #若不存在則回應訊息
fi
}
#判別當天日期有幾個資料夾,以上傳最新的Release,避免重複上傳已存在的
function dlfnas() {
if [ -d *.21"$now".4 ]; then ftpm 5 #判別本地工作目錄內第4版資料夾是否存在,若存在則下載第5版
elif [ -d *.21"$now".3 ]; then ftpm 4 #判別本地工作目錄內第3版資料夾是否存在,若存在則下載第4版
elif [ -d *.21"$now".2 ]; then ftpm 3 #判別本地工作目錄內第2版資料夾是否存在,若存在則下載第3版
elif [ -d *.21"$now".1 ]; then ftpm 2 #判別本地工作目錄內第1版資料夾是否存在,若存在則下載第2版
else ftpm 1 #下載第1版
fi
}
#判別所在位置是否為工作目錄(/var/icw),不正確則不執行
for chksvc in `ls /var/icw`
do
if [ $chksvc == $svc ];then
echo "現在執行=>$chksvc"
dlfnas
exit 0
fi
done
echo 你的工作目錄不正確