導入
このサイトのコンテンツは一度自宅サーバにアップロードして確認し、それからホスティング業者のサーバに転送しています。その際、両方ともクライアントマシンからアップロードしていたのですが、自動的に自宅サーバとホスティング業者でデータを同期させようと思いsitecopyを導入しました。以下設定メモ。
インストール
- cd /usr/ports/www/sitecopy
- make install
- make clean
設定
- mkdir -m 700 ~/.sitecopy
- touch ~/.sitecopyrc
- chmod 600 ~/.sitecopyrc
- 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 と入力し実行すれば更新されたファイルのみアップロードされます。