sitecopyを使ったサイトの同期
ちょっと前にレンタルサーバのデータ消失事件などがありましたが…
自前でサーバを運用でもしていないかぎり、やはりそこは生命線(^_^;)
いざという時の為の備えはやはり必要だよね、と思うわけです。
そんな訳で、FTPなどでごっそりファイルを拾ってきて、ローカルにバックアップしておけば、後はTimeMachineが上手いことやってくれると思ったので、そんな感じで手順を考えてみることに( ´ ▽ ` )ノ
ここで、なんか良さそうなソフトウェアなどは見つからず…
やむなくsitecopyを使う事に( ´ ▽ ` )ノ
# 10年くらい前から存在を知っていた(というか使っていた)ので、大丈夫か?というくらいに枯れている事はわかっていたw
まずはインストール
MacPortを探してみたらあったので、それで簡単にインストールしてしまうことに( ´ ▽ ` )ノ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | $ sudo port install sitecopy ---> Computing dependencies for sitecopy ---> Dependencies to be installed: neon ---> Fetching archive for neon ---> Attempting to fetch neon-0.29.6_1.darwin_11.x86_64.tbz2 from http: //packages .macports.org /neon ---> Attempting to fetch neon-0.29.6_1.darwin_11.x86_64.tbz2.rmd160 from http: //packages .macports.org /neon ---> Installing neon @0.29.6_1 ---> Activating neon @0.29.6_1 ---> Cleaning neon ---> Fetching archive for sitecopy ---> Attempting to fetch sitecopy-0.16.6_1.darwin_11.x86_64.tbz2 from http: //packages .macports.org /sitecopy ---> Fetching distfiles for sitecopy ---> Attempting to fetch sitecopy-0.16.6. tar .gz from http: //distfiles .macports.org /sitecopy ---> Verifying checksum(s) for sitecopy ---> Extracting sitecopy ---> Applying patches to sitecopy ---> Configuring sitecopy ---> Building sitecopy ---> Staging sitecopy into destroot ---> Installing sitecopy @0.16.6_1 ---> Activating sitecopy @0.16.6_1 ---> Cleaning sitecopy ---> Updating database of binaries: 100.0% ---> Scanning binaries for linking errors: 100.0% ---> No broken files found. |
portが使える環境にあれば、難しい事は何もありません(^_^;)
必要な環境の準備
とりあえずまずは必要な物を用意するだけしておきましょう。
1 2 3 4 | $ mkdir ~/.sitecopy # DBディレクトリ作成 $ touch ~/.sitecopyrc # 設定ファイル作成 $ chmod 0700 ~/.sitecopy # 他のユーザから見えない様に $ chmod 0600 ~/.sitecopyrc # 同上 |
同期の為のデータベースなどを保持するディレクトリ(~/.sitecopy)と、設定ファイル(~/.sitecopyrc)を作成しておきます。
共に、読み取り可能属性にしておかないとsitecopyが動作してくれないので、先にこれだけ設定しておきます( ´ ▽ ` )ノ
設定ファイルの編集
ファイルが出来たら、その中身の編集です。
1 2 3 4 5 6 7 8 9 10 11 | $ vi ~/.sitecopyrc $ cat ~/.sitecopyrc site sixcore server ftp .example.org protocol ftp username user password pass remote ~/ local ~ /Backup/Sixcore url http: //www .ksworks.org/ permissions all |
面倒なのでviとかでやっちゃったのですが、viに使い慣れてない方は、普通にテキストエディタなどで編集することも出来るはず( ´ ▽ ` )ノ
設定内容については、適時ご自分の環境に合わせて server/username/password などの編集が必要になります。
いざ、ファイルのコピー__ \ノ’∀ン ヒャッホウ
設定関連が出来たら、後は実際にファイルを拾って来るのみです。
1 2 3 4 5 6 7 | $ mkdir ~ /Backup/Sixcore # 設定ファイルで local に設定したダウンロード先を指定 $ sitecopy -af # 先にファイル一覧を取得 (略) sitecopy: ファイルの一覧取得に成功しました。 $ sitecopy -as # 実際にファイルをダウンロード (略) sitecopy: ダウンロードに成功しました。 |
最初、sitecopy -as
の実行時に、ローカル側にディレクトリが無いので、作成途中で何度も失敗していました(^_^;)
なので、完全に成功するまで、何度もリトライw
※注意:もし間違えて「何も無いローカルのファイルで、リモートのファイルを上書き」などしてしまうと大変危険な事になるので、実行時のコマンドのパラメータについては注意してください。もし、サイトのデータ全部消えた…とかなってしまったも、当方では責任を負えませんorz
ついでに自動化
ここまでやっておけば、後はcronなどで自動的に更新される様にしておけば、以後心配することはありません( ´ ▽ ` )ノ
自宅に居るときだけスクリプトを動作させる - ksworks.org
さて、先日sitecopyで同期する方法を実装した訳ですが…自宅に居るときだけ同期するようにしてみました。
[2012-07-15追記] cronの登録方法は別記事にしましたので、そちらのリンクに差し替えます
よし、これでちょっと懸念事項がまた一つ減った( ´ ▽ ` )ノ
- スポンサードリンク -