SHELL指令碼每月最後一天判斷

longer3281發表於2018-04-10
#!/bin/bash


####函式定義
function monBigorSmall()
{
big_month=(1 3 5 7 8 10 12)
small_month=(4 6 9 11)
year=$(echo $1|cut -c 1-4)
month=$(echo $1|cut -c 5-6)
day=$(echo $1|cut -c 7-8)


for bvar in ${big_month[@]}
do
   if [ $bvar -eq $month ]
   then
      echo 31
   fi
done


for svar in ${small_month[@]}
do
   if [ $svar -eq $month ]
   then
      echo 30
   fi
done


iyear=$((10#${year}))
imonth=$((10#${month}))


if [ $imonth -eq 2 ]
then
    if [ $(($iyear % 4)) -eq 0 -a $(($iyear % 100)) -ne 0 ] || [ $(($iyear % 400)) -eq 0 ]
    then
        echo 29
    else
        echo 28
    fi
fi

}

#########
echo "#############################################################################################"


for ((ii=1;ii<=$last_day;ii++))
do
    colname=$(printf "aircraft15_${yyyymm}%02d" $ii)
    echo $colname
    mongodump -h  10.13.40.71 --port 10001 -uchengqian -pXXXXXX-d flight -c $colname  -o /home/lilongqian/temp
    mongo localhost:10001/admin -uroot -pXXXXXX' --eval "sh.shardCollection(\"flight.$colname\",{\"_id\":\"hashed\"})"
    mongorestore -h 127.0.0.1 --port 10001 -uchengqian -pXXXXXX-d flight -c  $colname /home/lilongqian/temp/flight/$colname.bson
    rm -rfv /home/lilongqian/temp/flight/$colname*
done


done

【完】



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9606353/viewspace-2152737/,如需轉載,請註明出處,否則將追究法律責任。

相關文章