Oct 27, 2005

バックアップの自動化スクリプトをつくる

とりあえず、バックアップの自動化はめんどうなところから始めて成功した(と思う^^)。
rsyncではもちろん、root権限ではアクセスできないようにする。
とすると、www-dataがオーナーでありグループのファイルは、バックアップする前にshimirinのオーナー、グループにしてコピーし、バックアップが終わったら、また元のwww-dataに戻す必要がある。
このオーナー、グループの変更はrootの仕事だ。
つまり、この部分は、一日の一定時刻に実行するようにcronに登録するときに、rootで登録しなければならない。考えてみると、ディトリビューションが同じでも、別のユーザが他のユーザのファイル属性を変えられないので、この作業は必須のようだ。
というわけで、この2つの作業をサンドイッチのパンのようにして、バックアップをrsyncで行うことにした。
またデータベースにつながったページもある。これは、mysqlだのpostgresqlだのがオーナー、グループなので逆にその点は心配りすることはない。
しかし、
$mysqldump -A -uroot -p(パスワード。pにくっつけて)--opt -r(適当なファイル名。rにくっつけて)
をサーバ側で行い、これをrsyncでクライアント側が取得して、リストアしなければならない。
$mysql -uroot -p(パスワード。pにくっつけて)<(上の適当なファイル名)
このファイルの取得は、上のバックアップをするときのシェルスクリプトにいれればいいので、cronの作業としてはユーザとしてサンドイッチの上のパンをサーバ側で作り、下のパンをクライアント側で作る。
動的なファイルを作らないユーザのweb公開ディレクトリはしごく簡単だ。ただ、一定時刻にrsyncを使い、更新されたり、新たにアップロードされたファイルを取得するだけでいい。
rsyncのいいところは、もうあとは気にしないでいい(^^)ということだ。
みんなやってくれる!

Edit this entry...

wikieditish message: Ready to edit this entry.

If you want to upload the jpeg file:


Rename file_name:

Add comment(Comment is NOT appear on this page):
















A quick preview will be rendered here when you click "Preview" button.