shell小技巧(六十)MySQL備份例項指令碼

2021-10-05 10:51:45 字數 1265 閱讀 9574

要求:

1.按時備份mysql指定資料庫。

2.將備份資料恢復到指定mysql例項備用

3.將備份資料檔案壓縮,原始檔刪除

4.刪除超過10日以上的備份檔案(壓縮後的)

**:#!/bin/sh

#-----start

dbuser="*****icken"

dpwd="12345678"

dbname="chickens"

dbhost="rr-uf6ccxa6393236y3u.mysql.rds.aliyuncs.com"

backupdir="/newdisk2" #備份資料檔案存放目錄

time="$(date +"%d-%m-%y-%h")" #獲得日期時間字串,精確到小時

weekday=`date +%w`

mysqldump="/usr/bin/mysqldump" #備份命令,全路徑

gzip="/bin/gzip" #壓縮命令,全路徑

$mysqldump -h$dbhost -u$dbuser -p$dpwd  $dbname > "$backupdir/$time.$dbname"

#--------end

find /newdisk2/chickens -type f -mtime +10 -delete #刪除存在超過10天的檔案,注意執行路徑是備份檔案存放目錄

#monday to friday

if [ $weekday -ge 1 ] && [ $weekday -le 5 ];

then    

mysql -uallenle -p1qaz2wsx chickes_report < "$backupdir/$time.$dbname"

fi#$saturday

if [ $weekday -eq 6 ];

then

mysql -uallenle -p1qaz2wsx chickens0616 < "$backupdir/$time.$dbname"

fi#sunday

if [ $weekday -eq 0 ];

then    

mysql -uallenle -p1qaz2wsx chickens0617 < "$backupdir/$time.$dbname"

fi#實戰中因為資料庫命名不是全部都有規則,因此使用了多個if來實現恢復資料到指定資料庫

gzip  "$backupdir/$time.$dbname" #壓縮,如果要分卷壓縮,可以使用rar或者zip,這需要單獨安裝對應軟體

mysql寫Shell小技巧

今天終於在表哥的幫助下解決了檔案匯入 出這個問題了。很菜逼的乙個問題 然後將最近看到的文章都自己測試了下,順便奉上記錄。1.mysql資料庫支援union的時候寫檔案小技巧 採用常規的union寫入,可以看到前面的字段佔位數肯定也會被寫入,替換成null也是一樣的結果,這個對於寫shell沒啥大礙,...

shell小知識小技巧

1 local config config 1,如果沒有第乙個引數,那麼config netowk 2 字串可以用 來比較 數字可以用 來比較 3 shell函式傳引數的時候,local var1 hello local var2 word 傳這兩個引數到shell函式 fun shell寫成 fu...

幾個shell小技巧

1.expr 命令 由於bash 是功能有限的直譯器,所以自身並沒有支援太多的算術運算,一切都是字串。所以如果涉及到算術運算,需要借助其他的工具,比如bc 功能比較強大的小工具 expr 和 算術擴充套件.expr 支援幾個常見的算術運算 取模 expr還支援常見的關係運算,比如 題外話 如果要想計...