Movatterモバイル変換


[0]ホーム

URL:


BLOGTIMES

cles::blog

平常心是道
« :: »
2013/12/09

さくらのクラウド API を使ってローカルにバックアップを取る

  sakura  sh  cli  systemmanagemant  integration 
このエントリーをはてなブックマークに追加

さくらのクラウドにはREST API*1がついていて、コントロールパネルから行える作業については、APIからも行うことができるようになっています。

クラウドはある程度多重化されているとは言っても、1つくらいはローカルにバックアップを持っておきたいもの。
今回はさくらのクラウド API をつかってローカルにイメージバックアップを取るスクリプトを書いてみました。

サーバについているディスクはそのままでは FTP できないので、一旦アーカイブを作成し、FTPを有効にしてから、ファイルを FTP 転送し、最後にアーカイブを削除するという一連の流れをスクリプト化してみました。Node.js を使うとかいろいろ方法は考えられたのですが、単純に bash で curl*2json コマンドを駆使しているだけという単純なものです。API ということでちょっと取っつきづらいイメージがありましたが、API リファレンスには curl コマンドのサンプルもついているので楽ちんでした。

全てのディスクのイメージを取るスクリプト

実行にあたっては、APIキー(ACCESS TOKEN と ACCESS SECRET) が必要になります。
取得方法についてはAPIキーの作成方法*3を参考にしてください。

起動すると全てのディスクのバックアップをローカルに取ります。
エラーハンドリングはちょっと甘いところがありますが、たまに使うくらいなら大丈夫でしょう。

2015/2/3 追記

さくらのクラウドの中の人から以下のツッコミをいただいたので、スクリプトを修正しました。

スクリプト内:95~98行の部分で’available’となるまで繰り返す仕様となっておりますが、アーカイブ作成時に’failed’(失敗)となった場合に無限ループに陥る事象が発生しております。当該箇所にて無限ループとならないよう繰り返し回数の上限を設けていただくなどの修正や、記事中に当該箇所が無限ループにつながることを注意喚起をいただけませんでしょうか?

ソースコートは GitHub に移動していますので、以下からご利用ください。




2013/12/10 追記

転送中のステータスが表示されるようにアップデート。

2013/12/12 追記

curl の引数に --keepalive-time 60 を追加 ( curlのバージョンによっては上手く動かないかも)。

CentOS5.x に付属のcurl ではなぜかうまく動きませんでした。

$ curl -Vcurl 7.15.5 (x86_64-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5Protocols: tftp ftp telnet dict ldap http file https ftpsFeatures: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz

こんなエラーが出ます。

Warning: Transient problem: timeout Will retry in 1 seconds. 10 retries left.Throwing away 21474836480 bytescurl: (56) SSL read: error:00000000:lib(0):func(0):reason(0), errno 1102013-12-11 01:09:06 [27790]: FTP Error: exit code -> 141

curl を自分でビルドしたら動くようになりました。うーむ。

$ ./curl -Vcurl 7.33.0 (x86_64-unknown-linux-gnu) libcurl/7.33.0 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smtp smtps telnet tftpFeatures: AsynchDNS IDN IPv6 Largefile NTLM NTLM_WB SSL libz

2013/12/14 追記

続編として、日次でアーカイブをとるスクリプトを書いてみました


byhsur at 19:14[5年前][4年前][3年前][2年前][1年前][1年後][2年後][3年後][4年後][5年後] |
こんな記事もあります 「さくら REST バックアップ
2024 年の人気エントリ Top 100
Windows にも sudo が導入される
さくらの DKIM/DMARC 対応は 1/31 11:00 ~ 順次リリース
Teams Classic は 3/31 で廃止に
2023 年の人気エントリ Top 100
新潟県で公文書のデータ損失事故が発生
rclone で OneDrive の内容をサーバにバックアップ
OmniOS/ZFS サーバに wbadmin でイメージバックアップが取れない時に確認すべきこと
やはりちょっと地味なブルーインパルス ( 2023 小牧基地オープンベース )
リスボンのモニュメントいろいろ
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/6323
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form

コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。

OpenID を使ってログインすることができます。

Identity URL:Yahoo! JAPAN IDでログイン

« :: »
Copyright © 2004-2023 by CLES All Rights Reserved.
サイト内検索
検索ワードランキング
へぇが多いエントリ
閲覧数が多いエントリ
1 .アーロンチェアのポスチャーフィットを修理(99717)
2 .年次の人間ドックへ(99116)
3 .福岡銀がデマの投稿者への刑事告訴を検討中(99113)
4 .三菱鉛筆がラミーを買収(98724)
5 .2023 年分の確定申告完了!(1つめ)(98693)
最新のエントリ
cles::blogについて
誰が書いてる?
最近行った場所
サイトポリシー
タグ一覧
検索ワードランキング

Referrers

    Powered by CLES
    Nucleus CMS v3.31SP3/w memcached
    21377509(W:8134 Y:1277 T:0331)
    cles::blogのはてなブックマーク数
    benchmark


    [8]ページ先頭

    ©2009-2025 Movatter.jp