婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > shell腳本實現mysql定時備份、刪除、恢復功能

shell腳本實現mysql定時備份、刪除、恢復功能

熱門標簽:北京電銷機器人對市場的影響 湖北孝感如何辦理 輝縣市地圖標注 地圖標注x是啥意思 房產證地圖標注的兩個面積 同花順電話機器人微信 武漢語音電銷機器人加盟 外呼系統的合法性 威海電銷外呼系統好用嗎

mysql備份腳本:

腳本實現:按照數據庫名稱,全量備份mysql數據庫并定期刪除

#!/bin/bash
#全備方式,一般在從機上執行,適用于小中型mysql數據庫
#刪除15天以前備份
#作者:lcm_linux
#時間:2019.08.06
 
source ~/.bash_profile #加載用戶環境變量
set -o nounset    #引用未初始化變量時退出
set -o errexit   #執行shell命令遇到錯誤時退出
#備份用戶---需要在mysql中提前創建并授權
#GRANT SELECT,RELOAD,LOCK TABLES,REPLICATION CLIENT,SHOW VIEW,TRIGGER,EVENT ON *.* TO 'backup'@'%' IDENTIFIED BY 'baifendian';
user="backup"
#備份用戶密碼
password="123456"
#mysql連接端口
port="3306"
mysql_path="/usr/local/mysql"
date=$(date +%Y-%m-%d_%H-%M-%S)
del_date=$(date +%Y-%m-%d)
#備份路徑---需要修改
backup_path="/opt/mysql_backup/new-bak/data"
backup_log_path="/opt/mysql_backup/new-bak/log"
day=0
backup_log="/opt/mysql_backup/new-bak/log/mysqldump_backup_${date}.log"
# 除了127.0.0.1以外的ip截取 /sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"
#刪除以前備份
find ${backup_path} -type f -mtime +$day -name "*.tar.gz" -exec rm -rf {} \; > /dev/null 2>1 

for f in `ls $backup_path`;
do
  if [[ $f = ${del_date}_* ]]; then
    rm -rf $backup_path/$f
  fi
done
#建立備份目錄
if [ ! -e $backup_path/${date} ];then
 mkdir -p {$backup_path/${date},$backup_log_path}
fi
 
 
#echo "開始備份所有數據庫" 
echo "備份開始,結果查看 $backup_log"
echo "==========All databases backups begin==========" >>$backup_log
#備份并壓縮
 for dbname in $(mysql -P$port -u$user -p$password -A -e "show databases\G"|grep Database|grep -v schema|grep -v test|awk '{print $2}')
 do
 sleep 1
 mysqldump -P$port -u$user -p$password $dbname > $backup_path/${date}/$dbname.sql
 if [[ $? == 0 ]];then
  cd $backup_path/${date}
  size=$(du $backup_path/${date}/$dbname.sql -sh | awk '{print $1}')
  echo "備份時間:${date} 備份方式:mysqldump 備份數據庫:$dbname($size) 備份狀態:成功!" >>$backup_log
 else
  cd $backup_path/${date}
  echo "備份時間:${date} 備份方式:mysqldump 備份數據庫:${dbname} 備份狀態:失敗,請查看日志." >>$backup_log
 fi
 
 done
 
 cd $backup_path
 tar zcpvf mysql_all_databases_$date.tar.gz $date
 rm -rf $backup_path/$date

du mysql_all_databases_$date.tar.gz -sh | awk '{print "文件:" $2 ",大小:" $1}'
echo "==========All databases backups over==========" >>$backup_log

配置定時任務:

crontab -e

內容如下:

0 1 * * * /bin/bash /opt/script/mysql_shell/mysqlbackup.sh

附上恢復腳本A:

目標實現:對于刪除數據庫,根據上述備份腳本產生的備份文件內容,進行恢復數據庫操作,包括創建數據庫名稱

注意:恢復腳本需要手動操作

#! /bin/bash
source /etc/profile  #加載系統環境變量
source ~/.bash_profile #加載用戶環境變量
set -o nounset    #引用未初始化變量時退出
set -o errexit   #執行shell命令遇到錯誤時退出
date_tar=$(date +%Y-%m-%d_%H-%M-%S)
date=$(date +%Y-%m-%d)
local_path=${PWD}
user="root"
#備份用戶密碼
password="123456"
#mysql連接端口
port="3306"
DB_HOST=`/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"`
mysql_path="/usr/local/mysql"
read -ep "請輸入數據庫備份文件的路徑: " choose_path
if [ ! -d ${choose_path} ];then
	echo "請輸入正確路徑,已退出"
	exit
else
echo "以下為檢測到的數據庫文件名稱:"
cd ${choose_path}
for file in $(ls ${choose_path})
do
  [ -f ${file} ]  echo ${file%.*}  echo ${file%.*} >> ${local_path}/list.txt #先判斷是否是目錄,然后再輸出
done
fi
cat_list=`cat ${local_path}/list.txt`
function recovery(){
    for dbname in ${cat_list};do
        sleep 1
        create_db="create database IF NOT EXISTS \`${dbname}\`"
        mysql -h$DB_HOST -P$port -u$user -p$password -e "${create_db}"
        mysql -h$DB_HOST -P$port -u$user -p$password -A $dbname  ${choose_path}/$dbname.sql
         if [[ $? == 0 ]];then
            echo "恢復時間:${date} 恢復方式:mysqldump 恢復數據庫:$dbname 恢復狀態:成功!" >> $local_path/recovery_${date}.log
        else
            echo "恢復時間:${date} 恢復方式:mysqldump 恢復數據庫:${dbname} 恢復狀態:失敗,請查看日志." >> $local_path/recovery_${date}.log

        fi
    done  


}

read -ep "全部恢復輸入(A/a),單個恢復輸入(B/b):" choose
    if [ $choose = 'A' -o $choose = 'a' ];then
	recovery
	 elif [ $choose = 'B' -o $choose = 'b' ];then
	   read -ep "正在單個恢復數據庫,請輸入想要恢復的數據庫名稱:" mydatabase
       echo "正在恢復$mydatabase 請稍后....."
	   create_db="create database IF NOT EXISTS \`${mydatabase}\`"
	   mysql -h$DB_HOST -P$port -u$user -p$password -e "${create_db}"
       mysql -h$DB_HOST -P$port -u$user -p$password -A $mydatabase  $choose_path/$mydatabase.sql
       echo "$mydatabase 已成功恢復,恭喜!"
    	   exit			
			 
	else 
		echo "輸入不符合規則,請重新執行..."
	   exit
	  fi	

附上恢復腳本B:

腳本實現:在未刪除數據庫的情況下,對mysql數據庫進行數據恢復,可以選擇全部恢復或者逐個恢復。

注意:恢復腳本需要手動操作

#! /bin/bash
source /etc/profile  #加載系統環境變量
source ~/.bash_profile #加載用戶環境變量
set -o nounset    #引用未初始化變量時退出
set -o errexit   #執行shell命令遇到錯誤時退出
user="root"
#備份用戶密碼
password="123456"
#mysql連接端口
port="3306"
DB_HOST=`/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"`
mysql_path="/usr/local/mysql"
date=$(date +%Y-%m-%d_%H-%M-%S)
#備份路徑---需要修改
#recovery_path="/opt/mysql_backup/new-bak"
#recovery_log="${recovery_path}/mysqldump_recovery_${date}.log"
mysql_list=`mysql -h$DB_HOST -P$port -u$user -p$password -A -e "show databases\G"|grep Database|grep -v schema|grep -v test|awk '{print $2}'`
echo "數據庫名稱列表如下:"
echo "${mysql_list}"

read -p "全部恢復輸入(A/a),單個恢復輸入(B/b):" choose
#echo $choose
#	if [ $choose = 'A' -o $choose = 'a' -o $choose != 'B' -o $choose != 'b' ];then
    if [ $choose = 'A' -o $choose = 'a' ];then
	read -p "正在準備恢復全部數據庫,請輸入恢復數據文件所在路徑:" allpath
		if [ ! -d $allpath ];then
			echo "此路徑不存在,請重新執行..."
			exit				
		fi
	for dbname in ${mysql_list};do
		sleep 1
		create_db="create database IF NOT EXISTS ${dbname}"
		mysql -h$DB_HOST -P$port -u$user -p$password -e "${create_db}"
		mysql -h$DB_HOST -P$port -u$user -p$password -A $dbname  $allpath/$dbname.sql
		 if [[ $? == 0 ]];then
			cd $allpath
  			size=$(du $allpath/$dbname.sql -sh | awk '{print $1}')
  			echo "恢復時間:${date} 恢復方式:mysql 恢復數據庫:$dbname($size) 恢復狀態:成功!" >> $allpath/recovery_${date}.log
 		else
  			cd $allpath
  			echo "恢復時間:${date} 恢復方式:mysqldump 恢復數據庫:${dbname} 恢復狀態:失敗,請查看日志." >> $allpath/recovery_${date}.log

		fi
	done	
	 elif [ $choose = 'B' -o $choose = 'b' ];then
	   read -p -e "正在單個恢復數據庫,請輸入想要恢復的數據庫名稱:" mydatabase
	   read -p -e "請輸入數據庫恢復的路徑:" mypath
		if [ ! -d $mypath ];then
    		echo "此路徑不存在,請重新執行..."
    		 	exit
		elif [ ! -f $mypath/$mydatabase.sql ];then
			echo "此路徑下沒有目標數據庫文件,請重新執行..."
			exit
		   elif [ $mydatabase != $mysql_list ];then
                echo "$mydatabase 不在此數據庫中,請確認數據庫名稱后再試,再見!"
			 else
                echo "正在恢復$mydatabase 請稍后....."
								create_db="create database IF NOT EXISTS ${dbname}"
								mysql -h$DB_HOST -P$port -u$user -p$password -e "${create_db}"
                mysql -h$DB_HOST -P$port -u$user -p$password -A $mydatabase  $mypath/$mydatabase.sql
                echo "$mydatabase 已成功恢復,恭喜!"
    			 	exit			
			 fi
#		   fi
#		fi
#	   fi
	else 
#	  if [ $choose != 'B' -o $choose != 'b' -o $choose != 'A' -o $choose != 'a' ];then 
		echo "輸入不符合規則,請重新執行..."
	   exit
	  fi

總結

以上所述是小編給大家介紹的 shell腳本實現mysql定時備份、刪除、恢復 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

您可能感興趣的文章:
  • HBASE 常用shell命令,增刪改查方法
  • shell簡單處理mysql查詢結果的方法
  • 用shell寫一個mysql數據備份腳本
  • Shell下實現免密碼快速登陸MySQL數據庫的方法
  • MySQL數據庫的shell腳本自動備份
  • 通過shell腳本對mysql的增刪改查及my.cnf的配置

標簽:武威 紹興 蚌埠 麗江 迪慶 西寧 安康 日喀則

巨人網絡通訊聲明:本文標題《shell腳本實現mysql定時備份、刪除、恢復功能》,本文關鍵詞  shell,腳本,實現,mysql,定時,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《shell腳本實現mysql定時備份、刪除、恢復功能》相關的同類信息!
  • 本頁收集關于shell腳本實現mysql定時備份、刪除、恢復功能的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    中文字幕综合网| 欧美色手机在线观看| 欧美日本一道本| 亚洲色图视频网站| 91麻豆精品秘密| 亚洲欧美另类久久久精品| eeuss国产一区二区三区| 欧美激情一区二区三区不卡| 国产福利精品导航| 国产女人aaa级久久久级| 风间由美一区二区三区在线观看| 久久99国产精品久久99果冻传媒| 欧美日本精品一区二区三区| 丝袜美腿亚洲一区二区图片| 在线不卡免费av| 国产一区二区女| 日韩美女精品在线| 精品国产sm最大网站免费看| www日韩大片| av中文字幕亚洲| 丝袜a∨在线一区二区三区不卡| 欧美精品久久99| 极品少妇xxxx偷拍精品少妇| 国产精品天美传媒| 欧美日韩视频在线一区二区| 国产精品原创巨作av| 亚洲色欲色欲www在线观看| 欧美精品vⅰdeose4hd| 国产最新精品精品你懂的| 国产精品全国免费观看高清| 91蜜桃传媒精品久久久一区二区| 国产精品女上位| 91成人在线精品| 国产一区在线观看麻豆| 亚洲一区二区影院| 中文字幕av不卡| 欧美挠脚心视频网站| 国产精品一区二区三区四区| av电影天堂一区二区在线| 欧美三级电影在线看| 国产精品99久久久久久宅男| 午夜一区二区三区在线观看| 国产精品无圣光一区二区| 4438x成人网最大色成网站| www.欧美精品一二区| 精品一区二区三区在线视频| 亚洲一区二区视频| 日本一区二区免费在线| 亚洲精品一区在线观看| 欧美日本高清视频在线观看| 色婷婷亚洲婷婷| 不卡一区二区中文字幕| 免费观看日韩av| 亚洲一二三四久久| 91亚洲大成网污www| 国产精品一区在线观看乱码| 乱一区二区av| 日韩va欧美va亚洲va久久| 一区二区三区在线免费播放| 亚洲欧洲精品一区二区三区不卡 | 欧美日韩免费电影| 久久av资源站| 看电视剧不卡顿的网站| 麻豆精品国产传媒mv男同| 亚洲久草在线视频| 国产精品亚洲专一区二区三区 | 一本在线高清不卡dvd| 91美女片黄在线观看| 亚洲国产日产av| 中文av一区二区| 国产午夜精品理论片a级大结局| 精品国产伦理网| 亚洲精品一线二线三线无人区| 日韩一区二区电影在线| 蜜桃av一区二区在线观看| 日欧美一区二区| 精品噜噜噜噜久久久久久久久试看| 久久成人羞羞网站| 国产综合色产在线精品| 国产美女精品人人做人人爽| 国产激情一区二区三区| 不卡视频在线看| 97久久超碰国产精品电影| 一本一道久久a久久精品综合蜜臀| 91网站视频在线观看| 欧美日韩三级视频| 久久色.com| 亚洲欧美国产77777| 亚洲高清视频中文字幕| 日韩欧美三级在线| 日本一区二区视频在线| 亚洲伊人色欲综合网| 欧美a一区二区| eeuss鲁一区二区三区| 欧美精品少妇一区二区三区| 国产视频一区二区在线| www.成人网.com| 亚洲欧美日韩电影| 九色综合狠狠综合久久| 91免费视频观看| 67194成人在线观看| 国产亚洲视频系列| 五月天亚洲精品| 成人激情小说乱人伦| 欧美一区二区三区视频| 中文字幕一区不卡| 久久电影国产免费久久电影| 欧美午夜精品久久久| 国产欧美一区视频| 色呦呦日韩精品| 欧美成人三级在线| 一区二区在线电影| 国产91在线看| 国内精品国产成人国产三级粉色| 亚洲国产精品麻豆| a级精品国产片在线观看| 日韩女同互慰一区二区| 亚洲午夜在线视频| 9人人澡人人爽人人精品| 欧美videofree性高清杂交| 亚洲成av人在线观看| 麻豆精品一区二区三区| 成人app在线| 国产亚洲一区二区三区四区 | 欧美午夜一区二区三区| 亚洲国产经典视频| 激情成人综合网| 日韩欧美一区中文| 蜜臀a∨国产成人精品| 欧美一卡二卡三卡| 午夜不卡av免费| 欧美日韩极品在线观看一区| 亚洲一区在线看| 日本道精品一区二区三区| 自拍偷在线精品自拍偷无码专区| 国产视频一区二区在线观看| 国产在线一区观看| 亚洲激情av在线| 制服丝袜亚洲网站| 日韩黄色在线观看| 日韩亚洲欧美高清| 激情欧美日韩一区二区| 久久久精品中文字幕麻豆发布| 亚洲精品中文字幕乱码三区| www.亚洲激情.com| 亚洲精品国产精品乱码不99| 欧美亚洲高清一区| 三级精品在线观看| 精品国产99国产精品| 高清不卡一区二区| 亚洲男人的天堂av| 欧美精品tushy高清| 久国产精品韩国三级视频| www国产精品av| 99久久国产综合精品女不卡| 一区二区三区国产| 日韩片之四级片| 波多野结衣亚洲| 亚洲午夜一二三区视频| 欧美一级国产精品| 国产99久久精品| 欧美午夜精品久久久久久孕妇| 水蜜桃久久夜色精品一区的特点| 日韩手机在线导航| 丁香婷婷综合激情五月色| 亚洲精品综合在线| 欧美精品一区二区三区蜜臀| 99久久久国产精品| 麻豆精品久久久| 亚洲欧美中日韩| 99视频精品全部免费在线| 亚洲高清免费观看高清完整版在线观看| 91精品久久久久久久久99蜜臂| 国产v日产∨综合v精品视频| 亚洲一区二区三区爽爽爽爽爽 | 色婷婷亚洲综合| 日本不卡免费在线视频| 国产精品不卡一区二区三区| 欧美高清hd18日本| 成人免费视频在线观看| 成人免费观看视频| 日产国产欧美视频一区精品| 国产精品理论在线观看| 国内精品自线一区二区三区视频| 国产片一区二区三区| 欧美精品丝袜中出| 色天天综合色天天久久| 韩国毛片一区二区三区| 一区二区三区四区高清精品免费观看 | 亚洲一区二区精品视频| 久久精品夜夜夜夜久久| 成人福利视频在线看| 日本强好片久久久久久aaa| 中日韩av电影| 2023国产精品视频| 欧美一区二区三级| 欧美日韩国产影片| 欧美午夜在线一二页| 色老汉一区二区三区| 国产成人福利片|