いつの間にか 12月ということで、部屋の掃除もせずにデータのお掃除を(笑)。
ちょっと放っておくと HDD はなんだかよく分からないファイルであふれるものですが、こちらの整理とバックアップを少々。 今回はバックアップ用に Dropbox を使ってみました。
ぼくは普段使いの PC についてはほとんどデータを入れていなくて、いつ壊しても良いようになっています。 というか、OS 入れ替えをよくやる、というか入れ替えが好きなのでその準備が常にされているというのが真相です(笑)
というわけでそれ用に別にローカルサーバがたっていて、以下のデータが保管されています。
- 通常ファイル用 samba
- IMAP でつなげる Maildir
- ソースコードをコミットする Subversion
- そのプロジェクトの資料とかを管理する用に Redmine
ちゃんとまじめに上記に登録しておけば使っている PC はいつでもフォーマットできる状態という感じです。 メールとかはサーバ側でとっているのでそっとしておけばいいですが、ソースの Subversion 登録を最近サボっていたのでまずはここから。
サボライズ。(←懐かしい)
登録後のリポジトリをお見せしたいところですが、あぶない水着もあるのでちょっと控えておきましょう。 🙂
あとデータと言えば、ここコアサバ。 ブログのデータ。 こいつは rsync で持ってきています。
一応ローカルサーバは RAID1 になっていますが、バックアップという意味の断面はありませんのでどうしようか思案して、Dropbox に転送してみることにしました。
ワークステーションの PC に Dropbox を入れて、監視ディレクトリに各サーバからバックアップデータを rsync するシェルを作成。
[tegaki]とりゃ![/tegaki]
めでたく世界のどこかにバックアップされました。 これで札幌に何かあっても安心です(笑)
ローカルサーバ の Subversion、Redmine Postgres、Redmine File、コアサバの MySQL、アップロードファイルが対象になっています。
Dropbox は LAN 内にクライアントをみつけると、そちらに LAN Sync するのでさらに複数の HDD に複製がつくられます。 何か Dropbox 本来の使い方と違う気もしますが、良いことにしましょう。 🙂
いまはカレントしかやっていないですが、履歴をもたせてもいいかもですね。 バックアップタイミングはシェルを手動で起動した時点ということになります。 簡単な運用でバックアップとれるので気に入っています。
さて履歴といえば(全然バックアップと関係ないですが)、なにかプログラム書いたときに Redmine の Wiki にメモをちょっととっていたりするのですが、これがなかなか役に立ちます。 何かつくっても数ヶ月もすると忘れるので。。 心のバックアップ。。
というわけで、今後も活躍してもらおうと Redmine のバージョンアップも実施。 1系の正式版 1.0.1 を入れていましたが、先月末で 1.0.4 まで上がっているようです。
以下、アップデートメモ。 JRuby 化して Tomcat で動かしています。
cd /opt
# 新しいバージョンの tar.gz 落として展開
sudo wget http://rubyforge.org/frs/download.php/73457/redmine-1.0.4.tar.gz
sudo tar zxvf redmine-1.0.4.tar.gz
rm *.tar.gz
cd redmine-1.0.4
# 前のバージョンの config をコピー
sudo cp ../redmine-1.0.1/config/database.yml ./config/
# 秘密鍵作成(config/initializers/session_store.rb)
sudo jruby -S rake generate_session_store
# DB マイグレーション
sudo jruby -S rake db:migrate RAILS_ENV="production"
# warble の config 作成
sudo jruby -S warble config
# config を redmine 用に修正(一番したに追加)
sudo vi config/warble.rb
config.dirs = %w(app config lib log vendor tmp lang)
config.gems << "activerecord-jdbcpostgresql-adapter"
config.gem_dependencies = true
config.webxml.rails.env = 'production'
config.gems["rack"] = "1.0.1"
# war ファイル作成
sudo jruby -S warble
# tomcat 停止
sudo /etc/init.d/tomcat6 stop
# 今のバージョンの war を一応退避
sudo cp -p /home/apache/redmine/redmine.war /home/apache/redmine/redmine-1.0.1.war
# war を新バージョンに差し替え
sudo cp -p /opt/redmine-1.0.4/redmine-1.0.4.war /home/apache/redmine/redmine.war
# tomcat からアプリ削除
sudo rm -Rf /opt/tomcat6/webapps/redmine/
# tomcat 起動(自動デプロイ)
sudo /etc/init.d/tomcat6 start
# 静的ファイル格納ディレクトリにシンボリックリンク貼り直す
sudo ln -s /home/apache/redmine/files/ /opt/tomcat6/webapps/redmine/WEB-INF/files
でした。
Redmine、Subversion やレンサバ rsync についてもし興味があれば以下をみてみてください。 🙂
hiromasa.another :o)» Blog Archive » Redmine を Tomcat6 にデプロイ
なにか利点があるかって話ですが、1パッケージにして JavaVM で動作させておけば、OS にのっている Ruby 実行環境に依存しなくて済むのがいいところ。 gem のバージョン依存とか考えなくていいし、Servlet の実行環境さえあればどこにでも乗せられるのでなかなか便利かもしれません。
hiromasa.another :o)» Blog Archive » Subversion サーバ を CentOS 5.5 で。
Subversion サーバは昔も家にたてていたのですが、ローカルサーバを Atom 機にしてからまだインストールしていなかったので CentOS 5.5 上に改めて構築してみました。
hiromasa.another :o)» Blog Archive » WordPress のファイルバックアップ
WordPress のブログデータの構成要素は、MySQL のデータと画像などのサイトにアップロードファイルとなりますが、ここは後者のファイルのバックアップお話。 MySQL のバックアップについては以前かいた以下の記事が参考になるかもしれません。
今年の汚れ、今年のうちに。
rsync で Dropbox フォルダにぶち込むっていいですね。
僕は、冬休みの自由研究で Amazon S3 とか Dropbox に直接バックアップするプラグインをつくろうと思うちょります。
この辺を使えばできそう。
http://code.google.com/p/amazon-s3-php-class/
http://code.google.com/p/dropbox-php/
おお、それは良いです! 楽しみです。 🙂
逆パターンで Dropbox の shared に画像ファイルいれたら、サイトにでるってのも面白そうですね。
サビにはサビキラー(←ない