<< Heroku Meetup #8 TreasureData + Waza Report!! に参加しました。#herokujp | top | エンジニアのためのスキルアップ勉強会『Tech Compass』 #tecomp ― Vol.2 「人気Webサービスの作り方教えます!」に参加しました。 >>

スポンサーサイト

一定期間更新がないため広告を表示しています

スポンサードリンク | - | | - | - | - | - |

JIRAのデータをS3へバックアップ

だいぶ、ブログを書くペースが落ちてきてて、危機感を感じている今日このごろです。。。
今回は、個人的に利用しているJIRAのバックアップについて、ブログに残しておこうかと。

さくらVPSのサーバを借りてJIRAを運用しています。
運用といっても、自分の備忘録のためというのが大半の理由です。
タスクを忘れないように管理するのと合わせて、その作業を行ったときのメモも残したいなと。

バックアップといっても、同じサーバ内に保存しても意味がない+AWSを触ると言いつつ1年以上経ってしまったので、 このへんで本腰を入れるという意味も込めてAWSのS3(ゆくゆくはGlacier)にバックアップを取る仕組みを作りました。
「作りました」というと凄そうですが、Cronとシェルだけで終わりました、なんて便利な世の中。
ということで、以下は作業の備忘録です。

1.AWSのアカウント作成
アカウントを作ってください。ここは特に説明しなくてもいいかと。。。クレジットカードの登録が必要なのが注意点でしょうか。
アカウント作成後の1年間は無料枠と呼ばれる仕組みが用意されており、いろんなことが無料で行えます。
(まだ、S3しか使ってないので、他にももっと使わないと。。。)

2.S3のバケット作成
AWSのアカウントが作成できたら、Amazon S3(Simple Storage Service)のバケットと呼ばれる、データの保存先を作成します。
作成手順はこちらの公式入門ドキュメント(英語)をそのまま行いました。
簡単な手順はこちら
  1. AWS Management Consoleと呼ばれるところから、S3のコンソールにアクセス
  2. 「Create Bucket」ボタンをクリック
  3. 「Bucket Name」を入力し、リージョンを選択したら「Create」ボタンをクリック
以上でバケットが作成されました。これだけです。WebのConsoleからファイルをアップロードすることも可能です。
ただ、今回はさくらVPSから定期的にバックアップしたいのでシェルでアクセスできるようにします。

3.AWSのアクセスキーとシークレットアクセスキーの取得
次に紹介するs3cmdというツールを利用するのに、AWSのアクセスキーとシークレットキーが必要になります。
取得方法はこちらを参考にしましたが、今は日本語のページが用意されています。
セキュリティ証明書(Security Credentials)のページで、「アクセス証明書」というタブで、「新しいアクセスキーを作成する」リンクをクリックしてください。
アクセスキーIDが新しく表示されます。このアクセスキーIDとシークレットアクセスキー(表示リンククリック後に表示される)をメモしておきます。

4.s3cmdのインストール
世の中には便利なものを作ってくれる方がいるもので。
s3cmdと呼ばれるS3へアクセスできるコマンドラインツールが存在します。
ということで、こちらをインストール。これまた、便利なものでインストール手順を書いてくれれてるブログもありました。(あれ、なんか、見たことある名前がURLにはいってるなぁ)
インストールはこちら。
# yum -y --enablerepo epel install s3cmd
インストール後に、先ほど取得したアクセスキーIDを設定します。
$ s3cmd --configure
Access Key: xxxx
Secret Key: xxxx
以上で、s3cmdが使えるようになりました。

5.バックアップスクリプトの作成
つぎは、本題のJIRAのバックアップです。
バックアップ方法はこちらを参考にしました。ちょっと古いみたいですが。
おもなデータは「JIRAのXMLバックアップユーティリティ」にてバックアップするか、「データベースのバックアップツール」を利用する方法があります。
推奨は「データベースのバックアップツール」のようなので、私の場合は「pg_dump」にてJIRAのデータベースをまるごとバックアップすることにしています。
また、データベースには添付ファイルが保存されていないようなので、別途「/var/atlassian/application-data/jira/data」というディレクトリをtarコマンドで圧縮して保存すようにしました。
あとは、pg_dumpの結果と添付ファイルの保存先の圧縮したデータをまとめてディレクトリに保存して圧縮します。
さいごは、S3にアップロードすればおしまいです。
一応、ファイルが連綿と残り続けるのは嫌だなぁということで、ファイル数で世代管理することにもしました。
これまた、ググって見つけてきたサイトを参考にしただけですが。。。
ということで、こんなかんじのスクリプトを日時でcronに設定して動かしてます。

#!/bin/sh
TODAY=`date +%Y%m%d`
BACKUP_HOME="/var/atlassian/backups"
S3SYNC_DIR="/var/atlassian/backups/s3sync"
AGE=7

mkdir -p ${BACKUP_HOME}/${TODAY}/
/usr/bin/pg_dump -U postgres -Fc jiradb > ${BACKUP_HOME}/${TODAY}/jiradb_backup.dump
tar zcvf ${BACKUP_HOME}/${TODAY}/attachment.tgz /var/atlassian/application-data/jira/data
tar zcvf ${S3SYNC_DIR}/jira_backup_${TODAY}.tgz ${BACKUP_HOME}/${TODAY}
rm -rf ${BACKUP_HOME}/${TODAY}
NUM=`ls ${S3SYNC_DIR} | wc -l`
while [ ${NUM} -ge ${AGE} ]
do
  DEL_FILE=`ls -lt ${S3SYNC_DIR} | tail -1 | awk '{print $9}'`
  rm -r ${S3SYNC_DIR}/${DEL_FILE}
  NUM=`ls ${S3SYNC_DIR} | wc -l`
done

s3cmd sync --delete-removed ${S3SYNC_DIR}/* s3://my_jira_backup/s3sync/
そこへんだよとかあれば、ツッコミを。
今のところ、S3へのsyncだけなので、このあとは、月1くらいでGlacierに落とすとかの仕組みも考えるかなぁ。これまた何かあるんだろうけど。
あとは、この応用で家のNASに溜まっている写真をS3経由もしくは直接Glacierにバックアップする仕組みを考える予定です。

johtani | 備忘録 | 23:07 | comments(0) | trackbacks(0) | - | - |

スポンサーサイト

スポンサードリンク | - | 23:07 | - | - | - | - |
Comment









Trackback
URL:

03
--
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
--
>>
<<
--
PR
RECOMMEND
[改訂新版] Apache Solr入門 ~オープンソース全文検索エンジン (Software Design plus)
[改訂新版] Apache Solr入門 ~オープンソース全文検索エンジン (Software Design plus) (JUGEMレビュー »)
大谷 純,阿部 慎一朗,大須賀 稔,北野 太郎,鈴木 教嗣,平賀 一昭
Solr 4系に対応した改訂版を出しました!興味ある方はぜひ。
RECOMMEND
Apache Solr入門 ―オープンソース全文検索エンジン
Apache Solr入門 ―オープンソース全文検索エンジン (JUGEMレビュー »)
関口 宏司,三部 靖夫,武田 光平,中野 猛,大谷 純
RECOMMEND
RECENT COMMENT
  • ポモドーロ回してます。(ポモドーロテクニック入門読みました)
    おーたに (05/07)
  • Lucene 4.3.0のChangesにあるChanges in backwards compatibility policyが気になったので訳してみた。
    おーたに (04/26)
  • メインMBAをMountain Lionにアップデート(いろいろ確認中)
    おーたに (09/04)
  • メインMBAをMountain Lionにアップデート(いろいろ確認中)
    m_nori (09/03)
  • メインMBAをMountain Lionにアップデート(いろいろ確認中)
    おーたに (09/03)
  • メインMBAをMountain Lionにアップデート(いろいろ確認中)
    ho4kawa (09/03)
  • メインMBAをMountain Lionにアップデート(いろいろ確認中)
    おーたに (09/03)
  • メインMBAをMountain Lionにアップデート(いろいろ確認中)
    まろか (09/03)
  • Lucene/Solr 3.6.0リリース / 「Apache Solr入門」のサンプルのKuromojiとlucene-gosen対応(1章)
    おーたに (08/07)
  • Lucene/Solr 3.6.0リリース / 「Apache Solr入門」のサンプルのKuromojiとlucene-gosen対応(1章)
    moco (08/07)
RECENT TRACKBACK
MOBILE
qrcode
OTHERS