sitecopyを使ったサイトの同期
ちょっと前にレンタルサーバのデータ消失事件などがありましたが…
自前でサーバを運用でもしていないかぎり、やはりそこは生命線(^_^;)
いざという時の為の備えはやはり必要だよね、と思うわけです。
そんな訳で、FTPなどでごっそりファイルを拾ってきて、ローカルにバックアップしておけば、後はTimeMachineが上手いことやってくれると思ったので、そんな感じで手順を考えてみることに( ´ ▽ ` )ノ
ここで、なんか良さそうなソフトウェアなどは見つからず…
やむなくsitecopyを使う事に( ´ ▽ ` )ノ
# 10年くらい前から存在を知っていた(というか使っていた)ので、大丈夫か?というくらいに枯れている事はわかっていたw
まずはインストール
MacPortを探してみたらあったので、それで簡単にインストールしてしまうことに( ´ ▽ ` )ノ
$ 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が使える環境にあれば、難しい事は何もありません(^_^;)
必要な環境の準備
とりあえずまずは必要な物を用意するだけしておきましょう。
$ mkdir ~/.sitecopy # DBディレクトリ作成 $ touch ~/.sitecopyrc # 設定ファイル作成 $ chmod 0700 ~/.sitecopy # 他のユーザから見えない様に $ chmod 0600 ~/.sitecopyrc # 同上
同期の為のデータベースなどを保持するディレクトリ(~/.sitecopy)と、設定ファイル(~/.sitecopyrc)を作成しておきます。
共に、読み取り可能属性にしておかないとsitecopyが動作してくれないので、先にこれだけ設定しておきます( ´ ▽ ` )ノ
設定ファイルの編集
ファイルが出来たら、その中身の編集です。
$ 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 などの編集が必要になります。
いざ、ファイルのコピー__ \ノ’∀ン ヒャッホウ
設定関連が出来たら、後は実際にファイルを拾って来るのみです。
$ mkdir ~/Backup/Sixcore # 設定ファイルで local に設定したダウンロード先を指定 $ sitecopy -af # 先にファイル一覧を取得 (略) sitecopy: ファイルの一覧取得に成功しました。 $ sitecopy -as # 実際にファイルをダウンロード (略) sitecopy: ダウンロードに成功しました。
最初、sitecopy -as
の実行時に、ローカル側にディレクトリが無いので、作成途中で何度も失敗していました(^_^;)
なので、完全に成功するまで、何度もリトライw
※注意:もし間違えて「何も無いローカルのファイルで、リモートのファイルを上書き」などしてしまうと大変危険な事になるので、実行時のコマンドのパラメータについては注意してください。もし、サイトのデータ全部消えた…とかなってしまったも、当方では責任を負えませんorz
ついでに自動化
ここまでやっておけば、後はcronなどで自動的に更新される様にしておけば、以後心配することはありません( ´ ▽ ` )ノ
自宅に居るときだけスクリプトを動作させる - ksworks.org
さて、先日sitecopyで同期する方法を実装した訳ですが…自宅に居るときだけ同期するようにしてみました。
[2012-07-15追記] cronの登録方法は別記事にしましたので、そちらのリンクに差し替えます
よし、これでちょっと懸念事項がまた一つ減った( ´ ▽ ` )ノ
- スポンサードリンク -