首页 > 其他分享 >innobackupex定时全备,增量备份,压缩备份,自动同步到远程服务器脚本

innobackupex定时全备,增量备份,压缩备份,自动同步到远程服务器脚本

时间:2024-09-24 12:55:27浏览次数:3  
标签:-- 备份 latestfolder mysql innobackupex password backup 全备

全量备份

#!/bin/bash

# 设置变量
mysql_backup_dir=/data/backup/mysql/
mysql_username="yours"
mysql_password="YOURS"

# 进入备份目录
cd $mysql_backup_dir

# 生成当前时间戳
timeStart=$(date '+%Y%m%d%H%M%S')
logfile=full-$timeStart.log

# 执行全量备份
/usr/bin/innobackupex --user=$mysql_username --password=$mysql_password --no-lock --defaults-file=/etc/my.cnf $mysql_backup_dir 2> "$logfile"

# 获取最新的备份目录
latestfolder=$(ls -l | grep ^d | tail -n 1 | awk '{print $9}')

# 压缩备份文件
tar -czvf /data/backup/mysql/full_$latestfolder.tar.gz -C /data/backup/mysql ./$latestfolder

# 同步备份文件到远程服务器
rsync -vzrtopg --progress --delete --password-file=/etc/rsyncd.secrets /data/backup/mysql/full_$latestfolder.tar.gz test@ip::test

增量备份脚本

#!/bin/bash

# 设置变量
mysql_backup_dir=/data/backup/mysql/
mysql_username="yours"
mysql_password="YOURS"

# 进入备份目录
cd $mysql_backup_dir

# 获取上一个增量备份的目录
lastincrementfolder=$(ls -l | grep ^d | tail -n 1 | awk '{print $9}')

# 生成当前时间戳
timeStart=$(date '+%Y%m%d%H%M%S')
logfile=increment-$timeStart.log

# 执行增量备份
/usr/bin/innobackupex --user=$mysql_username --password=$mysql_password --no-lock --defaults-file=/etc/my.cnf --incremental $mysql_backup_dir --incremental-basedir=$lastincrementfolder 2> "$logfile"

# 获取最新的备份目录
latestfolder=$(ls -l | grep ^d | tail -n 1 | awk '{print $9}')

# 压缩备份文件
tar -czvf /data/backup/mysql/increment_$latestfolder.tar.gz -C /data/backup/mysql ./$latestfolder

# 删除原始备份目录
rm -rf $latestfolder

# 同步备份文件到远程服务器
rsync -vzrtopg --progress --delete --password-file=/etc/rsyncd.secrets /data/backup/mysql/increment_$latestfolder.tar.gz test@ip::test

远程服务器按月归档

#!/bin/bash

# 定义源目录和归档目录
SOURCE_DIR="/path/to/source/directory"
ARCHIVE_DIR="/path/to/archive/directory"

# 获取当前年份和月份
YEAR=$(date +%Y)
MONTH=$(date +%m)

# 创建归档目录(如果不存在)
mkdir -p "$ARCHIVE_DIR/$YEAR/$MONTH"

# 按月归档文件
find "$SOURCE_DIR" -type f -mtime -30 -exec mv {} "$ARCHIVE_DIR/$YEAR/$MONTH" \;

# 输出归档信息
echo "Files archived for $YEAR-$MONTH"

标签:--,备份,latestfolder,mysql,innobackupex,password,backup,全备
From: https://blog.51cto.com/u_14529165/12098411

相关文章

  • mysqldump 远程备份 mysql
    mysqldump远程备份使用mysqldump进行远程数据库备份,你需要具备远程服务器的访问权限,并且确保远程服务器的MySQL服务允许远程连接。mysqldump-uroot-ppassword-h192.168.1.100mydatabase>backup.sql mysqldump指令如下: mysqldump-h[服务器IP]-P[mysql端口号......
  • mysqldump Windows 定期自动 备份 mysql
    Windows平台:定期自动备份mysql    一,确定mysqldump.exe 的位置C:\ProgramFiles\MySQL\MySQLServer5.7\bin 二 打开高级系统设置,设置环境变量可右击此电脑——> 点击属性 点击高级系统设置  点击环境变量 编辑系统变量中的Path  设......
  • PGSQL-备份和恢复-增量备份-开启wal归档、并设置定时清理备份之后的wal文件
      一、增量备份定期对数据库做基础备份,再配合WAL的归档日志,可实现再较短时间将数据库恢复 开启WAL归档创建归档目录[root@s101/var/lib/pgsql/13]#lsarchive_walsbackupsscriptswal归档记录 touch pg_archive_logs[root@s101/var/lib/pgsql/13/archive_wals......
  • MySQL数据库备份和恢复
    一、MySQL数据库备份使用mysqldump命令(逻辑备份)语法备份单个数据库:mysqldump-uusername-pdatabase_name>backup_file.sql例如,如果要备份名为mydb的数据库,用户名为root,执行命令mysqldump-uroot-pmydb>mydb_backup.sql。然后系统会提示输入密码,输入正确密码......
  • 帝国备份王安装 /diguo 返回http500错误原因及解决方法
    当你在使用帝国备份王进行数据恢复时遇到/diguo路径返回HTTP500错误,这通常表示服务器端发生了某种错误。根据已有的信息,HTTP500错误的原因可能与PHP的配置有关,特别是short_open_tag的设置。HTTP500错误原因HTTP500错误通常表明服务器遇到了意料之外的情况,阻止了它完成请求......
  • 通过组合使用这些工具,您可以实现灵活的 WIM 备份和恢复方案。每个工具都有其特定功能,
    使用Windows的WIM(WindowsImagingFormat)备份和恢复可以通过命令行工具DISM(DeploymentImagingServiceandManagementTool)来实现。以下是一些常用的WIM备份和恢复命令参数示例:1. 备份(Capture)使用dism命令将系统映像备份为WIM文件:bashCopyCodedism/Cap......
  • 帝国cms数据库备份,导出的数据库 导入的时候各种错误
    在导入帝国CMS备份的数据库时遇到错误,这可能是由于多种原因造成的,比如数据库版本不兼容、SQL语法错误、权限问题等。以下是一些常见的错误及其解决办法:SQL语法错误如果遇到类似YouhaveanerrorinyourSQLsyntax这样的错误,可能是由于SQL语句不符合当前MySQL版本的规范。......
  • MySQL 数据库备份与恢复详解
    随着企业对数据依赖性的日益增加,确保数据库的安全与稳定至关重要。MySQL数据库作为开源数据库系统的代表,其备份与恢复能力直接关系到数据的安全性与业务的连续性。本文将结合最新的技术和工具,详细介绍MySQL的备份与恢复策略,帮助用户构建高效可靠的数据库管理方案。一、为什......
  • 帝国cms备份和恢复 帝国cms恢复数据
    帝国CMS的备份和恢复功能可以帮助你在数据丢失或需要迁移网站时快速恢复数据。以下是详细的步骤,介绍如何进行帝国CMS的备份和恢复操作:帝国CMS备份数据通过帝国CMS后台备份登录帝国CMS后台:使用管理员账号登录帝国CMS后台。进入备份与恢复模块:在后台管理界面中找到“系统”菜......
  • 帝国CMS搬家以及帝国cms备份数据库方法
    利用帝国CMS后台的备份功能进行搬家是一种更为稳妥的方法,可以避免由于数据库版本不一致导致的乱码问题。这种方法不仅能够确保数据的完整迁移,还能保证数据库结构的一致性。下面是详细的步骤:方法/步骤1.备份现有数据库登录帝国CMS后台:使用管理员账号登录帝国CMS后台。进入系......