国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術(shù)|

服務(wù)器之家 - 數(shù)據(jù)庫 - Mysql - 分享一個(gè)自動編寫MySQL數(shù)據(jù)庫備份腳本

分享一個(gè)自動編寫MySQL數(shù)據(jù)庫備份腳本

2022-02-20 21:35波波說運(yùn)維 Mysql

其實(shí)主要是為了偷懶,所以就搞了一個(gè)自動編寫MySQL數(shù)據(jù)庫備份腳本,每次寫備份腳本傳參就可以了,僅供參考。

其實(shí)主要是為了偷懶,所以就搞了一個(gè)自動編寫MySQL數(shù)據(jù)庫備份腳本,每次寫備份腳本傳參就可以了,僅供參考。

1. MySQL備份模板(上傳到下載平臺)

  1. #!/bin/bash
  2. #################################
  3. # copyright by hwb
  4. # DATE:2020-12-03
  5. # 用途:MYSQL備份模板
  6. #################################
  7.  
  8. #定義
  9. db_host=localhost
  10. db_port=3306
  11. db_name=mysql_prod
  12. db_user=root
  13. db_pwd=password
  14. backup_path="/data/backup"
  15.  
  16. # view,function,procedure,event,trigger
  17. output_type='view,function,procedure,event,trigger'
  18. today=`date +"%Y%m%d-%H%M%S"`
  19. data_file=$backup_path/$db_name$today.sql
  20. object_file="${backup_path}/obj_${db_name}$today.sql"
  21. log_file="/home/scripts/mysql_backup.log"
  22. mysql_cmd="mysql -u${db_user} -p${db_pwd} -h${db_host} -P${db_port} "
  23. mysqldump_cmd="mysqldump -u${db_user} -p${db_pwd} -h${db_host} -P${db_port} $db_name "
  24.  
  25.  
  26. #調(diào)用函數(shù)庫
  27. [ -f /etc/init.d/functions ] && source /etc/init.d/functions
  28. export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
  29. source /etc/profile
  30.  
  31. #Require root to run this script.
  32. [ $(id -u) -gt 0 ] && echo "請用root用戶執(zhí)行此腳本!" && exit 1
  33.  
  34.  
  35. [ -d $backup_path ] || mkdir -p $backup_path
  36.  
  37.  
  38. #[ ! -n "$5" ] && echo -e " Usage: $0 IP 端口 實(shí)例名 用戶名 '密碼' " && exit 1
  39.  
  40.  
  41. function mysql_backup()
  42. {
  43. echo ""
  44. echo -e "***********************************************mysql數(shù)據(jù)庫備份****************************************************"
  45.  
  46. echo -e "**************備份數(shù)據(jù)庫數(shù)據(jù)到$data_file**************"
  47. #A partial dump from a server that has GTIDs will by default include the GTIDs of all transactions, even those that changed suppressed parts of the database. If you don't want to restore GTIDs, pass --set-gtid-purged=OFF. To make a complete dump, pass --all-databases --triggers --routines --events
  48. $mysqldump_cmd --single_transaction -R -E --flush-logs --master-data=2 --set-gtid-purged=OFF > $data_file
  49.  
  50. if [ $? -eq 0 ];then
  51. action "[$today]>>>完成數(shù)據(jù)庫${db_name}數(shù)據(jù)備份" /bin/true
  52. echo "[$today]>>>完成數(shù)據(jù)庫${db_name}數(shù)據(jù)備份" >> ${log_file}
  53. else
  54. action "[$today]>>>數(shù)據(jù)庫${db_name}備份失敗,請檢查相關(guān)配置!" /bin/false
  55. echo "[$today]>>>數(shù)據(jù)庫${db_name}備份失敗,請檢查相關(guān)配置!" >> ${log_file}
  56. exit 1
  57. fi
  58.  
  59.  
  60. echo -e "*******備份${db_name}函數(shù)、視圖等定義到$object_file***********"
  61. cat > $object_file<<EOF
  62. ouput object‘s definition for database "$db_name"
  63. ouput time: $(date "+%Y-%m-%d %H:%M:%S")
  64. ouput object type: $output_type
  65. EOF
  66. echo "">> $object_file
  67. echo "">> $object_file
  68.  
  69. # 視圖
  70. if [[ $output_type == *"view"* ]]
  71. then
  72. echo "-- ------------------------------------------------------------" >> $object_file
  73. echo "-- views" >> $object_file
  74. echo "-- ------------------------------------------------------------" >> $object_file
  75. #讓 MySQL不輸出列名 可以用-N 或者--skip-column-names參數(shù)
  76. $mysql_cmd --skip-column-names
  77. -e "select concat('SHOW CREATE VIEW ',table_schema,'.',table_name,';') from information_schema.views where table_schema='$db_name'" |
  78. sed 's/;/\G/g' | $mysql_cmd $db_name |
  79. sed 's/Create View: /kk_begin /g' | sed 's/[ ]*character_set_client:/; kk_end/g' |
  80. sed -n '/kk_begin/{:a;N;/kk_end/!ba;s/.*kk_begin|kk_end.*//g;p}' >> $object_file
  81. fi
  82.  
  83. # 函數(shù)
  84. if [[ $output_type == *"function"* ]]
  85. then
  86. echo "-- ------------------------------------------------------------" >> $object_file
  87. echo "-- function" >> $object_file
  88. echo "-- ------------------------------------------------------------" >> $object_file
  89. $mysql_cmd --skip-column-names
  90. -e "select concat('SHOW CREATE FUNCTION ',routine_schema,'.',routine_name,';') from information_schema.routines where routine_schema='$db_name' and ROUTINE_TYPE='FUNCTION'" |
  91. sed 's/;/\G/g' | $mysql_cmd $db_name |
  92. sed 's/Create Function: /kk_begin delimiter $$ /g' | sed 's/[ ]*character_set_client:/$$ delimiter ; kk_end/g' |
  93. sed -n '/kk_begin/{:a;N;/kk_end/!ba;s/.*kk_begin|kk_end.*//g;p}' >> $object_file
  94. fi
  95.  
  96. # 存儲過程
  97. if [[ $output_type == *"procedure"* ]]
  98. then
  99. echo "-- ------------------------------------------------------------" >> $object_file
  100. echo "-- procedure" >> $object_file
  101. echo "-- ------------------------------------------------------------" >> $object_file
  102. $mysql_cmd --skip-column-names
  103. -e "select concat('SHOW CREATE PROCEDURE ',routine_schema,'.',routine_name,';') from information_schema.routines where routine_schema='$db_name' and ROUTINE_TYPE='PROCEDURE'" |
  104. sed 's/;/\G/g' | $mysql_cmd $db_name |
  105. sed 's/Create Procedure: /kk_begin delimiter $$ /g' | sed 's/[ ]*character_set_client:/$$ delimiter ; kk_end/g' |
  106. sed -n '/kk_begin/{:a;N;/kk_end/!ba;s/.*kk_begin|kk_end.*//g;p}' >> $object_file
  107. fi
  108.  
  109. # 事件
  110. if [[ $output_type == *"event"* ]]
  111. then
  112. echo "-- ------------------------------------------------------------" >> $object_file
  113. echo "-- event" >> $object_file
  114. echo "-- ------------------------------------------------------------" >> $object_file
  115. $mysql_cmd --skip-column-names
  116. -e "select concat('SHOW CREATE EVENT ',EVENT_SCHEMA,'.',EVENT_NAME,';') from information_schema.events where EVENT_SCHEMA='$db_name'" |
  117. sed 's/;/\G/g' | $mysql_cmd |
  118. sed 's/Create Event: /kk_begin delimiter $$ /g' | sed 's/[ ]*character_set_client:/$$ delimiter ; kk_end/g' |
  119. sed -n '/kk_begin/{:a;N;/kk_end/!ba;s/.*kk_begin|kk_end.*//g;p}' >> $object_file
  120. fi
  121.  
  122. # 觸發(fā)器
  123. if [[ $output_type == *"trigger"* ]]
  124. then
  125. echo "-- ------------------------------------------------------------" >> $object_file
  126. echo "-- trigger" >> $object_file
  127. echo "-- ------------------------------------------------------------" >> $object_file
  128. $mysql_cmd --skip-column-names
  129. -e "select concat('SHOW CREATE TRIGGER ',TRIGGER_SCHEMA,'.',TRIGGER_NAME,';') from information_schema.triggers where TRIGGER_SCHEMA='$db_name';" |
  130. sed 's/;/\G/g' | $mysql_cmd $db_name|
  131. sed 's/SQL Original Statement: /kk_begin delimiter $$ /g' | sed 's/[ ]*character_set_client:/$$ delimiter ; kk_end/g' |
  132. sed -n '/kk_begin/{:a;N;/kk_end/!ba;s/.*kk_begin|kk_end.*//g;p}' >> $object_file
  133. fi
  134.  
  135. # ^M, you need to type CTRL-V and then CTRL-M
  136. sed -i "s/^M//g" $object_file
  137.  
  138. #清理過期備份
  139. find ${backup_path} -mtime +10 -type f -name '*.sql' -exec rm -f {} ;
  140.  
  141. if [ $? -eq 0 ];then
  142. action "[$today]>>>完成數(shù)據(jù)庫${db_name}過期備份清理" /bin/true
  143. echo "[$today]>>>完成數(shù)據(jù)庫${db_name}過期備份清理" >> ${log_file}
  144. else
  145. action "[$today]>>>數(shù)據(jù)庫${db_name}過期備份清理失敗,請檢查相關(guān)配置!" /bin/false
  146. echo "[$today]>>>數(shù)據(jù)庫${db_name}過期備份清理失敗,請檢查相關(guān)配置!" >> ${log_file}
  147. exit 1
  148. fi
  149.  
  150. echo -e "**********************************************完成${db_name}數(shù)據(jù)庫備份**********************************************"
  151. cat > /tmp/mysql_backup.log << EOF
  152. mysql地址:${db_host}
  153. mysql端口:${db_port}
  154. mysql實(shí)例名:${db_name}
  155. 數(shù)據(jù)備份文件:${data_file}
  156. 定義備份文件:${object_file}
  157. EOF
  158. cat /tmp/mysql_backup.log
  159. echo -e "e[1;31m 以上信息保存在/tmp/mysql_backup.log文件下 e[0m"
  160. echo -e "*******************************************************************************************************************"
  161. echo ""
  162. }
  163.  
  164.  
  165. mysql_backup

分享一個(gè)自動編寫MySQL數(shù)據(jù)庫備份腳本

2. 自動編寫MySQL數(shù)據(jù)庫備份腳本

  1. #!/bin/bash
  2. ###################################################################
  3. # copyright by hwb
  4. # DATE: 2020-12-04
  5. # 用途:自動編寫MySQL備份腳本
  6. ###################################################################
  7.  
  8. #腳本外變量
  9. mysql_path="/home/scripts"
  10. script_name="mysql_backup.sh"
  11. mysql_date=`date +"%Y-%m-%d-%H:%M:%S"`
  12. #腳本內(nèi)變量
  13. db_host="localhost"
  14. db_port="53306"
  15. db_name="dbname"
  16. db_user="root"
  17. db_pwd="xxxx"
  18. backup_path="/data/backup"
  19. bk_backup_path=`echo $backup_path | sed 's:/:\/:g'`
  20. bk_db_pwd=`echo $db_pwd | sed 's:/:\/:g'`
  21.  
  22. #調(diào)用函數(shù)庫
  23. [ -f /etc/init.d/functions ] && source /etc/init.d/functions
  24. export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
  25. source /etc/profile
  26.  
  27.  
  28. #root用戶執(zhí)行腳本
  29. [ $(id -u) -gt 0 ] && echo "請用root用戶執(zhí)行此腳本!" && exit 1
  30.  
  31.  
  32. #判斷目錄是否存在
  33. [ -d $mysql_path ] || mkdir -p $mysql_path
  34. [ -d $backup_path ] || echo "mysql數(shù)據(jù)庫備份目錄[$backup_path]不存在,請確認(rèn)參數(shù)是否正確!"
  35. [ -d $backup_path ] || exit 1
  36.  
  37.  
  38. function bk_mysqlbackup(){
  39. echo ""
  40. echo -e "**************************自動配置mysql數(shù)據(jù)庫備份腳本[$mysql_path/$script_name]**************************"
  41. echo ""
  42. echo -e " Usage: $0 "
  43. echo ""
  44.  
  45. [ -f $mysql_path/$script_name ] && echo "${mysql_path}已存在腳本[${script_name}],請檢查相關(guān)配置!" && exit 1
  46.  
  47. wget https://app.fslgz.com/portal/api/public/fs/association/file/downLoad?uploadId=784001405093478400 -O /opt/mysql_backup_template.sh
  48. mv /opt/mysql_backup_template.sh $mysql_path/$script_name
  49.  
  50. #處理windows傳linux的腳本格式問題(注意空格位置不能多不能少)
  51. vi +':w ++ff=unix' +':q' ${mysql_path}/${script_name}
  52.  
  53. sed -i "s/localhost/${db_host}/g" $mysql_path/$script_name
  54. sed -i "s/3306/${db_port}/g" $mysql_path/$script_name
  55. sed -i "s/mysql_prod/${db_name}/g" $mysql_path/$script_name
  56. sed -i "s/root/${db_user}/g" $mysql_path/$script_name
  57. sed -i "s/password/${bk_db_pwd}/g" $mysql_path/$script_name
  58. sed -i "s#/data/backup#${bk_backup_path}#g" $mysql_path/$script_name
  59.  
  60. action "完成mysql備份腳本[$mysql_path/$script_name]編寫!" /bin/true
  61. chmod u+x $mysql_path/$script_name
  62.  
  63. #配置定時(shí)任務(wù)
  64. echo "30 11 * * * /bin/bash ${mysql_path}/${script_name} " >> /var/spool/cron/root
  65.  
  66. if [ $? -eq 0 ];then
  67. echo ""
  68. action "[$mysql_date]>>>完成數(shù)據(jù)庫備份定時(shí)任務(wù)配置" /bin/true
  69. else
  70. echo ""
  71. action "[$mysql_date]>>>定時(shí)任務(wù)配置失敗,請檢查相關(guān)配置!" /bin/false
  72. fi
  73.  
  74. echo ""
  75. echo "|------------------------------------定時(shí)任務(wù)內(nèi)容------------------------------------|"
  76. crontab -l
  77. echo ""
  78. echo "|---------------mysql備份腳本[$mysql_path/$script_name]內(nèi)容如下---------------|"
  79. cat $mysql_path/$script_name
  80. echo -e "************************************完成mysql數(shù)據(jù)庫備份腳本配置*****************************************"
  81. echo ""
  82. }
  83.  
  84.  
  85. bk_mysqlbackup

分享一個(gè)自動編寫MySQL數(shù)據(jù)庫備份腳本

3. 基于藍(lán)鯨平臺測試自動編寫備份腳本

測試成功..

分享一個(gè)自動編寫MySQL數(shù)據(jù)庫備份腳本

4. 測試備份的腳本是否有效

成功完成備份..

分享一個(gè)自動編寫MySQL數(shù)據(jù)庫備份腳本

原文地址:https://www.toutiao.com/i6902767275703845379/

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 黄色一级免费片 | 日韩精品中文字幕在线 | 欧美激情亚洲 | 国产成人精品久久二区二区 | 欧美视频在线观看不卡 | 一区二区av在线 | 欧美午夜一区二区福利视频 | 懂色一区二区三区av片 | 蜜桃一区二区 | 亚洲一区在线日韩在线深爱 | 成人国产精品久久 | 欧美成人一区二区三区片免费 | 一区二区中文字幕 | www.久久99| 亚洲免费在线视频 | 国户精品久久久久久久久久久不卡 | 国产色 | 亚洲av毛片一区二二区三三区 | 人人干人人爱 | 国产精品第一国产精品 | 久久99精品国产.久久久久 | 久久国产精品视频 | 亚洲成人aaaa| 精品国产一区二区三区性色av | 影音先锋男人网 | 国产精品久久久91 | 一级毛片免费一级 | 亚洲一区中文字幕在线观看 | 亚洲区视频在线观看 | 久久免费99精品久久久久久 | 中文字幕av网 | 欧美国产精品一区二区三区 | 都市激情 亚洲 | 天天操人人干 | 国产裸体永久免费视频网站 | av电影免费在线观看 | 亚洲国产中文字幕 | 日韩在线观看视频一区二区三区 | 日本一本视频 | 欧美香蕉 | 欧美综合久久 |