博客
关于我
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/

    你可能感兴趣的文章
    MySQL 8.0开始Group by不再排序
    查看>>
    mysql ansi nulls_SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON 什么意思
    查看>>
    multi swiper bug solution
    查看>>
    MySQL Binlog 日志监听与 Spring 集成实战
    查看>>
    MySQL binlog三种模式
    查看>>
    multi-angle cosine and sines
    查看>>
    Mysql Can't connect to MySQL server
    查看>>
    mysql case when 乱码_Mysql CASE WHEN 用法
    查看>>
    Multicast1
    查看>>
    mysql client library_MySQL数据库之zabbix3.x安装出现“configure: error: Not found mysqlclient library”的解决办法...
    查看>>
    MySQL Cluster 7.0.36 发布
    查看>>
    Multimodal Unsupervised Image-to-Image Translation多通道无监督图像翻译
    查看>>
    MySQL Cluster与MGR集群实战
    查看>>
    multipart/form-data与application/octet-stream的区别、application/x-www-form-urlencoded
    查看>>
    mysql cmake 报错,MySQL云服务器应用及cmake报错解决办法
    查看>>
    Multiple websites on single instance of IIS
    查看>>
    mysql CONCAT()函数拼接有NULL
    查看>>
    multiprocessing.Manager 嵌套共享对象不适用于队列
    查看>>
    multiprocessing.pool.map 和带有两个参数的函数
    查看>>
    MYSQL CONCAT函数
    查看>>