服務上版時自動下載當日過版程式

將下列內容存成檔案, 並授予執行權限, 放置於 /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 你的工作目錄不正確