Blog鯖のバックアップ

気が向いたときにしかバックアップしていない。
でも rsync で、パソを起動した後に、勝手にBLOG鯖の中身をパソにバックアップしてくれたら楽そうだ。
/etc とか /var/www /root  あたりかな
/var/log/* も日付でファイルをローテートすれば、履歴が残せそうな気もするが・・・
Blog鯖  rsync  最小限インストールでインスト済。
でも、バックアップファイルを作ってるとSSDの痛みが激しくなりそうなので
リアルタイムミラーリングツール導入(lsyncd+rsyncd)
を見ながらインストしてみる。
今は lsyncd-2.1.4.tar.gz が最新らしい。
# ./configure && make && make install
・・・
checking for a2x… no
configure: error: Program ‘a2x’ (package asciidoc) is required
そうなのか・・・
# yum – y  install   asciidoc
次!
# ./configure && make && make install
・・・
checking whether Lua library was compiled with compat support… no
configure: error: Lua library needs to be compiled with compat support
しかし、
# yum install lua-devel
・・・
Package lua-devel-5.1.4-4.1.el6.x86_64 already installed and latest version
あれ?入っているのか?
# yum  install   lua
・・・
Package lua-5.1.4-4.1.el6.x86_64 already installed and latest version
設定がおかしいらしい。
# export LUA_CFLAGS=’-I/usr/include -lm -ldl’
は、
# ls -l  /usr/include/lua*
-rw-r–r– 1 root root 11688 8月 19 15:15 2010 /usr/include/lua.h
-rw-r–r– 1 root root 191 8月 19 15:15 2010 /usr/include/lua.hpp
-rw-r–r– 1 root root 22128 8月 19 15:15 2010 /usr/include/luaconf.h
-rw-r–r– 1 root root 1026 8月 19 15:15 2010 /usr/include/lualib.h
ふむ
export LUA_LIBS=’/usr/lib/liblua.a’
ls -l /usr/lib/liblua*
ls: cannot access /usr/lib/liblua*: そのようなファイルやディレクトリはありません
これらしい。
# find / -name liblua.a -print
/usr/lib64/liblua.a
x86_64入れたからな、仕方がない。
# export LUA_LIBS=’/usr/lib64/liblua.a’
# ./configure && make && make install
・・・
make[1]: ディレクトリ `/root/lsyncd-2.1.4′ から出ます
インスト完了。
あ、yumでできたんじゃないのかな?
# yum list  lsyncd
Available Packages
lsyncd.x86_64 2.1.4-1.el6.rf rpmforge
あるじゃないか
# grep uninstall: Makefile
uninstall: uninstall-am
# make  uninstall
( cd ‘/usr/local/bin’ && rm -f lsyncd )
( cd ‘/usr/local/share/doc/lsyncd/’ && rm -f lbash.lua lecho.lua lgforce.lua limagemagic.lua lpostcmd.lua lrsync.lua lrsyncssh.lua )
( cd ‘/usr/local/share/man/man1’ && rm -f lsyncd.1 )
手で打てってことらしい。
# cd ‘/usr/local/bin’ && rm -f lsyncd
cd ‘/usr/local/share/doc/lsyncd/’ && rm -f lbash.lua lecho.lua lgforce.lua limagemagic.lua lpostcmd.lua lrsync.lua lrsyncssh.lua
cd ‘/usr/local/share/man/man1’ && rm -f lsyncd.1
ちゃんとuninstallできたかな?
# /etc/rc.d/init.d/lsyncd start
-bash: /etc/rc.d/init.d/lsyncd: そのようなファイルやディレクトリはありません
多分OK。
# yum install  lsyncd
Running Transaction
Installing : lsyncd-2.1.4-1.el6.rf.x86_64 1/1
Verifying : lsyncd-2.1.4-1.el6.rf.x86_64 1/1
Installed:
lsyncd.x86_64 0:2.1.4-1.el6.rf
lsyncd-2.1.4.tar.gz が無駄になったがこれでいいのだろう。

# rm -rf lsyncd*

最初から、yum install  lsyncd でやっておけば、何も苦労は無かったに違いない。
/etc/rc.d/init.d/lsyncd start
/etc/rc.d/init.d/lsyncd: line 23: /etc/sysconfig/lsyncd: 許可がありません
lsyncd を起動中: Warn: settings = { … } is deprecated.
please use settings{ … } (without the equal sign)
Error: error preparing /etc/lsyncd.conf: Parameter “rsyncOps” unknown. (if this is not a typo add it to checkgauge)
謎のメッセージだが、
# chmod +x /etc/sysconfig/lsyncd
vi /etc/lsyncd.conf
で、rsyncOpsの行を削除したら動き出した。
とファイルをアップすると、
lsyncd を起動中: Warn: settings = { … } is deprecated.
please use settings{ … } (without the equal sign)
settings = { の = が無駄らしい。
なんか特殊なバージョンなようだ。
マニュアルも読んでみる。ここで気が付く、2.0.x と 2.1.x でマニュアルが違っている。
さっきのconfの書き方は2.0.x用
な訳で、まだ rpmforge のはイマイチなので、またDLしてソースから・・・
適当に設定しいざ動かしてみる。
パソ側のDeltaCopy は rsyncのssh未対応。サードパティのSSH入れてくれと書いてある。
それは何故か?WindowsでSSHサーバーを立てるのが難しいからだ。
同様にcwRsync Serverも失敗。それに、こっちはサービス登録時のインストーラでアカウントを登録しないといけないから、パスワードを変えるのが面倒だ。
で、Windows7のHyper-Vでもう一台CentOS6.4を作ってみる。
バックアップ先にもrsync,sshなどが一式必要なので、不足分を見つけて追加するのは結構面倒。
# yum -y groupinstall “Base” “Development tools”
でドット入れた方がマシ。
あと公開暗号キーの転送ディレクトリィ(/root/.ssh)は手で作らないといけないようだ。
# mkdir /root/.ssh
その後、scpで転送。
/var/www以下は2.8Gバイトあったけど、
*** 10 23:09:13 ** Normal: recursive startup rsync: /var/www/ -> *.*.*.*:/var/www/
*** 10 23:22:16 ** Normal: Startup of “/var/www/” finished: 0
約15分ほどでバックアップ終了。
TOPで見る限るCPU 75%idだったりするので、もっと早くできるのかもしれないが、バックアップ中はBlogが重いのは本末転送。
※実際、バックアップ中に記事を書くとなんか重い気がする。
 
画像をアップしたり消したりすると、
Wed Apr 10 23:25:39 2013 Normal: Rsyncing list
/blogHtml/wp-content/uploads/2013/04/ASUS-EPU.bmp
Wed Apr 10 23:25:40 2013 Normal: Finished (list): 0
Wed Apr 10 23:26:24 2013 Normal: Deleting list
/var/www//blogHtml/wp-content/uploads/2013/04/ASUS-EPU.bmp
Wed Apr 10 23:26:25 2013 Normal: Finished (list): 0
と、追従してくるので非常にありがたい。
WordPressのDBバックアップ機能で自動バックアップができればそれも一緒に転送してくれる。
どうやら、rpmforgeのlsyncd 2.1.xのパッケージングは今一の様だけど、
ソースならちゃんと使えます。(笑
 
後で気が付いたけど、転送先の/etc/rsync.confの設定は必要ではなかった。

/etc/lsyncd.confの設定は・・・

settings {

statusFile = “/var/log/lsyncd.stat”,

statusInterval = 1,

logfile = “/var/log/lsyncd.log”,

}

sync{

default.rsyncssh,

source=”/var/www/”,

host=”*.*.*.*”,

targetdir=”/backup/var/www/”,

}

sync{

default.rsyncssh,

source=”/etc/”,

host=”*.*.*.*”,

targetdir=”/backup/etc”,

}

な感じにしてみた。
手元が狂うと転送先を簡単に破壊できそうです。(恐
また、この設定の仕方では、lsyncdを常時起動する必要もなかった。
lsyncd  をstop⇒startの間の変更も反映していた。
だがTeraTermから操作していたせいかもしれない。
記事を書いている間に画像をUPした場合は気が付かなかった。
回線がつながらないとか、転送先のディレクトリが存在しないとか、な理由で凹んで寝てしまう。
とか、特徴がありますね。




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA