下文我給大家簡單講講關(guān)于寫一個shell腳本備份MySQL數(shù)據(jù)庫的步驟,大家之前了解過相關(guān)類似主題內(nèi)容嗎?感興趣的話就一起來看看這篇文章吧,相信看完寫一個shell腳本備份mysql數(shù)據(jù)庫的步驟對大家多少有點(diǎn)幫助吧。
成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的東寧網(wǎng)站設(shè)計(jì)、移動媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
任何項(xiàng)目的運(yùn)行都離不開數(shù)據(jù),持久化數(shù)據(jù)對于一個企業(yè)尤為重要,任何時候都不可掉以輕心,下面是我自己寫的一個shell腳本,用來備份數(shù)據(jù),分享給大家。
#!/bin/bash # 數(shù)據(jù)庫連接信息 MY_user="" MY_pass="" MY_port="3306" # 環(huán)境變量 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/data/mysql_57/bin export PATH MY_data=`date "+%F"` # 腳本日志 SHELL_LOG="/root/mysql_bak.sh.log" # mysql 目錄 Mysql_datadir="/data/mysql_57" Mysql_Binlog_dir="/data/mysql_57/logs/bin-log" # 備份目錄 Bak_dir="/root/mysql_data" Full_dir=${Bak_dir}/full # 全量備份目錄 DB_dir=${Bak_dir}/db # 單庫備份目錄 Binlog_dir=${Bak_dir}/binlog # 增量二進(jìn)制備份目錄 # Write Log shell_log(){ LOG_INFO=$1 echo "$(date "+%F") $(date "+%T") : $0 : ${LOG_INFO}" >> ${SHELL_LOG} } case $1 in # 全量備份 Full) mysqldump -u${MY_user} -p${MY_pass} -P${MY_port} -A -B -F -R -x --events|gzip > ${Full_dir}/${MY_data}_all.sql.gz if [[ $? -eq 0 ]];then shell_log "SUCCESS: mysql Full database bak is success" else shell_log "ERROR: mysql Full database bak error" fi ;; # 單庫備份 db) db_fun(){ DB_name=$1 mysqldump -u${MY_user} -p${MY_pass} -P${MY_port} -F -B ${DB_name}|gzip > ${DB_dir}/${MY_data}_${DB_name}.sql.gz if [[ $? -eq 0 ]];then shell_log "SUCCESS: mysql database ${DB_name} bak is success" else shell_log "ERROR: mysql database ${DB_name} bak error" fi } db_fun cadavertrace ;; # 增量備份(全量和單庫備份都會刷新二進(jìn)制日志) increment) cd ${Mysql_Binlog_dir} binlog=`ls -At mysql-bin* | head -n 1` gzip -c ${binlog} > ${Binlog_dir}/${binlog}.gz mysql -u${MY_user} -p${MY_pass} -P${MY_port} -e "flush logs;" 2> /dev/null ;; *) echo "ERROR: Usage: mysqlbak [ Full | db | increment ]" ;; esac #if [[ $# -eq 0 ]];then # echo "Invalid paramete;Full | db | increment"#fi
大家覺得寫一個shell腳本備份mysql數(shù)據(jù)庫的步驟這篇文章怎么樣,是否有所收獲。如果想要了解更多相關(guān),可以繼續(xù)關(guān)注我們的行業(yè)資訊板塊。