#!/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 ...