MS Windows版のHugoで作成した静的ウェブサイト1Cygwin版のrsyncでUnix2なリモート・サーバにdeployする際にファイルやディレクトリのパーミッションを整える.

前提は以下の通り.

  • リモート・サーバにrsyncがインストールされている
  • リモート・サーバにsshでログインできる

以下の例は,

  • ローカル・マシン(Windows)のpublic/ディレクトリ以下をexample.comという名前のリモート・サーバ(Unix)のユーザfooがアクセス可能なディレクトリ/home/foo/public_htmlにミラーする
  • sshのポートは1313
  • ミラー先のファイルのパーミッションを644, ディレクトリのパーミッションを755に整える

後は,ローカル・マシンのCygwin terminalで以下のコマンドを実行する.

rsync -avz --delete --chmod=F644,D755 -e "ssh -p1313" public/ foo@example.com:/home/foo/public_html

  1. デフォルトではpublic/ディレクトリに作成される. ↩︎

  2. 実際はFreeBSD. ↩︎