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

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

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

同様の質問で誰かが提案したバックアップ2lしかし、古くて、よく文書化されていないようです。(私は次のようなものが必要ですこれただし漸進的)

そこで、このタスクに最適な事前準備済みのソリューションが何かを理解するか、簡単な bash スクリプトを作成したいと思います。(残念ながら、私は bash が得意ではありません)

目標
増分バックアップをしたいのですが公開_html私のサイトの dir です。
毎日増分バックアップを保存し、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

これは、シェル スクリプトを実行するにはあまりにも一般的な問題です。この目的のために設計された多くのツールの 1 つを使用してください。

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

作成する増分バックアップの量を制御し、ディスク領域を制御するには、--remove-older-thanフラグを使用します。

関連情報