読者です 読者をやめる 読者になる 読者になる

rsyncでファイル指定して転送する方法(--files-fromオプション)

やりたかったこと

ステージング環境から本番環境へのリリース作業などで修正したファイルを転送したかった。
基本的にはステージング環境と本番環境は最新にしておきたいので全て転送してしまうのが理想。

# ステージング環境から本番環境へ転送(tmp,logディレクトリは除く)
rsync -avc --exclude-from=exclude.txt ~/www -e ssh user@example.com:~/www

exclude.txt

tmp/
log/

こんな感じでokなんですけど、今回の環境ではステージング環境と本番環境の差分がけっこうあったためこの手が使えませんでした、、、

ファイルを指定して転送

なので修正したファイルだけ一括で転送する方法が、、、
「--files-from」というオプションがありました

# ステージング環境から本番環境へ指定したファイルだけ転送
rsync -avc --files-from=files.txt ~/www -e ssh user@example.com:~/www

files.txt

src/file1.php
src/file2.php
src/file3.php

こんな感じでいけました。便利です
以上です