otakup0pe.dupwrap
duplicity wrapper
このAnsibleロールは、duplicityバックアップツールの周りにシンプルなラッパーをインストールします。このツールには2つの操作モードがあります - Amazon S3へのバックアップ、または外部ボリューム上の暗号化されたMacディスクイメージへのバックアップです。dupwrapツールは、単一のホスト上で複数のバックアッププロファイルをサポートします。サーバーのバックアップにはrootユーザーとして、ワークステーションのバックアップには別のユーザーとして実行できます。
S3モード
指定されたS3バケットにGPG暗号化されたバックアップをアップロードします。提供されたAPIキーに関連付けられたIAMユーザーは、読み取り/書き込みの権限が必要です。
Mac USBモード
外部ボリュームに暗号化されたボリュームを作成/維持します。二重の暗号化になりますが、あまり気にしていません。このモードはまだスケジュールされたバックアップをサポートしていません。
変数
デフォルト値を持つ変数です。この値を使うことで、ソースと宛先を追加するだけでサーバー全体のバックアップが簡単になります。
- dupwrap_userはデフォルトで- root
- dupwrap_groupはデフォルトで- root
- dupwrap_config_prefixはデフォルトで- /etc
- dupwrap_bin_prefixはデフォルトで- /usr/local/binです
- dupwrap_cronはデフォルトで- false- cronジョブを設定するには有効にします
- dupwrap_cron_verboseはデフォルトで- falseですが、これを使うと多くの情報を表示できます
- dupwrap_n_fullはデフォルトで- 3でフルバックアップの数を制御します
- dupwrap_remove_olderはデフォルトで- 12で、指定された月数より古いバックアップを削除します
- dupwrap_full_olderはデフォルトで- 30Dで、フルバックアップを強制する頻度を決定します
複数のバックアッププロファイルを定義できます。これらはすべて dupwrap という名前のディレクトリに保存されます。dupwrap_backups 変数はバックアッププロファイルを定義するために使用されます。この変数には、グローバル設定がデフォルトのyamlオブジェクトのリストが含まれています。
- passphrase(デフォルトは- dupwrap_passphrase) は暗号化ルーチンに使用するパスワードを指定します
- aws_access_key(デフォルトは- dupwrap_aws_access_key) はS3バックアップに必要なAWSアクセスキーIDです
- aws_secret_key(デフォルトは- dupwrap_aws_secret_key) はS3バックアップに必要なAWSシークレットアクセスキーです
- bucket(デフォルトは- dupwrap_bucket) は使用するS3 URIで、S3バックアップに必要です
Mac/USBへのバックアップには次のインスタンス変数を渡す必要があります。
- dupwrap_unencrypted_volumeは使用するマウントされた外部ボリュームの名前です
- dupwrap_encrypted_volumeは作成する暗号化されたボリュームの名前です
- dupwrap_encrypted_volume_sizeはボリュームのサイズで、デフォルトは- 256mです
dupwrap スクリプト
このスクリプトは duplicity のインターフェースです。また、cron で使用する場合は、これが呼び出されます。すべてのMac/USBのインタラクションではパスワードを要求します。
オプション
これらのオプションはデフォルトの動作を変更します。いくつかのアクションには指定されたプロファイルが必要です。
- -dをMacバックアップで指定すると、バックアップが完了した後もマウントされたままになります。
- -vはデバッグ情報を出力します
- -fは永遠に物を削除するときの確認をスキップします
- -cは設定ファイルが保存されるディレクトリを指定します。デフォルトは- dupwrap_config_prefixに設定されています
- -pはバックアッププロファイルを指定します。
- -tはファイルを復元する時刻を指定します。このオプションがなぜ存在するのか分かりませんが、おそらく私がコンピュータが苦手だからでしょう。
アクション
- backupはバックアップを開始します。プロファイルが指定されていない場合は、見つかったすべてのバックアップが実行されます。
- listは最新のバックアップのすべてをリスト表示します
- restore_fileは指定された場所に特定のファイルを復元します- restore_file <file> <dest>で最新のものを復元します
 
- statusバックアップセットの基本情報を表示します
- prune古いバックアップを削除します。プロファイルが指定されていない場合は、見つかったすべてのバックアップが削除されます。
macOSでは、いくつかの追加アクションがあります。
- initは暗号化されたディスクイメージを作成します
- purgeは暗号化されたディスクイメージを削除します
- mountは暗号化されたディスクイメージをマウントします
- unmountは暗号化されたディスクイメージをアンマウントします
スワップヘルパー
スワップヘルパースクリプト(dupwrap-swap-helper)は、pre_script と post_script のジョブ変数と一緒に使用するためのものです。引数としてpreまたはpostのいずれかを渡して呼び出されます。
ライセンス
作者
このAnsibleロールは、データの衰退にうんざりしているため、Jonathan Freedmanによって作成されました。
