將下列內容存成檔案, 並授予執行權限, 放置於 /usr/local/bin底下, 可以直接呼叫執行
#!/bin/bash
#
###########################################################
# #
# 長穩服務上版時自動下載當日過版程式 #
# V1.0.20210531 #
# Aliok #
# #
###########################################################
#
if [ "$1" == "y" ]; then
now="$(date -d 'yesterday' +'%y%m%d')"
else now="$(date +'%y%m%d')"
fi
echo "$now"
NAS="192.168.7.51"
workpath="$(pwd)"
svc=${workpath##*/}
## 下載資料夾(down load folder)判別目標資料夾是否存在, 存在則下載,不在則秀訊息 ##
function down_load_dir() {
if [ -d $1 ];then
continue
else scp -r sysbk@"$NAS":/volume1/IFSD/Release/$svc/$1 . && echo 下載$1
fi
}
## 檢查當天日期現有資料夾名稱(check release),以下載最新的Release,避免重複下載 ##
function chk_release() {
local nas_dir=`ssh sysbk@"$NAS" 'ls /volume1/IFSD/Release/'$svc/`
for chk_today_dir in $nas_dir
do
if [ -d `echo $chk_today_dir | grep $now` ]; then
continue
else down_load_dir $chk_today_dir
fi
done
echo "沒有新資料"
}
#判別所在位置是否為工作目錄(/var/icw),不正確則不執行
for chkdir in `ls /var/icw`
do
if [ /var/icw/$chkdir == $workpath ];
then echo "現在工作目錄=>$chkdir"
chk_release && exit 0
fi
done
echo 你的工作目錄不正確