增量备份脚本(共享托管)

增量备份脚本(共享托管)

请考虑我不是系统管理员,所以我对所涉及的工具只有有限的经验,我知道有类似的问题,但我找不到任何适合我需要的东西。

在类似的问题中有人建议备份2l但看起来已经过时并且没有很好的记录。 (我需要类似的东西但增量)

所以我想了解什么是最好的预煮解决方案或为此任务创建一个简单的 bash 脚本。 (不幸的是我不擅长 bash)

目标
我想做一个增量备份公共_html我的网站的目录。
其想法是每天存储增量备份并仅存储 1 个月(但保留上个月):

2015-10/  -> contains a full/incremental backup of last month
2015-11/  -> contains a full/incremental backup of current month

所以在12月初2015年10月被删除并且2015年12月被创建。

设想
我使用的共享服务器上的 cli 工具 (rsync/tar) 有限且只有 16GB。
我需要备份我的 magento 网站。
由于代码托管在git我有兴趣仅保留媒体文件夹的每日备份(排除media/product/cache

现在我正在使用这个脚本创建媒体文件夹的每日备份(但它不是增量的)

#!/bin/bash
# Daily backup script

# Create some needed variable
day=$(date +%F)
File="/home/me/backup/files_$day.tar.gz"
File_media="/home/me/backup/catalog_images_$day.tar.gz"
Folder="/home/me/"
Exclude_media_cache="public_html/media/catalog/product/cache"

# Backup Media
echo "-- Creating Catalog Image Backup ..."
tar -pczf $File_media -C $Folder public_html/media/catalog --exclude="$Exclude_media_cache"

答案1

对于滚动 shell 脚本来说,这是一个非常常见的问题。使用为此目的设计的众多工具之一。

我建议rdiff-backup对于这样的事情。

要控制它创建的增量备份量,从而控制磁盘空间,请使用其--remove-older-than标志。

相关内容