sitecopyで楽々サイト更新

導入

このサイトのコンテンツは一度自宅サーバにアップロードして確認し、それからホスティング業者のサーバに転送しています。その際、両方ともクライアントマシンからアップロードしていたのですが、自動的に自宅サーバとホスティング業者でデータを同期させようと思いsitecopyを導入しました。以下設定メモ。

インストール

  1. cd /usr/ports/www/sitecopy
  2. make install
  3. make clean

設定

  1. mkdir -m 700 ~/.sitecopy
  2. touch ~/.sitecopyrc
  3. chmod 600 ~/.sitecopyrc
  4. vi ~/.sitecopyrc

設定ファイル ~./sitecopyrc

#サイト名
site example
#サーバ名
server ftp.example.com
#ユーザー名
username hogehoge
#パスワード
password pass
#サーバ上のパス
remote ~/public_html/
#ローカルのパス
local /home/hogehoge/public_html/
#URL
url http://www.example.com/
#プロトコル
protocol ftp
#passiveモードを使用しない場合は下のコメントを外す。
#ftp nopasv
#ファイルの変更をチェックサムを使って確認する
state checksum
#パーミッションをローカルと同じにする
permissions all
#ローカルでファイルの移動があった場合、サーバのファイルも移動する
checkmoved
#~/public_html/directory/以下をアップロードしない。(実際に使うときはコメントを外す)
#exclude /directory
#bkpという拡張子を持つファイルをアップロードしない。(実際に使うときはコメントを外す)
#exclude *.bkp

初めての実行

ローカルとサーバの間で既に同期が取れている場合
sitecopy -c example
サーバにはまだ何も転送していない状態で、サーバにデータをアップロードし同期を取る場合
sitecopy -i example
別のホストなどローカルにファイルがない環境で、サーバからデータをダウンロードし同期を取る場合
sitecopy -f example ; sitecopy -s example

上記のコマンドの内、exampleは.sitecopyrcに書いたサイト名を入力します。

サーバとの同期

sitecopy -u example と入力し実行すれば更新されたファイルのみアップロードされます。