1、指令碼
#!/bin/bash2、配置檔案#script_name: mysql_backup.
sh#author: 蜷縮的小蝸牛
#site: www.along.party
#version: v0.
1#purpose: mysql backup
#create_time:
2017/07/25
db_name=$1
base_path=`dirname $0
`log_file='
mysql_backup.log
'log()
] $*
"echo
"[$] $*
">>$/$
}
warn_log()
]warning: $*\033[0m
"echo
"[$] $*
">>$/$
}
err_log()
]error: $*\033[0m
"echo
"[$] $*
">>$/$
}
succ_log()
]success: $*\033[0m
"echo
"[$] $*
">>$/$
}help()
all | database_name
"echo -e "
\tall : 備份所有資料庫!
"echo -e "
\tdatabase_name : 資料庫名稱!!"}
##全庫備份
all_backup()
-p -h$ -p$ --all-databases --single-transaction >$/$-all_database-$
"mysqldump -u$ -p$ -h$ -p$ --all-databases --single-transaction \
>$/$-all_database-$ 2>.warn.log
if [ $? -eq 0 ];then
succ_log
cd $
tar -zcvf $-all_database-$.tar.gz $-all_database-$
endtime=`date +%s`
((outtime=($-$)))
log
"全庫備份成功,用時[$outtime]秒
"rm -rf all_database-$
else
err_log
"全庫備份異常,請檢視$日誌檔案
"err_log `
head -10
.warn.log`
rm -rf .warn.log
fi}##備份單個庫
db_backup()
]備份開始
"log
"mysqldump -u$ -p -h$ -p$ $ >$/$-$-$
"mysqldump -u$ -p$ -h$ -p$ $ >$/$-$-$
if [ $? -eq 0 ];then
succ_log
cd $
tar -zcvf $-$-$.tar.gz $-$-$
endtime=`date +%s`
((outtime=($-$)))
log
"資料庫[$]備份成功,用時[$outtime]秒
"rm -rf $-$
else
err_log
"資料庫[$]備份失敗
"err_log `
head -10
.warn.log`
rm -rf .warn.log
fi}main()
/config.ini
" ];then
source $/config.ini
else
err_log
"配置檔案$/config.ini不存在
"exit 1fi
if [ -z $db_name ];then
help
elif [ $db_name == "
all" ];then
all_backup
else
db_backup
fi}main
配置檔案config.ini放在指令碼同級目錄
db_host='3、建立備份使用者127.0.0.1
'db_port='
3306
'db_user='
backup
'db_pass='
******
'now_time=`date +%y%m%d%h%m`
bak_path='
/www/backup
'
grant replication select, reload, show databases, lock tables on *.* to backup@'4、使用方法localhost
' identified by '
***xx
';
use: bash mysql_backup.sh all |database_nameall : 備份所有資料庫!
database_name : 資料庫名稱!!
編寫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 ...
mysql的備份指令碼 mysql的備份指令碼
1 描述 我相信很多朋友在工作都都會有這種需求,老闆或領導讓你每天都要備份mysql資料庫,你該如何實現呢,是每天到一定的時間在伺服器上敲一遍mysql的備份命令,還是想寫個指令碼,定時定點的自動備份呢?我相信大家都想讓它自動備份,接下來我通 shell指令碼 定時任務 的方式來實現自動備份mysq...