zoukankan      html  css  js  c++  java
  • MySQL自动备份和下载备份到指定位置

    经常手动获取服务器数据库太麻烦,而且容易影响到服务器配置,要是让数据库自动备份并定时下载到客户端指定位置就好了!

    一、环境:

    win sever2012+mysql 8

    二、自动备份

    命令行.bat脚本

    set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"  //可选,指定日期格式
    
    //需要调用MySQL自带的MySQLdump程序
    
    "D:/mysql5.7.23/bin/mysqldump" --opt -u 用户名--password=密码 数据库名 > "D:/指定位置/db_%Ymd%.sql"  2>> "D:	estlog.txt" 
    
    //%Ymd%:上面定义的日期,用于文件名
    //指定一个备份的目录并设定备份文件名,并打印错误日志到指定文件:2>>file
    
    
    
    //调用7z压缩程序将备份文件压缩到一个指定目录
    "7z.exe" a "D:	estdb_%Ymd%.zip" "D:/db_backup/db_%Ymd%.sql"
    
    
    //forfiles命令:删除文件,这里只保留一份.sql文件
    forfiles /p " D:备份位置" /s /m *.sql /d -1 /c "cmd /c del @path"

    在wiodows计划程序创建计划任务:

    需要注意的是,创建计划任务时,配置要选择当前平台,否则任务无法运行:

    三、自动下载

    自动下载的脚本需要配置在客户端,用ftp实现(服务端发布ftp网站同理):

    这是ftp.txt文本:

    open 服务器地址
    用户名
    密码
    prompt off
    lcd D:DBBackups本地备份目录
    mget *.zip     //要下载的文件
    yes            //可选,部分环境需要yes确认一次下载命令
    close
    bye

    然后配置一个.bat脚本,创建计划任务定时执行:

    ftp -s:D:ftp.txt 2>> D:DBBackupsResearchHomeFtpLog.txt
    
    //ftp执行ftp.txt里的命令并将错误重定向输出

    每天会定时备份数据库下来,效果:

  • 相关阅读:
    使用视图显示Oracle ACFS信息
    ORA-00600: internal error code, arguments: [ktecgsc:kcbz_objdchk], [0], [0], [1], [], [], [], [], [], [], [], []
    ORA-00600 arguments: [4194]
    闪回查询
    改写exists
    淘宝mysql月报连接
    pdb表空间巡检脚本
    Oracle表空间名称不能超过30个字符
    PL/SQL package SYS.DBMS_BACKUP_RESTORE version 19.03.00.00 in TARGET database is not current
    Linux查看进程内存占用
  • 原文地址:https://www.cnblogs.com/Zdelta/p/14122341.html
Copyright © 2011-2022 走看看