每週一坑 3月第1周

2022-06-13 09:06:08 字數 3232 閱讀 2205

每週一坑-【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 人們猜想 沒有...