Sacback
Sacbackはさくらのクラウドのディスクをローカルホストにバックアップするツールです。 (Sakura Cloud Backup tool)
以下の一連の処理を一気に実行します。また、それぞれの処理を個別に実行することもできます。
- さくらのクラウド上でディスクのアーカイブを作成
- アーカイブをローカルホストにダウンロード
- さくらのクラウド上のアーカイブを削除
- ローカルのアーカイブファイルを圧縮
セットアップ
$ gem install sacback
さくらのクラウドの認証情報とゾーン名を以下の環境変数にセットします。
SACLOUD_TOKEN: アクセス・トークン
SACLOUD_SECRET: アクセス・トークン・シークレット
SACLOUD_ZONE: ゾーン名(石狩第1: is1a, 石狩第2: is1b)
使い方
$ sacback
Commands:
sacback a DISK_NAME [LOCAL_DIR_PATH] # Run all through with the disk (def...
sacback c DISK_NAME # Create an archive from the disk
sacback g ARCHIVE_ID [LOCAL_DIR_PATH] # Get the archive (default path: /tmp)
sacback help [COMMAND] # Describe available commands or one...
sacback r ARCHIVE_ID # Remove the archive
sacback z LOCAL_DIR [FILE_NAME] # Compress the local file (default f...
Options:
-s, [--silent], [--no-silent] # Not write log messages
[--curl], [--no-curl] # Use curl command for downloading
[--ftpblocksize=N] # Block size on FTP transfer (KB) (not used on curl mode)
# Default: 512
コマンド
- a: すべての処理を一気に実行します。(以降のc, g, r, z)
例: sacback a disk1 /backup
- c: さくらのクラウド上でディスクからアーカイブを作成します。
アーカイブ名:ディスク名-YYMMDD-HHMM
- g: アーカイブをローカルホストにダウンロードします。
デフォルトファイル名:archive.img
r: さくらのクラウド上でアーカイブを削除します。
z: ローカルホストのファイルを圧縮します。(gzip)
圧縮ファイル名:アーカイブ名.gz
オプション
-s, --silent: ログメッセージを表示しません。cronなどで実行する場合はこのオプションを指定してください。
--curl: アーカイブのダウンロードをcurlで行います。デフォルトでは DoubleBagFTPS を使用しますが非常に遅いため、curlが使える環境ではこのオプションの使用をお勧めします。
--ftpblocksize=N: アーカイブダウンロード時のブロックサイズを指定します(KB単位)。curlモードの場合は影響しません。
注意事項
a, cコマンドのパラメーターで指定する「ディスク名」は部分一致となります。複数のディスク名が該当した場合は最初のものが使用されるため、ユニークに決まる名称を指定した方が良いでしょう。
アーカイブのダウンロード時に、さくらのクラウドのコンソール上では、ステータスが「アップロード」と表示されます。今のところ原因がわかりませんが、動作上は問題ありません。
さくらのクラウド側でたまに HttpServiceUnavailableException
が発生することがあります。aコマンドで実行していた場合は、失敗した処理から個別に実行して継続することができます。
Contributing
- Fork it ( https://github.com/shimotori/sacback/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request