リモートサーバとローカル間のファイル同期
前提
- リモートサーバに接続する方法がSSH公開鍵認証であること
- ローカルサーバに秘密鍵が「600」の権限で保持していること
参考
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
コメント