huruyosi’s blog

プログラミングとかインフラとかのメモです。

linkstationのデータバックアップ その二

リンクステーションのデータバックアップ その一 - huruyosi’s blog の続きです。

s3の動きを試しました。

アップロードの方法

このコマンドで一発です。

$ s3cmd sync --encoding=UTF-8 --recursive --delete-removed /mnt/array1/ s3://バケット名/
  • sync … 追加 / 更新されたファイルを検地してアップロードします。
  • --encoding=UTF-8 … 漢字を使ったファイル名の文字化け対応です。
  • --recursive … サブディレクトリを再帰的に処理します。
  • --delete-removed … リンクステーションで削除したファイルがあれば、s3のファイルも削除します。
  • /mnt/array1/ … バックアップ対象のディレクトリです。
  • s3://バケット名/ … バックアップ先です。

Glacier へのアーカイブ

ライフサイクルを設定

バスケットのプロパティからライフサイクルを指定設定します。

  • オブジェクトの操作 … 「アーカイブのみ」を指定します。
  • Glacier ストレージクラスにアーカイブする … 「0」日後を指定します。 f:id:huruyosi:20150628215155p:plain

アーカイブの状態を確認

AWSのコンソールからS3のバケットの中を見たときに「ストレージクラス」で状態を判断します。 「スタンダード」となっていれば、アーカイブされていない状態です。 「Glacier」となっていればアーカイブされた状態です。

アーカイブ後に s3cmd sync を行うと

アーカーブされた状態でもs3のオブジェクトとして扱われるので、リンクステーションで 追加 / 更新 されたファイルがアップロードされます。

一番の懸念だったアーカイブ後に追加 / 更新 されたファイルを検知する方法がもっとも気になっていましたが、s3cmd sync が差分を検知することが分かり安心しました。

リンクステーションのバックアップ その三 - huruyosi’s blog につづく。