增量備份腳本(共享託管)

增量備份腳本(共享託管)

請考慮我不是系統管理員,所以我對所涉及的工具只有有限的經驗,我知道有類似的問題,但我找不到任何適合我需要的東西。

在類似的問題中有人建議備份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標誌。

相關內容