关于完全备份.差异备份.增量备份(整理文)

一。

什么是完全备份,差异备份,增量备份?

备份种类的介绍及组合备份方案
完全备份
备份全部选中的文件夹,并不依赖文件的存档属性来确定备份那些文件。
( 在备份过程中,任何现有的标记都被清除,每个文件都被标记为已备份,换言之,清除存档属性)。

差异备份
差异备份是针对完全备份:备份上一次的完全备份后发生变化的所有文件。
(差异备份过程中,只备份有标记的那些选中的文件和文件夹。它不清除标记,既:备份后不标记为已备份文件,换言之,不清除存档属性)。

增量备份
增量备份是针对于上一次备份(无论是哪种备份):备份上一次备份后,所有发生变化的文件。
(增量备份过程中,只备份有标记的选中的文件和文件夹,它清除标记,既:备份后标记文件,换言之,清除存档属性。)

 

不同备份类型组合的示例

完全备份和差异备份
在星期一进行完全备份,在星期二至星期五进行差异备份。如果在星期五数据被破坏了,则你只需要还原星期一完全的备份和星期四的差异备份。这种策略备份数据需要较多的时间,但还原数据使用较少的时间。

完全备份和增量备份
在星期一进行完全备份,在星期二至星期五进行增量备份。如果在星期五数据被破坏了,则你需要还原星期一正常的备份和从星期二至星期五的所有增量备份。这种策略备份数据需要较多的时间,但还原数据使用较少的时间。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是MySQL备份脚本的示例,包括完全备份增量备份差异备份完全备份脚本: #!/bin/bash # MySQL full backup script # Set variables BACKUP_DIR="/path/to/backup/dir" DB_USER="your_username" DB_PASS="your_password" DB_NAME="your_database_name" DATE=$(date +"%Y-%m-%d") # Create backup directory if it doesn't exist if [ ! -d "$BACKUP_DIR" ]; then mkdir -p "$BACKUP_DIR" fi # Perform backup mysqldump -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" | gzip > "$BACKUP_DIR/$DB_NAME-$DATE.sql.gz" # Remove backups older than 7 days find "$BACKUP_DIR" -type f -name "*.sql.gz" -mtime +7 -delete 增量备份脚本: #!/bin/bash # MySQL incremental backup script # Set variables BACKUP_DIR="/path/to/backup/dir" DB_USER="your_username" DB_PASS="your_password" DB_NAME="your_database_name" DATE=$(date +"%Y-%m-%d") LAST_BACKUP=$(ls -1t "$BACKUP_DIR"/*.sql.gz 2>/dev/null | head -1) # Create backup directory if it doesn't exist if [ ! -d "$BACKUP_DIR" ]; then mkdir -p "$BACKUP_DIR" fi # Perform backup if [ -z "$LAST_BACKUP" ]; then mysqldump -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" | gzip > "$BACKUP_DIR/$DB_NAME-$DATE.sql.gz" else mysqldump -u "$DB_USER" -p"$DB_PASS" --databases "$DB_NAME" --no-create-info --skip-triggers --single-transaction | gzip > "$BACKUP_DIR/$DB_NAME-$DATE.sql.gz" fi # Remove backups older than 7 days find "$BACKUP_DIR" -type f -name "*.sql.gz" -mtime +7 -delete 差异备份脚本: #!/bin/bash # MySQL differential backup script # Set variables BACKUP_DIR="/path/to/backup/dir" DB_USER="your_username" DB_PASS="your_password" DB_NAME="your_database_name" DATE=$(date +"%Y-%m-%d") LAST_BACKUP=$(ls -1t "$BACKUP_DIR"/*.sql.gz 2>/dev/null | head -1) # Create backup directory if it doesn't exist if [ ! -d "$BACKUP_DIR" ]; then mkdir -p "$BACKUP_DIR" fi # Perform backup if [ -z "$LAST_BACKUP" ]; then mysqldump -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" | gzip > "$BACKUP_DIR/$DB_NAME-$DATE.sql.gz" else mysqldump -u "$DB_USER" -p"$DB_PASS" --databases "$DB_NAME" --no-create-info --skip-triggers --single-transaction --where="update_time >= '$LAST_BACKUP'" | gzip > "$BACKUP_DIR/$DB_NAME-$DATE.sql.gz" fi # Remove backups older than 7 days find "$BACKUP_DIR" -type f -name "*.sql.gz" -mtime +7 -delete 注意:这些脚本仅供参考,您需要根据自己的情况进行修改和测试。建议定期测试备份,并将备份文件存储在安全的置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值