要求:
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還支援常見的關係運算,比如 題外話 如果要想計...