web-dev-qa-db-ja.com

Debianシステムをバックアップする方法は?

私はdebianオペレーティングシステムでVPSホスティングをしています。

システム全体を随時バックアップしたいと思います。

ローカルマシンでOSをバックアップする方法についてはたくさんの質問がありますが、それは私が必要としているものではありません。私はsshとスーパーユーザーのアカウントを持っています。

4
Anthony

システム構成のみをバックアップする必要がある場合(通常、1日の終わりにはシステムのコンテンツの約3分の1です)、必要なのは、インストールされているパッケージのリストとその構成だけです。パッケージングユーティリティで取得できるインストール済みパッケージのリスト、システム全体の構成は/etc(実際に非標準のものがインストールされている場合は/usr/local/etcおよび/opt/<vendor>/etc)にあります。 /rootを投入することもできます。したがって、構成ディレクトリとインストールされているパッケージのリストをバックアップするだけで、必要なものがすべて揃っているはずです(最初の3分の1)。

他の3分の2は次のようになります。

  • プライベートユーザーデータ(ホームディレクトリ)、および

  • パブリックユーザーデータ:システムで実行されているさまざまなサービスによってアクセスされるデータ-通常はメールキュー、httpデーモンによって提供されるデータ。ある意味では、仮想マシンまたは変更ルートもこのカテゴリに分類される可能性があります。

システム全体のバックアップに関しては、他の回答に記載されているオプションとは別に、インストール(仮想化ゲストまたはVPSホスト)が別のファイルシステム上にある場合は、ファイルシステムのネイティブバックアップ/スナップショット機能を使用できます(たとえば、XFSにはこの機能があります)、または読み取り専用でマウントし、含まれているデバイスをダンプします(ただし危険な場合があります)。これを行うには、プレーンsshで十分です。

他の低レベルのシステム操作と同様に、ターミナルマルチプレクサで操作を実行して、バックアッププロセスを接続の切断から保護し、予備のssh接続(できれば別のプロセスによって提供される)を用意することをお勧めします。

3
peterph

ファイルのバックアップに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のマニュアルページをご覧ください。

3
Andreas Florath

私は個人的に Dirvish.org を使用しています。これはディスクベースのファイルバックアップであり、rsyncではなくsshを使用し、Ubuntuリポジトリにあります(Debianでもそうです)。

構成は簡単で、ディスクへの増分バックアップを実行し、暗号化を使用してネットワークを介して通信し、古いイメージの期限切れは簡単で、変更されたファイルをコピーするだけです...

2
jippie