増分バックアップスクリプト(共有ホスティング)

増分バックアップスクリプト(共有ホスティング)

私はシステム管理者ではないので、関連するツールの経験は限られています。私は同様の質問があることを知っていますが、私の要件に合ったものが見つかりません。

同様の質問で誰かが提案しました。バックアップ2lしかし、時代遅れに見え、よく文書化されていません。 (私は次のようなものが必要ですこれしかし、徐々に)

だから私は事前に調理された最高のソリューションが何であるかを理解したり、この作業のための単純なbashスクリプトを作成しようとしています。 (残念ながら私はbashが苦手です)

ターゲット
増分バックアップをしたいです。public_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)は限られており、16 GBしかありません。
マゼントのウェブサイトをバックアップする必要があります。
コードはでホストされているので、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

これはローリングシェルスクリプトで非常に一般的な問題です。この目的のために設計された多くのツールの1つを使用してください。

私はお勧めしますrdiff-backupこのようなことのために。

作成される増分バックアップの量とそれに応じたディスク容量を制御するには、対応する--remove-older-thanフラグを使用します。

関連情報