一、linux備份
使用python腳本,要求有python3和mysqldump
#! /usr/bin/python36 # -*- coding: utf-8 -*- import os import re import datetime import subprocess ## 需要備份數(shù)據(jù)庫的登錄信息 mysql_host = { 'test': '10.10.3.207' } db_user = 'root' db_passwd = 'PASSWD' db_port = '3306' ## 備份存放的目錄地址,沒有回自動生成 back_dir = '/backups/mysql' # 備份文件保存時間,單位:天,超過就刪除 backup_keep_time = 30 # 此列表中的數(shù)據(jù)庫將不會備份,下面是默認(rèn)的基礎(chǔ)數(shù)據(jù)庫。 ignore_database = ['Database','information_schema','mysql','sys','performance_schema'] today = datetime.datetime.today().strftime('%Y%m%d%H%M') for env in mysql_host: cmd = '/usr/local/mysql/bin/mysql -h {} -u{} -p{} -P{} -e "show databases"'.format(mysql_host.get(env),db_user,db_passwd,db_port) result = subprocess.check_output(cmd,shell=True,universal_newlines=True).split(' ') databases = [i for i in result if i and i not in ignore_database] env_backup_dir = os.path.join(back_dir,env,today) os.system('mkdir -p {}'.format(env_backup_dir)) for database in databases: back_path = os.path.join(env_backup_dir,'%s_%s.sql.gz' %(database,today)) command = '/usr/local/mysql/bin/mysqldump -h {} -u{} -p{} -P{} {} --force |gzip > {}'.format( mysql_host.get(env),db_user,db_passwd,db_port,database,back_path ) os.system(command) tmp = os.path.join(back_dir,env) for dirname in os.listdir(tmp): time1 = datetime.datetime.strptime(dirname,'%Y%m%d%H%M') time_dif = datetime.datetime.today()-time1 times = time_dif.days if times >= backup_keep_time: for file in os.listdir(os.path.join(tmp,dirname)): os.remove(os.path.join(tmp,dirname,file)) os.rmdir(os.path.join(tmp,dirname))
執(zhí)行命令
python3 vim /usr/bin/mysql_bakup.py
會在/home/mysql下自動生成一個mysql_bak的文件夾,文件夾是以當(dāng)時時間的文件夾,文件下就是數(shù)據(jù)庫的備份
[root@localhost ~]# ls /backups/mysql/test/ 202211151637 [root@localhost ~]# ls /backups/mysql/test/202211151637/ nacos_202211151637.sql.gz
二、windows服務(wù)器備份mysql腳本
@echo off echo 設(shè)置MySql數(shù)據(jù)庫的連接信息 set host=192.168.100.101 set port=3306 set user=root set pass=ECIDI@hc99 echo 設(shè)置要備份MySql數(shù)據(jù)庫名稱 set dbname1=bns_pay set dbname2=bns_qtnys set dbname3=fawkes set dbname4=fawkes_nacos set dbname5=fawkes_patrol set dbname6=qt_applet echo 獲取當(dāng)天的日期格式,例如:20200902231300 set hour=%time:~0,2% if "%time:~0,1%"==" " set hour=0%time:~1,1% set backup_date=%Date:~0,4%%Date:~5,2%%Date:~8,2%%hour%%Time:~3,2%%Time:~6,2% echo 設(shè)置備份文件的路徑 set backupfile1=D:mysql_bak\%dbname1%-%backup_date%.sql set backupfile2=D:mysql_bak\%dbname2%-%backup_date%.sql set backupfile3=D:mysql_bak\%dbname3%-%backup_date%.sql set backupfile4=D:mysql_bak\%dbname4%-%backup_date%.sql set backupfile5=D:mysql_bak\%dbname5%-%backup_date%.sql set backupfile6=D:mysql_bak\%dbname6%-%backup_date%.sql echo 使用mysqldump對指定的MySql進(jìn)行備份 echo 注意路徑中有空格的要加上雙引號 "D:mysql-8.0.30-winx64inmysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname1% > %backupfile1% "D:mysql-8.0.30-winx64inmysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname2% > %backupfile2% "D:mysql-8.0.30-winx64inmysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname3% > %backupfile3% "D:mysql-8.0.30-winx64inmysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname4% > %backupfile4% "D:mysql-8.0.30-winx64inmysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname5% > %backupfile5% "D:mysql-8.0.30-winx64inmysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname6% > %backupfile6% echo 刪除過期文件,這里是超過30天就刪除 forfiles /p D:mysql_bak /s /m *.sql /d -30 /c "cmd /c del @file /f"
鏈接:https://www.cnblogs.com/wangyuanguang/p/16893146.html
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報(bào)投訴
-
服務(wù)器
+關(guān)注
關(guān)注
14文章
10251瀏覽量
91480 -
WINDOWS
+關(guān)注
關(guān)注
4文章
3702瀏覽量
94006 -
MySQL
+關(guān)注
關(guān)注
1文章
905瀏覽量
29517
原文標(biāo)題:二、windows服務(wù)器備份mysql腳本
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
熱點(diǎn)推薦
MySQL數(shù)據(jù)庫備份恢復(fù)方式對比
備份是數(shù)據(jù)庫運(yùn)維中最重要也最容易被忽視的環(huán)節(jié)。"重要"體現(xiàn)在數(shù)據(jù)丟失時備份是唯一的救命稻草,"忽視"體現(xiàn)在很多團(tuán)隊(duì)有備份腳本但從未做過恢復(fù)演練,等到真正需要恢復(fù)時才發(fā)現(xiàn)
網(wǎng)絡(luò)授時服務(wù)器 ntp時間服務(wù)器品牌 校時服務(wù)器廠家#電工
服務(wù)器
jf_47371611
發(fā)布于 :2026年02月11日 17:53:43
恒訊科技解析:如何安裝MySQL并創(chuàng)建數(shù)據(jù)庫
安裝和管理MySQL不必復(fù)雜。只需幾分鐘,你就能在Linux服務(wù)器上搭建MySQL,創(chuàng)建第一個數(shù)據(jù)庫,甚至自動化備份——同時確保數(shù)據(jù)安全有序。 什么是
恒訊科技解析:如何在日本服務(wù)器上安裝和配置數(shù)據(jù)庫(如MySQL)?
為您的業(yè)務(wù)部署日本服務(wù)器后,下一個關(guān)鍵步驟就是安裝和配置數(shù)據(jù)庫。無論是用于網(wǎng)站、應(yīng)用程序還是數(shù)據(jù)分析,一個穩(wěn)定高效的數(shù)據(jù)庫是業(yè)務(wù)的核心。恒訊科技將以最流行的MySQL為例,提供一份在日本服務(wù)器(以
Mysql數(shù)據(jù)恢復(fù)—Windows Server下MySQL(InnoDB)全表誤刪數(shù)據(jù)恢復(fù)案例
本地服務(wù)器,操作系統(tǒng)為windows server。服務(wù)器上部署mysql單實(shí)例,innodb引擎,獨(dú)立表空間。未進(jìn)行數(shù)據(jù)庫備份,未開啟bi
服務(wù)器數(shù)據(jù)恢復(fù)—RAIDZ多塊硬盤離線導(dǎo)致服務(wù)器崩潰的數(shù)據(jù)恢復(fù)案例
服務(wù)器數(shù)據(jù)恢復(fù)環(huán)境&故障:
一臺服務(wù)器有32塊硬盤,采用Windows操作系統(tǒng)。
服務(wù)器在正常運(yùn)行的時候突然變得不可用。沒有異常斷電、進(jìn)水、異常操作、機(jī)房不穩(wěn)定等外部因素。
MySQL數(shù)據(jù)備份與恢復(fù)策略
數(shù)據(jù)是企業(yè)的核心資產(chǎn),MySQL作為主流的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),其數(shù)據(jù)的安全性和可靠性至關(guān)重要。本文將深入探討MySQL的數(shù)據(jù)備份策略、常用備份工具以及數(shù)據(jù)恢復(fù)的最佳實(shí)踐,幫助運(yùn)維工程
歐洲服務(wù)器免費(fèi)ip地址怎么獲???#歐洲服務(wù)器 #免費(fèi)IP地址 #服務(wù)器
服務(wù)器
jf_57681485
發(fā)布于 :2025年06月13日 11:15:04
國外服務(wù)器地址怎么填寫才正確?#國外服務(wù)器 #國外服務(wù)器地址 #服務(wù)器
服務(wù)器
jf_57681485
發(fā)布于 :2025年06月11日 14:06:38
歐洲VS美國服務(wù)器怎么選?1分鐘解析核心差異 #歐洲服務(wù)器 #美國服務(wù)器 #服務(wù)器
服務(wù)器
jf_57681485
發(fā)布于 :2025年05月22日 13:46:32
除了增刪改查你對MySQL還了解多少
我們都知道MySQL服務(wù)器的默認(rèn)端口為3306,之后就在這個端口號上等待客戶端進(jìn)程進(jìn)行連接(MySQL服務(wù)器會默認(rèn)監(jiān)聽3306端口)。
服務(wù)器數(shù)據(jù)恢復(fù)—如何預(yù)防服務(wù)器故障與恢復(fù)服務(wù)器數(shù)據(jù)!
服務(wù)器常見故障:
硬件故障:磁盤損壞、電池故障等。
軟件問題:操作系統(tǒng)崩潰、未知的程序運(yùn)行錯誤等。
病毒破壞:勒索病毒加密、刪除服務(wù)器數(shù)據(jù)等。
不可控力量;服務(wù)器浸水、火燒、機(jī)房倒塌等導(dǎo)致
windows服務(wù)器備份mysql腳本
評論