0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

windows服务器备份mysql脚本

马哥Linux运维 来源:马哥Linux运维 2025-01-02 09:14 次阅读

一、linux备份

使用python脚本,要求有python3和mysqldump

#! /usr/bin/python36
# -*- coding: utf-8 -*-

import os
import re
import datetime
import subprocess
##  需要备份数据库的登录信息
mysql_host = {
    'test': '10.10.3.207'
}
db_user = 'root'
db_passwd = 'PASSWD'
db_port = '3306'
##  备份存放的目录地址,没有回自动生成
back_dir = '/backups/mysql'

#  备份文件保存时间,单位:天,超过就删除
backup_keep_time = 30

# 此列表中的数据库将不会备份,下面是默认的基础数据库。
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))

执行命令

python3 vim /usr/bin/mysql_bakup.py

会在/home/mysql下自动生成一个mysql_bak的文件夹,文件夹是以当时时间的文件夹,文件下就是数据库的备份

[root@localhost ~]# ls /backups/mysql/test/
202211151637

[root@localhost ~]# ls /backups/mysql/test/202211151637/
nacos_202211151637.sql.gz

二、windows服务器备份mysql脚本

@echo off

echo 设置MySql数据库的连接信息
set host=192.168.100.101
set port=3306
set user=root
set pass=ECIDI@hc99

echo 设置要备份MySql数据库名称
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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    12

    文章

    9206

    浏览量

    85559
  • WINDOWS
    +关注

    关注

    4

    文章

    3552

    浏览量

    88823
  • MySQL
    +关注

    关注

    1

    文章

    816

    浏览量

    26612

原文标题:二、windows服务器备份mysql脚本

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    华为云 Flexus 云服务器 X 实例:在 openEuler 系统下搭建 MySQL 主从复制

    前言 本文将介绍如何在华为云 Flexus 云服务器 X 实例上,基于 openEuler 系统部署 MySQL 主从复制。MySQL 作为一款高性能且稳定的开源关系型数据库管理系统,是众多
    的头像 发表于 12-30 09:11 161次阅读
    华为云 Flexus 云<b class='flag-5'>服务器</b> X 实例:在 openEuler 系统下搭建 <b class='flag-5'>MySQL</b> 主从复制

    服务器 Flexus X 实例 MySQL 应用加速测试

    文章目录 目录 文章目录   购买配置   基本配置参考如下:   连接服务器   查询MySQL状态   启动MySQL   添加配置   添加密码并修改权限   性能测试   C#插入数据测试
    的头像 发表于 12-24 12:19 164次阅读
    云<b class='flag-5'>服务器</b> Flexus X 实例 <b class='flag-5'>MySQL</b> 应用加速测试

    香港云服务器怎么部署MySQL数据库?

    在香港云服务器上部署MySQL数据库的步骤如下: 步骤 1: 更新软件包列表 首先,确保软件包列表是最新的。在终端中执行以下命令: sudo apt update 步骤 2: 安装 MySQL
    的头像 发表于 11-14 16:15 184次阅读

    如何在Windows上设置SFTP服务器

    1. 选择合适的SFTP服务器软件 在Windows上,你可以选择多种第三方SFTP服务器软件,如: WinSCP : 提供了一个免费的SFTP服务器组件,称为WinSCP Serve
    的头像 发表于 11-13 14:23 1864次阅读

    服务器的功能是信息备份吗?有哪些优势

    服务器的功能是信息备份吗?云服务器的功能不仅限于信息备份,它涵盖了计算、存储、网络、数据共享、安全和高可用性等多个方面。它通过虚拟化威廉希尔官方网站 实现资源池化,支持弹性计算和可扩展存储,满足不同
    的头像 发表于 11-01 09:48 136次阅读

    mysql定时备份任务

    在生产环境上,为了避免数据的丢失,通常情况下都会定时的对数据库进行备份。而Linux的crontab指令则可以帮助我们实现对数据库定时进行备份。首先我们来简单了解crontab指令,如果你会了请跳到下一个内容mysql
    的头像 发表于 10-31 10:07 171次阅读

    服务器系统崩溃了要怎么解决?

    服务器智能备份功能,支持多级业务备份,应用备份,系统备份,备机,把数据风险降到最低。但即使再好的东西也会有出现漏洞的时候,如果系统感染了木马
    的头像 发表于 10-28 10:20 294次阅读

    Jtti:Windows服务器在企业环境中的主要用途和应用场景是什么?

    本文将探讨Windows服务器在企业环境中的主要用途和应用场景。我们将介绍Windows服务器在企业中的广泛应用,以及其在网络、存储、应用程序托管等方面的重要用途。
    的头像 发表于 09-21 11:28 423次阅读

    假如服务器的数据丢失,如何快速恢复丢失的数据?

    服务器数据丢失后,快速恢复丢失的数据是至关重要的,以避免业务中断和数据损失。以下是一些方法和步骤,可以帮助企业快速有效地恢复丢失的数据: 1. 使用备份数据 定期备份数据: 在数据丢失前定期
    的头像 发表于 08-08 16:59 519次阅读

    华纳云:服务器扩展中如何避免单点故障

    备份备份是避免单点故障的有效策略。这包括硬件备份(如RAID阵列)、数据备份(如服务器备份)以及
    的头像 发表于 07-29 14:52 244次阅读

    使用windows版mosquitto软件自建一个服务器

    本文介绍使用windows版mosquitto软件,自建一个服务器用于测试产品IG532。 1.登录官网,下载windows版mosquitto软件,并安装 https
    发表于 07-24 06:39

    服务器操作系统有几种?

    众所周知,电脑上的一切正常运作都不可缺电脑操作系统的使用,网络服务器做为这种出示服务项目的服务器,或许都是不可 或缺的电脑操作系统。常用的网络服务器电脑操作系统有许多,比如:
    发表于 03-29 16:59

    linux服务器windows服务器

    Linux服务器Windows服务器是目前应用最广泛的两种服务器操作系统。两者各有优劣,也适用于不同的应用场景。本文将 对Linux服务器
    发表于 02-22 15:46

    华为云幻兽帕鲁服务器搭建教程(Windows 平台)

    创建流程可咨询华为云客户经理 2 登录华为云服务器 使用“windows+R” 在对话框输入 mstsc ,点击“确定”: 进入远程连接服务器界面,输入服务器 IP 地址(可在控制台查
    的头像 发表于 01-23 15:59 2723次阅读
    华为云幻兽帕鲁<b class='flag-5'>服务器</b>搭建教程(<b class='flag-5'>Windows</b> 平台)

    服务器数据恢复】服务器迁移数据时数据损坏的数据恢复案例

    服务器数据恢复环境&服务器故障: 一台安装Windows操作系统的服务器。工作人员在迁移该服务器中数据时突然无法读取数据,
    的头像 发表于 01-16 13:19 967次阅读