一、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ù)庫將不會備份,下面是默認的基礎數(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的文件夾,文件夾是以當時時間的文件夾,文件下就是數(shù)據(jù)庫的備份
[root@localhost ~]# ls /backups/mysql/test/ 202211151637 [root@localhost ~]# ls /backups/mysql/test/202211151637/ nacos_202211151637.sql.gz
二、windows服務器備份mysql腳本
@echo off echo 設置MySql數(shù)據(jù)庫的連接信息 set host=192.168.100.101 set port=3306 set user=root set pass=ECIDI@hc99 echo 設置要備份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 獲取當天的日期格式,例如: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 設置備份文件的路徑 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進行備份 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
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
服務器
+關注
關注
12文章
9272瀏覽量
85809 -
WINDOWS
+關注
關注
4文章
3556瀏覽量
89061 -
MySQL
+關注
關注
1文章
825瀏覽量
26657
原文標題:二、windows服務器備份mysql腳本
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
適用于MySQL和MariaDB的Python連接器:可靠的MySQL數(shù)據(jù)連接器和數(shù)據(jù)庫
和 MariaDB 數(shù)據(jù)庫服務器以及托管數(shù)據(jù)庫服務,以對存儲的數(shù)據(jù)執(zhí)行創(chuàng)建、讀取、更新和刪除操作。該解決方案完全實現(xiàn)了 Python DB API 2.0 規(guī)范,并作為 Windows、macOS
華為云 Flexus 云服務器 X 實例:在 openEuler 系統(tǒng)下搭建 MySQL 主從復制
前言 本文將介紹如何在華為云 Flexus 云服務器 X 實例上,基于 openEuler 系統(tǒng)部署 MySQL 主從復制。MySQL 作為一款高性能且穩(wěn)定的開源關系型數(shù)據(jù)庫管理系統(tǒng),是眾多
云服務器 Flexus X 實例 MySQL 應用加速測試
文章目錄 目錄 文章目錄 ? 購買配置 ? 基本配置參考如下: ? 連接服務器 ? 查詢MySQL狀態(tài) ? 啟動MySQL ? 添加配置 ? 添加密碼并修改權限 ? 性能測試 ? C#插入數(shù)據(jù)測試
香港云服務器怎么部署MySQL數(shù)據(jù)庫?
在香港云服務器上部署MySQL數(shù)據(jù)庫的步驟如下: 步驟 1: 更新軟件包列表 首先,確保軟件包列表是最新的。在終端中執(zhí)行以下命令: sudo apt update 步驟 2: 安裝 MySQL
如何在Windows上設置SFTP服務器
1. 選擇合適的SFTP服務器軟件 在Windows上,你可以選擇多種第三方SFTP服務器軟件,如: WinSCP : 提供了一個免費的SFTP服務器組件,稱為WinSCP Serve
云服務器的功能是信息備份嗎?有哪些優(yōu)勢
服務器的功能是信息備份嗎?云服務器的功能不僅限于信息備份,它涵蓋了計算、存儲、網(wǎng)絡、數(shù)據(jù)共享、安全和高可用性等多個方面。它通過虛擬化技術實現(xiàn)資源池化,支持彈性計算和可擴展存儲,滿足不同
mysql定時備份任務
在生產環(huán)境上,為了避免數(shù)據(jù)的丟失,通常情況下都會定時的對數(shù)據(jù)庫進行備份。而Linux的crontab指令則可以幫助我們實現(xiàn)對數(shù)據(jù)庫定時進行備份。首先我們來簡單了解crontab指令,如果你會了請?zhí)较乱粋€內容mysql
云服務器系統(tǒng)崩潰了要怎么解決?
服務器智能備份功能,支持多級業(yè)務備份,應用備份,系統(tǒng)備份,備機,把數(shù)據(jù)風險降到最低。但即使再好的東西也會有出現(xiàn)漏洞的時候,如果系統(tǒng)感染了木馬
Jtti:Windows服務器在企業(yè)環(huán)境中的主要用途和應用場景是什么?
本文將探討Windows服務器在企業(yè)環(huán)境中的主要用途和應用場景。我們將介紹Windows服務器在企業(yè)中的廣泛應用,以及其在網(wǎng)絡、存儲、應用程序托管等方面的重要用途。
假如服務器的數(shù)據(jù)丟失,如何快速恢復丟失的數(shù)據(jù)?
在服務器數(shù)據(jù)丟失后,快速恢復丟失的數(shù)據(jù)是至關重要的,以避免業(yè)務中斷和數(shù)據(jù)損失。以下是一些方法和步驟,可以幫助企業(yè)快速有效地恢復丟失的數(shù)據(jù): 1. 使用備份數(shù)據(jù) 定期備份數(shù)據(jù): 在數(shù)據(jù)丟失前定期
華納云:服務器擴展中如何避免單點故障
備份備份是避免單點故障的有效策略。這包括硬件備份(如RAID陣列)、數(shù)據(jù)備份(如服務器備份)以及
使用windows版mosquitto軟件自建一個服務器
本文介紹使用windows版mosquitto軟件,自建一個服務器用于測試產品IG532。
1.登錄官網(wǎng),下載windows版mosquitto軟件,并安裝
https
發(fā)表于 07-24 06:39
服務器操作系統(tǒng)有幾種?
眾所周知,電腦上的一切正常運作都不可缺電腦操作系統(tǒng)的使用,網(wǎng)絡服務器做為這種出示服務項目的服務器,或許都是不可
或缺的電腦操作系統(tǒng)。常用的網(wǎng)絡服務器電腦操作系統(tǒng)有許多,比如:
發(fā)表于 03-29 16:59
linux服務器和windows服務器
Linux服務器和Windows服務器是目前應用最廣泛的兩種服務器操作系統(tǒng)。兩者各有優(yōu)劣,也適用于不同的應用場景。本文將
對Linux服務器
發(fā)表于 02-22 15:46
華為云幻獸帕魯服務器搭建教程(Windows 平臺)
創(chuàng)建流程可咨詢華為云客戶經(jīng)理 2 登錄華為云服務器 使用“windows+R”?在對話框輸入?mstsc?,點擊“確定”: 進入遠程連接服務器界面,輸入服務器 IP 地址(可在控制臺查
評論