博客
关于我
mysql自动备份任务(windows+linux)
阅读量:609 次
发布时间:2019-03-12

本文共 2434 字,大约阅读时间需要 8 分钟。

Windows Server 备份任务配置指南

Windows 服务器备份任务脚本创建

为了实现数据库的自动备份,可以通过以下步骤创建一个备份任务脚本:

  • 备份路径设置:在脚本中指定备份文件的存储路径。例如,将备份路径设置为 D:\Backup\
  • 数据库列表设置:指定需要备份的数据库名称,数据库名称之间使用空格分隔。例如,sf_58suo sf_58suo_main
  • MySQL 准备:设置 MySQL 的用户名和密码,确保脚本有权限访问数据库。
  • WinRAR 路径:配置 WinRAR 的命令行工具路径,确保路径正确无误。
  • 时间参数设置:提取日期和时间信息,用于生成备份文件的命名格式。
  • 目录创建权限:检查指定的备份路径是否存在,如果不存在则创建目录。
  • 数据库备份:通过 mysqldump 工具执行数据库备份,并将结果保存为 SQL 文件。
  • 文件压缩:使用 WinRAR 将 SQL 文件压缩为 .rar 格式,并删除原始 SQL 文件以节省存储空间。
  • 保存以上内容到一个批量处理文件 cron_backup.bat 中,并对脚本进行权限设置(如 chmod +x)。


    Windows 服务器自动任务配置

    为了实现自动化备份任务,可以通过以下步骤配置 Windows 的计划任务:

  • 任务文件执行路径:指定备份脚本的绝对路径,例如 D:\cron_backup.bat

  • 任务计划频率:选择备份的执行频率,可选为 DAILY(每天)、HOURLY(每小时)或 MIVE(每分钟)。

  • 计划起始时间:设定自动备份的具体起始时间,如 17:00

  • 任务描述:为自动任务设置一个明确的描述,便于管理和识别。

  • 执行用户权限:指定执行任务的用户账号,如默认设置为 System

  • 任务添加命令:使用 schtasks 命令添加计划任务,命令格式如下:

    schtasks /Create /RU %USER% /SC %FREQUENCY% /MO %MODIFIER% /ST %DATETIME% /TN "Backup MysqlDB Job" /TR %FILE%
  • 验证任务配置:手动运行任务查看是否如预期执行,确保备份文件生成在指定目录。


  • Linux 服务器备份任务配置

    Linux 服务器备份任务脚本

    创建一个自动备份脚本 backMysqlDB.sh

  • 备份路径设置:将备份目录设置为 "/home/backup/bakmysql"
  • 数据库列表设置:指定需要备份的数据库名称,多个数据库名称之间用空格分隔,例如 ("ss_sysright" "ss_safe")
  • MySQL 准备:配置数据库用户名和密码,确保脚本执行时有访问权限。
  • 时间参数提取:提取当前日期和时间信息,用于生成备份文件的命名格式。
  • 目录检查与创建:检查指定的备份路径是否存在,不存在则创建目录。
  • 数据库备份:使用 mysqldump 工具执行数据库备份,并将结果保存为 SQL 文件。
  • 文件清理:删除生成的 SQL 文件以释放存储空间。
  • 脚本内容如下:

    #!/bin/bash# 备份路径设置backup_dir="/home/backup/bakmysql"# 要备份的数据库列表db_names=("ss_sysright" "ss_safe")# MySQL 用户名和密码db_user="root"db_passwd="jsonliu@123"# 获取时间参数YEAR=$(date +"%Y")MONTH=$(date +"%m")DAY=$(date +"%d")HOUR=$(date +"%H")MINUTE=$(date +"%M")SECOND=$(date +"%S")# 确定备份目录DIR=$backup_dir/$YEAR/$MONTH/$DAYif [ ! -d $DIR ]; then    mkdir -p $DIR    echo "成功创建备份目录:$DIR"else    echo "备份目录已存在"fi# 开始备份数据库echo "开始执行数据库备份..."for db_name in ${db_names[@]}; do    cd $DIR    mysqldump -u$db_user -p$db_passwd $db_name > ${db_name}.${FILENAME}.sql    if [ $? -ne 0 ]; then        echo "备份失败:$db_name"        exit 1    fidone# 压缩文件并删除原文件WinRAR路径设置(在 `cron_backup.bat` 中配置。)echo "备份完成"

    Linux 自动任务配置

    在 Linux 中,通过 cron 任务计划来配置自动备份任务:

  • 查看 cron 状态:查看系统默认的 cron 表达式,可以通过 crontab -l 命令。

  • 编辑 cron 表达式:使用 crontab -e 打开 cron 表达式文件进行编辑。

  • 配置自动执行命令:设置 cron 的执行时间,例如每天 17:00 进行备份:

    0 17 * * * /home/backup/backMysqlDB.sh
  • 验证 cron 线程:确保 cron 服务正常运行(启动 cron 服务可能需要使用 sudo service cron startsystemctl start cron)。


  • 常用 cron 表达式示例

    • 每分钟执行一次:* * * * * command
    • 每十分钟一次:* * * * * sleep 10;command
    • 每天早上8点:0 8 * * * command
    • 每周一至周五早晨8点:0 8 * * 1-5 command

    ^{以上内容为对原文的优化处理,保留了技术细节但调整了表达方式,篇幅控制在较为合理的范围。}

    转载地址:http://bgtxz.baihongyu.com/

    你可能感兴趣的文章
    Spring 框架之 AOP 原理深度剖析
    查看>>
    Pandas:如何按列元素的组合分组,以指示基于不同列的值的同现?
    查看>>
    Pandas:将一列与数据帧的所有其他列进行比较
    查看>>
    PANDA:基于多列对数据表的行运行计算,并将输出存储在新列中
    查看>>
    PandoraFMS 监控软件 SQL注入漏洞复现
    查看>>
    PandoraFMS 监控软件 任意文件上传漏洞复现
    查看>>
    Papyrus项目常见问题解决方案
    查看>>
    Parallel.ForEach使用示例
    查看>>
    Parallel.ForEach的基础使用
    查看>>
    parallels desktop for mac安装虚拟机 之parallelsdesktop密钥 以及 parallels desktop安装win10的办公推荐可以提高办公效率...
    查看>>
    parallelStream导致LinkedList遍历时空指针的问题
    查看>>
    Parameter ‘password‘ not found. Available parameters are [md5String, param1, username, param2]
    查看>>
    ParameterizedThreadStart task
    查看>>
    paramiko模块
    查看>>
    param[:]=param-lr*param.grad/batch_size的理解
    查看>>
    spring mvc excludePathPatterns失效 如何解决spring拦截器失效 excludePathPatterns忽略失效 拦截器失效 spring免验证拦截器不起作用
    查看>>
    Spring Cloud 之注册中心 EurekaServerAutoConfiguration源码分析
    查看>>
    Parrot OS 6.3 发布!全面提升安全性,新增先进工具,带来更高性能
    查看>>
    ParseChat应用源码ios版
    查看>>
    Part 2异常和错误
    查看>>