オープンソース
MondoRescueによるバックアップとリカバリ(CentOS5.1)
- 2008年2 月14日(木)
- オープンソース
こんにちは。
最後の九州男児の血を受け継いだマメ太です。
今回、とある案件にてサーバーのバックアップとリカバリを検討する機会がありました。
その際に見つけた「MondoRescue」というツールについての内容を備忘録がてら残しておきます。
前提条件・要望
- バックアップ対象のサーバーはCentOS 5.1
- バックアップする領域を個別に検討したりバックアップしたりするのではなく、システム全体を一気にバックアップしたい!
- バックアップ用の記憶媒体としてCD-RW、DVD-RWなどの光学ドライブが利用可能。
というよりは、CD(or DVD)を利用してシステムのリカバリを行いたいので光学メディアにバックアップしたい! - ディスク領域のフォーマットとしてLVMも利用する。
MondoRescueについて
MondoRescue(以下、mondo)とはLinuxなどのシステムのバックアップ&リストア作業を効率的にサポートしてくれる優れものツールです。
似たようなツールとしては「Norton Gohst」「Acronis TrueImage」「PartitionImage」などがあります。
大まかに言うとmondoには
- オープンソース(GPLライセンス)である。
- バックアップ先としてCD、DVD、テープ、HDD、NFSサーバー、USBなどが選択可能。
- isoイメージのみの生成も可能。
- 生成したCD・DVDはブータブルなリカバリ用メディアとして生成。
- システム全体の復旧のみならず、リカバリ時にパーティションの切り直しやフォーマットが行え個別なリストアが可能であるため、部分的な復旧も可能。
などの特徴があります。
openCVとかRMagickで画像を加工してみた実験
お弁当を買いに行った時にすれ違ったお姉さんから凄くイイ香りがしていて、若干テンション高めのhiroseです。こんにちは。
最近、顔を識別するアプリが何かと話題になっています。
私も幾つか利用しているのですが、どれも操作も簡単でとても面白いものばかりですね。
複雑で特殊な処理を行う為には、商用のライブラリを用いる事もありますが、無料で提供されているopenCV使ってもある程度、面白い事ができます。
今回は、openCV、rubyを用いて簡単な画像処理の実験を行いたいと思います。
環境は、fedoraCore7で、openCV、ruby、objectdetect、RMagickがインストールされている環境を用います。
先ずは、顔画像の識別です。これで顔の座標を取得できます。
require ‘rubygems’
require ‘objectdetect’model = “/usr/share/opencv/haarcascades
/haarcascade_frontalface_alt2.xml”
image = “photo.jpg”# 取得できた領域の座標を出力する
puts ObjectDetect::detect(model, image)
haarcascade_frontalface_alt2.xml は顔画像を識別する為のパターンファイルです。
他にも上半身、下半身を識別するパターンファイルが用意されています。
顔画像領域は、これで取り出せるので、今度は画像を加工してみます。
#! /usr/bin/env ruby
require ‘rubygems’
require ‘RMagick’
require ‘objectdetect’model = “/usr/share/opencv/haarcascades
/haarcascade_frontalface_alt2.xml”
file = “model.jpg”faces = ObjectDetect::detect(model, file)
original = Magick::ImageList.new(file)
newImg = Magick::ImageList.new()faces.each do |position|
x, y, width, height = position
face = original.crop(x, y, width, height)
newImg << face
endnewImg.write(’output.jpg’)
↓な感じで加工できます。
![]() |
⇒ | ![]() |
更にポラロイド風にも加工できます。
#! /usr/bin/env ruby
require ‘rubygems’
require ‘RMagick’
require ‘objectdetect’model = “/usr/share/opencv/haarcascades
/haarcascade_frontalface_alt2.xml”
file = “model.jpg”faces = ObjectDetect::detect(model, file)
original = Magick::ImageList.new(file)
newImg = Magick::ImageList.new()faces.each do |position|
x, y, width, height = position
face = original.crop(x, y, width, height)
newImg << face
endnewImg.write(’output.jpg’)
clown = Magick::Image.read(”output.jpg”).first
cols, rows = clown.columns, clown.rowsclown[:caption] = “Mythos-labo”
clown = clown.polaroid { self.gravity = Magick::CenterGravity }clown.change_geometry!(”#{cols}x#{rows}”) do |ncols, nrows, img|
img.resize!(ncols, nrows)
endclown.write(’polaroid.png’)

チョー簡単ですね。簡単だけど、イロイロと楽しめそうです。
Home > オープンソース



