私はdebianオペレーティングシステムでVPSホスティングをしています。
システム全体を随時バックアップしたいと思います。
ローカルマシンでOSをバックアップする方法についてはたくさんの質問がありますが、それは私が必要としているものではありません。私はsshとスーパーユーザーのアカウントを持っています。
システム構成のみをバックアップする必要がある場合(通常、1日の終わりにはシステムのコンテンツの約3分の1です)、必要なのは、インストールされているパッケージのリストとその構成だけです。パッケージングユーティリティで取得できるインストール済みパッケージのリスト、システム全体の構成は/etc
(実際に非標準のものがインストールされている場合は/usr/local/etc
および/opt/<vendor>/etc
)にあります。 /root
を投入することもできます。したがって、構成ディレクトリとインストールされているパッケージのリストをバックアップするだけで、必要なものがすべて揃っているはずです(最初の3分の1)。
他の3分の2は次のようになります。
プライベートユーザーデータ(ホームディレクトリ)、および
パブリックユーザーデータ:システムで実行されているさまざまなサービスによってアクセスされるデータ-通常はメールキュー、httpデーモンによって提供されるデータ。ある意味では、仮想マシンまたは変更ルートもこのカテゴリに分類される可能性があります。
システム全体のバックアップに関しては、他の回答に記載されているオプションとは別に、インストール(仮想化ゲストまたはVPSホスト)が別のファイルシステム上にある場合は、ファイルシステムのネイティブバックアップ/スナップショット機能を使用できます(たとえば、XFSにはこの機能があります)、または読み取り専用でマウントし、含まれているデバイスをダンプします(ただし危険な場合があります)。これを行うには、プレーンsshで十分です。
他の低レベルのシステム操作と同様に、ターミナルマルチプレクサで操作を実行して、バックアッププロセスを接続の切断から保護し、予備のssh接続(できれば別のプロセスによって提供される)を用意することをお勧めします。
ファイルのバックアップにrsync
を使用しています。 /etc/cron.daily
に次のようなスクリプトを配置します。
EXCLUDES=/etc/rsync/excludes.txt
TARGETDIR=root@::backup-target
BACKUPDIR=/`date +%Y%m%d-%H%M%S`
export RSYNC_PASSWORD="veryverysecret"
rsync --force --ignore-errors --delete-excluded --exclude-from=${EXCLUDES} --delete --backup --backup-dir=${BACKUPDIR} -a -H -X -A / ${TARGETDIR}/current
もちろん、Host-where-to-store-backup
を構成する必要があります。 rsyncd.conf
のマニュアルページをご覧ください。
私は個人的に Dirvish.org を使用しています。これはディスクベースのファイルバックアップであり、rsync
ではなくssh
を使用し、Ubuntuリポジトリにあります(Debianでもそうです)。
構成は簡単で、ディスクへの増分バックアップを実行し、暗号化を使用してネットワークを介して通信し、古いイメージの期限切れは簡単で、変更されたファイルをコピーするだけです...