リモートサーバとローカル間のファイル同期

前提
参考
sshpass のインストール

自動で秘密鍵のパスワードを入力するために「sshpass」を使用する。

$ sudo yum install sshpass
パスフレーズファイルの作成

「sshpass」コマンドでパスフレーズを様々な方法で指定できる。

今回はコマンドに直接パスワードを入力しないように、パスフレーズが書かれたファイルを使用する。

$ vi ssh_pathphrase

=======
<パスフレーズ>
=======
ファイル同期

下記のコマンドでリモートサーバのファイルを同期(コピー)する。

下記の例では、リモートサーバ先を「src」ディレクトリ、ローカルサーバを「dest」ディレクトリとする。

$ sshpass -f <パスフレーズファイルのパス> -P "Enter passphrase for key" \
 rsync -av -e 'ssh -i <秘密鍵のパス>' <ユーザ>@<リモートホスト>:~/src/ ~/dest