大抵の場合は
rsync -avz user1@remote:/path/to/dir/ dir/
のようにしてざっくりコピーすることが多いんだけど、Web用ディレクトリなんかをもう少し真面目にコピーする。
rsync -avzn --exclude='wp-config.php' \
--exclude='.htaccess' \
--usermap=apache:www-data,user1:example.com \
--groupmap=apache:www-data,user1:psacln \
--rsh="ssh -p 2222" user1@old.example.com:~user1/htdocs/ \
~example.com/httpdocs/
CentOSのApacheからDebianのNginxへWordPressを丸ごとコピーする想定。apacheユーザーをwww-dataにマップして、FTPユーザーをバーチャルドメインユーザーにマップする。
n
オプションは DRY RUN。重要。
この後に出力を見てn
を外して実行する。
一度目はexclude
無しで実行して、二度目以降は手動編集したファイルを上書きしないようにexclude
を付ける。