一、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 作为一款高性能且稳定的开源关系型数据库管理系统,是众多
云服务器 Flexus X 实例 MySQL 应用加速测试
文章目录 目录 文章目录 购买配置 基本配置参考如下: 连接服务器 查询MySQL状态 启动MySQL 添加配置 添加密码并修改权限 性能测试 C#插入数据测试
香港云服务器怎么部署MySQL数据库?
在香港云服务器上部署MySQL数据库的步骤如下: 步骤 1: 更新软件包列表 首先,确保软件包列表是最新的。在终端中执行以下命令: sudo apt update 步骤 2: 安装 MySQL
如何在Windows上设置SFTP服务器
1. 选择合适的SFTP服务器软件 在Windows上,你可以选择多种第三方SFTP服务器软件,如: WinSCP : 提供了一个免费的SFTP服务器组件,称为WinSCP Serve
云服务器的功能是信息备份吗?有哪些优势
服务器的功能是信息备份吗?云服务器的功能不仅限于信息备份,它涵盖了计算、存储、网络、数据共享、安全和高可用性等多个方面。它通过虚拟化威廉希尔官方网站
实现资源池化,支持弹性计算和可扩展存储,满足不同
mysql定时备份任务
在生产环境上,为了避免数据的丢失,通常情况下都会定时的对数据库进行备份。而Linux的crontab指令则可以帮助我们实现对数据库定时进行备份。首先我们来简单了解crontab指令,如果你会了请跳到下一个内容mysql
云服务器系统崩溃了要怎么解决?
服务器智能备份功能,支持多级业务备份,应用备份,系统备份,备机,把数据风险降到最低。但即使再好的东西也会有出现漏洞的时候,如果系统感染了木马
Jtti:Windows服务器在企业环境中的主要用途和应用场景是什么?
本文将探讨Windows服务器在企业环境中的主要用途和应用场景。我们将介绍Windows服务器在企业中的广泛应用,以及其在网络、存储、应用程序托管等方面的重要用途。
假如服务器的数据丢失,如何快速恢复丢失的数据?
在服务器数据丢失后,快速恢复丢失的数据是至关重要的,以避免业务中断和数据损失。以下是一些方法和步骤,可以帮助企业快速有效地恢复丢失的数据: 1. 使用备份数据 定期备份数据: 在数据丢失前定期
使用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 地址(可在控制台查
【服务器数据恢复】服务器迁移数据时数据损坏的数据恢复案例
服务器数据恢复环境&服务器故障:
一台安装Windows操作系统的服务器。工作人员在迁移该服务器中数据时突然无法读取数据,
评论