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

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

前提
  • リモートサーバに接続する方法が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
コメントを入力:
 
  • Linux/リモートサーバとローカル間のファイル同期.txt
  • 最終更新: 2023/01/15 21:17
  • by 白くじら