サーバで公開するHTMLファイルなどは Subversionのようなバージョン管理ソフトを利用して管理すればよい(レポジトリだけバックアップすればよい)のだろうが、 ユーザによって書き込まれたりアップされたりするデータはバージョン管理に向いてないので 定期的にバックアップをとる方が楽そうである。 サーバ上のcronでバックアップスクリプトを動かすのが一般的なのかもしれないが、 サーバが死ぬと困ったことになるので、 自宅マシンにコピーをとっておくことにする。
方針は以下のとおり。
/Volumes/mnta/Backup/Makefile
。
/Volumes/mnta/Backup/hondana.org/
にデータをコピーする。
--delete
オプションを使い、
サーバで削除されたファイルがローカルマシンでも削除されるようにする。
(TimeMachineバックアップでは削除も含めて完全なバックアップが作成されるはずなので)
hondana: rsync -avz -e ssh --delete hondana.org:/home/masui hondana.org rsync -avz -e ssh --delete hondana.org:/www.hondana.org hondana.org
backup.hondana.plist
ファイルを
~/Library/LaunchAgents/
に作成する。
このファイルはlaunchdにより実行される。
普通にcron式に書いてもいいのだが、
このような形式のplistファイルを
Library/LaunchAgents
に記述するのがMacintosh流らしい。
この指定により、毎日4:00に
/Volumes/mnta/Backup
ディレクトリで
make hondana
が実行される。
launchdについては
白山氏の記事が詳しい。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>backup.hondana</string> <key>ProgramArguments</key> <array> <string>make</string> <string>hondana</string> </array> <key>StartCalendarInterval</key> <dict> <key>Hour</key> <integer>4</integer> <key>Minute</key> <integer>0</integer> </dict> <key>WorkingDirectory</key> <string>/Volumes/mnta/Backup</string> </dict> </plist>plistのXMLを書くのが面倒だが、 Lingonというソフトを使うとGUIで作ることができる。
/Volumes/mnta/Backup
を
Sierra
にバックアップする設定をする。