首页 > 数据库 >ubuntu 22.04每日自动备份数据库

ubuntu 22.04每日自动备份数据库

时间:2024-06-07 16:36:33浏览次数:38  
标签:opt 备份 ubuntu DB 22.04 mysql BACKUP 数据库

自动备份数据库

我们将设置一个每天凌晨 2:00 执行备份的 Cron 任务。

  1. 首先确保您已经安装了 MySQL 服务:

    sudo apt update
    sudo apt install mysql-server
    
  2. 创建备份目录:

    sudo mkdir /opt/mysql_backups
    sudo chown mysql:mysql /opt/mysql_backups
    

    这里我们创建了一个 /opt/mysql_backups 目录来存放备份文件,并将它的所有者设置为 mysql 用户和组。

  3. 创建备份脚本文件:

    sudo vi /opt/mysql_backup.sh
    

    在文件中添加以下内容:

    #!/bin/bash
    
    # 数据库连接信息
    DB_HOST="localhost"
    DB_USER="root"
    DB_PASS="your_root_password"
    DB_NAME="blog"
    BACKUP_DIR="/opt/mysql_backups"
    
    # 备份文件名
    BACKUP_FILE="${DB_NAME}_$(date +%Y%m%d_%H%M%S).sql.gz"
    
    # 执行备份
    mysqldump -h $DB_HOST -u $DB_USER -p$DB_PASS $DB_NAME | gzip > $BACKUP_DIR/$BACKUP_FILE
    
    echo "MySQL backup completed: $BACKUP_DIR/$BACKUP_FILE"
    

    请记得将 DB_USERDB_PASS 替换为您实际的 MySQL root 用户和密码。

  4. 设置脚本权限:

    sudo chmod +x /opt/mysql_backup.sh
    
  5. 创建 Cron 任务:

    sudo crontab -e
    

    在文件末尾添加以下行:

    0 2 * * * /opt/mysql_backup.sh
    

    这个 Cron 任务会在每天凌晨 2:00 执行 /opt/mysql_backup.sh 脚本。

现在已经成功设置了自动备份 blog 数据库的 Cron 任务。备份文件会被压缩为 .sql.gz 格式,存储在 /opt/mysql_backups 目录下。

如果需要手动执行备份,可以直接运行 /opt/mysql_backup.sh 脚本。

修改支持备份blog1 blog2等多个数据库

好的,让我来为您修改一下备份脚本,以支持同时备份多个数据库。

  1. 编辑备份脚本文件:

    sudo vi /opt/mysql_backup.sh
    
  2. 修改脚本内容如下:

    #!/bin/bash
    
    # 数据库连接信息
    DB_HOST="localhost"
    DB_USER="root"
    DB_PASS="your_root_password"
    DB_NAMES=("blog1" "blog2")
    BACKUP_DIR="/opt/mysql_backups"
    
    # 遍历需要备份的数据库
    for DB_NAME in "${DB_NAMES[@]}"
    do
        # 备份文件名
        BACKUP_FILE="${DB_NAME}_$(date +%Y%m%d_%H%M%S).sql.gz"
    
        # 执行备份
        mysqldump -h $DB_HOST -u $DB_USER -p$DB_PASS $DB_NAME | gzip > $BACKUP_DIR/$BACKUP_FILE
    
        echo "MySQL backup completed: $BACKUP_DIR/$BACKUP_FILE"
    done
    

    在这个修改后的脚本中:

    • DB_NAMES 数组包含了需要备份的数据库名称。您可以根据实际情况添加或删除数据库名称。
    • 脚本会遍历 DB_NAMES 数组中的每个数据库,并为每个数据库执行备份操作。
    • 备份文件会以 数据库名_时间戳.sql.gz 的格式命名,存储在 /opt/mysql_backups 目录下。
  3. 设置脚本权限:

    sudo chmod +x /opt/mysql_backup.sh
    
  4. 更新 Cron 任务:

    sudo crontab -e
    

    修改 Cron 任务为:

    0 2 * * * /opt/mysql_backup.sh
    

    这样就会在每天凌晨 2:00 执行备份脚本,同时备份 blog1blog2 两个数据库。

标签:opt,备份,ubuntu,DB,22.04,mysql,BACKUP,数据库
From: https://www.cnblogs.com/laraveler/p/18237434

相关文章

  • ubuntu 22.04 安装MySQL8后的基本设置
    安装sudoaptupdatesudoaptupgradesudoaptinstallapache2mysql-serverphplibapache2-mod-phpphp-mysql初始化配置MySQL初始化配置以及设置root密码初始化MySQL安全配置sudomysql_secure_installation这个命令会提示您进行一系列的安全设置,包括:是否......
  • 禅道Zentao全家桶(安装|升级|卸载|备份|恢复)
    说明命令斟酌使用。安装禅道软件下载地址:http://www.zentao.net/download.html1、将安装包直接解压到/opt目录下特别说明:**不要**解压到别的目录再拷贝到/opt/,原因:会导致文件的所有者和读写权限改变,**不要**解压后把整个目录777权限。​可以使用命令:sudotar......
  • Gitlab全家桶(安装|升级|卸载|备份|恢复)
    通用命令sudogitlab-ctlstart#启动所有gitlab组件;sudogitlab-ctlstop#停止所有gitlab组件;sudogitlab-ctlrestart#重启所有gitlab组件;sudogitlab-ctlstatus#查看服务状态;sudogitlab-ctlreconfigure#启动服务;sudovim/etc/gitlab/gitlab.rb#......
  • Ubuntu22.04 LAMP快速实战
    好的,我来为您详细说明如下步骤:安装LAMP更新软件源并安装必要的软件包:sudoaptupdatesudoaptinstallapache2mysql-serverphplibapache2-mod-phpphp-mysql测试LAMP安装是否成功:访问http://localhost查看Apache默认页面进入/var/www/html目录,创建info.......
  • 在 Ubuntu 环境下 Qt Creator 无法使用搜狗输入法
    在Ubuntu环境下QtCreator无法使用搜狗输入法在Ubuntu中安装QtCreator后,发现无法使用搜狗输入法。切换输入法也没有效果。最初以为是搜狗输入法出了问题,后来发现是QtCreator的问题,需要将搜狗输入法的插件库文件放到Qt的目录下。解决步骤如下:安装locate命令......
  • 虚拟机安装Linux(Ubuntu24)
     1、虚拟机软件    已经上传了下载链接,可进入本人博客的资源下载        https://download.csdn.net/download/qq_42837317/89402103如果下架,请自行查找下载资源。搜索 VMware workstation 172、ubuntu版本    建议按需求安装ubuntu版本,可......
  • LNMP 环境下使用 Zstd 压缩优化网站备份脚本
    网站的备份一直都是网站运营、服务器运维中很重要的一环,明月无论是在自己的服务器还是客户的代运维服务器上都是非常重视网站备份的,尤其热衷于优化网站备份这块儿,毕竟明月自己的服务器配置一直都是最低的1H1G呀,就这配置常年都是4-5个网站放着呢!明月的博客毕竟有十来年了,单......
  • 环境配置·Ubuntu1804安装CUDA和Pytorch
    InitUbuntuandchangedeb&pipsourcewgethttps://github.com/blueflylabor/blueflylabor.github.io/blob/main/toolbox/initUbuntu/initUbuntu.shbash./initUbuntu.shCUDA11.6wgethttps://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64......
  • 学习笔记——路由网络基础——浮动静态路由(路由备份和冗余)
    2、浮动静态路由(路由备份和冗余)(1)基本概念浮动静态路由是两条或多条链路组成浮动路由。当到达某一网络有多条路径,通过为静态路由设置不同的优先级,你可以指定主用路径和备用路径。当主用路径不可用时,走备用路径的静态路由进入路由表,数据包通过备用路径转发到目标网络,这就是......
  • windows下定时备份数据库
    一、windows计划任务程序执行编写.bat脚本@echooffecho设置MySQL数据库的连接信息sethost=127.0.0.1setport=3306setuser=rootsetpass=123456echo设置要备份的MySQL数据库名称setdbname=test_tableecho获取当天的日期格式,例如:20221102231300REM获取......