mysql 備份成檔案的指令碼 mysql 備份指令碼

2021-10-22 03:36:48 字數 1521 閱讀 6108

#!/bin/bash

dbname=使用者名稱         #db資料庫

backup_dir=/data/mysqlbackup/databackup #備份目錄

dbrootpwd=密碼               #db使用者名稱root密碼:

expired_days=7                          #bd備份儲存7天

logfile=$backup_dir/db.log                 #日誌檔案

dumpfile=$backup_dir/db_lelaohui_$(date +%y%m%d_%h).sql   #備份資料庫檔案

newfile=$backup_dir/db_lelaohui_$(date +%y%m%d_%h).tgz    #新增備份資料庫檔案

oldfile=$backup_dir/db_lelaohui_$(date +%y%m%d --date="$expired_days days ago")*.tgz #舊的備份檔案 「7 days ago」意思是7天以前時間

[ ! -e "$backup_dir" ] && mkdir -p $backup_dir                 #判斷備份目錄/data/mysqlbackup/databackup不存在,那麼新建備份目錄

if [ -n "`ls $oldfile 2>/dev/null`" ];then  #當串的長度大於0時為真(串非空),檢視  2>/dev/null代表不輸出錯誤提示資訊。

/bin/rm -f $oldfile

echo "[$oldfile] delete old file success" >> $logfile

else

echo "[$oldfile] delete old backup file" >> $logfile

fiif [ -e "$newfile" ];then       #如果新檔案存在,那麼輸出日誌為那麼不能備份

echo "`date +%y%m%d_%h`: [$newfile] the backup file is exists, can't backup" >> $logfile

else    #否則建立新的備份檔案,進入備份路徑,壓縮新增備份資料庫檔案.tgz,刪除備份的.sql檔案。

/usr/bin/mysqldump -uroot -p$dbrootpwd -h10.66.126.90 --opt --databases dinner llh llh_bomb  > $dumpfile

cd $backup_dir

tar czf $newfile $ >> $logfile 2>&1            #$:刪掉最後乙個/  及其左邊的字串:my.file.txt   壓縮新備份資料庫,並刪除.sql資料庫

echo "`date +%y%m%d_%h`: [$newfile] backup success ">> $logfile      #追加列印備份成功的日誌

/bin/rm -f $dumpfile

fi

mysql的備份指令碼 mysql的備份指令碼

1 描述 我相信很多朋友在工作都都會有這種需求,老闆或領導讓你每天都要備份mysql資料庫,你該如何實現呢,是每天到一定的時間在伺服器上敲一遍mysql的備份命令,還是想寫個指令碼,定時定點的自動備份呢?我相信大家都想讓它自動備份,接下來我通 shell指令碼 定時任務 的方式來實現自動備份mysq...

編寫mysql備份指令碼 mysql 備份指令碼的編寫

最近在為做一些邊邊角角的工作,現在有乙個需求要每天把mysql的資料庫dump出來到備份機器上面去.看似簡單的任務也潛在了很多的需求,整理如下 自動執行 crontab 指令碼的環境變數設定 由於通過crontab 啟動執行的指令碼環境變數沒有設定,需要在指令碼中設定環境變數 使用何種方式備份資料庫...

mysql備份 MySQL備份指令碼

第乙個指令碼 bin bash mysql備份指令碼bak dir data backup date y m d mysqldb 資料庫名mysqluser 使用者mysqlpwd 密碼mysqlcmd usr bin mysqldumpmysqlser 資料庫伺服器mysqlport 埠if d ...