每週一坑-【3月第1周】
以後打算開個專題叫每週一坑,有坑就寫,哈哈哈~~當然今天寫的不止一坑,是兩坑 = =。都是這週發生的
一、備份指令碼沒跑月備份
這個事是昨天發現的,額,月備份的目錄發現沒了好幾個月的資料(悄悄滴不要說出去,天知地知我知 / _ \)。
沒有備份主要集中是兩個原因:
(2)沒調過定時指令碼,但是備份邏輯有問題呀
針對第(2)種情況,我說說什麼回事
話說指令碼是這樣的(只摘錄有問題部分):
#!/bin/bash日備份目錄:date=`date +%y%m%d_%h%m`
dumpfile=$date.sql
###日備份(沒問題)
$my_sql/mysqldump -h $ipaddr -p $port -u$username -p$password --set-gtid-purged=off 某資料庫 > $bakdir/某資料庫_$dumpfile
###月備份(邏輯有問題)
#保留月初第1天第乙份資料(xx年x月01日0點0分)
day=`date +%d`
hm=`date +%h%m`
if [[ $day == 01 ]] && [[ $hm == 0000
]] ;
then
cp $/某資料庫_$dumpfile $/某資料庫/
fi
備份出來的檔案是:資料庫_20210301_0000.sql(大小為2g多)
因為太大了,需要2分鐘才備份出來,所以時間顯示:00:02
月備份算出來的變數 hm是匹配不了 0000 的 !!!dump大資料出來你以為不需要時間麼,這種判斷邏輯只能針對在1分鐘內備份出來的情況,也就是資料庫比較小的情況,不然資料一大就gg了 !!!
解決:
兩個方法選其一即可:
1、月備份的hm位置不需要調整
在日備份擷取date的時分兩位,即
date=`date +%y%m%d_%h%m`後面的月備份hm寫成
hm=`echo $date | awk -f'_' ''`
2、月備份的hm位置需要調整
月備份的hm變數寫到上面日備份的mysqldump前
二、釘釘報警失效
這個是今天發現的。因為要分資料備份到不同nas上,調整指令碼資料庫備份路徑的時候,發現釘釘不報警了。我們每天,每次備份完都會發釘釘通知的
問題+解決
(1)明明寫了**,釘釘發訊息不@我
解決:
"atmobiles
": [
"'$'
"],
紅色的"'"之前是沒有的,導致沒讀到**這個變數(2)掛載了第2塊nas 硬碟,新增報警使用資訊之後,不發告警
解決:
grep -w"/data
"
原來寫的是 grep "/data"手動查發現如下情況:第1塊硬碟掛的本地目錄是 /data,我為了方便,第2塊nas掛的目錄就叫 /data1 好了
想不到有潛在風險,這個是我列印執行指令碼資訊的時候顯示的:
1.0t 這個為啥顯示2次?????
grep -w 才是精確匹配 /data 這個單詞的,不加 w 會連 /data1都匹配了
顯示正常如下:
最終,修正後的指令碼是這樣的:
d_t=`date +%f_%t`###
4、檢視nfs共享檔案大小
## nas1
disk_count=`df -h|grep -w
"/data
" |awk''
`disk_free=`df -h|grep -w
"/data
" |awk''
`disk_use=`df -h|grep -w
"/data
" |awk''
`### nas2
disk1_count=`df -h|grep
"/data1
" |awk''
`disk1_free=`df -h|grep
"/data1
" |awk''
`disk1_use=`df -h|grep
"/data1
" |awk''
`function
sendmessagetodingding()'
\r'$'
\r'$': '$'
\rnfs1共享檔案磁碟空間大小: '$
' 空閒: '
$' 已用: '$'
\rnfs2共享檔案磁碟空間大小: '$
' 空閒: '
$' 已用: '$'"
}, "at
": '
"],
"isatall
": false}}
'$ > /dev/null 2>&1
}
每週一總結(1)
實習第一周。來到公司 第一件事就是 裝各種軟體。好在以前裝了myeclpise8.5 並且tomcat 也配置好了。只是 那會裝svn怎麼也弄不上。雖然從網上搜過很多方法 還是不行。這次 終於 把8.5的svn給裝上了。方法如下 下下來的那個site 1.6.5 然後用底下的features plu...
每週一題(1)
把2019分解成3個各不相同的正整數之和,並且要求每個正整數都不包含數字2和4.一共有多少種不同的分割方法。注意交換3個整數的順序被視為同一種方法1,例如1000 1001 18和1001 1000 18被視為同一種。這是一道結果填空的題,你只需要算出結果後提交即可。本題的結果為乙個整數,在提交答案...
每週一題 3n 1問題
考慮如下的序列生成演算法 從整數 n 開始,如果 n 是偶數,把它除以 2 如果 n 是奇數,把它乘 3 加1。用新得到的值重複上述步驟,直到 n 1 時停止。例如,n 22 時該演算法生成的序列是 22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1 人們猜想 沒有...