shell脚本每月最后一天判断

####函数定义 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 } #################################################################### for yyyymm in 201712 201801 201802 do last_day=$(monBigorSmall "$yyyymm") echo "last_day=$last_day" #################################################################################################### 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 -pXXXX -d flight -c $colname -o /home/lilongqian/temp mongo localhost:10001/admin -uroot -p'XXXXXX' --eval "sh.shardCollection(\"flight.$colname\",{\"_id\":\"hashed\"})" mongorestore -h 127.0.0.1 --port 10001 -uchengqian -pXXXXX -d flight -c $colname /home/lilongqian/temp/flight/$colname.bson rm -rfv /home/lilongqian/temp/flight/$colname* done done
posted @ 2018-04-10 09:52  longer3281  阅读(757)  评论(0)    收藏  举报