リモートとローカル間で、ディレクトリやファイルをコピーする際、rsyncコマンドを用います。
因みに、コピーには、cpコマンドがありますが、リモートとローカルでのコピーは出来ません。
本記事では、ディレクトリやファイルのバックアップ、同期するコマンドであるrsyncコマンドについて紹介します。
リンク
手法
rsync user@162.198.1.1:コピー元のPATH コピー先のPATH
ここで、userは、リモート先のユーザー名で、@マークの後にIPアドレスやホスト名を入れます。
その後、:に続いて、コピー元のPATH、スペースを入れて、コピー先のPATHを入れます。
rsyncコマンドには、オプションがあります。
ここでは、おススメのオプションを紹介します。
- a・・・なるべくコピー元のファイルと同一条件でコピーする(アーカイブ)
- v・・・進行状況を出力する
具体例
ローカルの/var/www/html下にリモートの/mnt/dataを同期したいと思います。
ここで、リモートのユーザー名は、tanaka、IPアドレスは、192.168.1.1とします。
この場合、
rsync -av tanaka@192.168.1.1:/mnt/data /var/www/html
となります。
ポート番号が異なる場合の手法
通常、リモートサーバーにアクセスする場合、ポート番号が22ですが、
リモートサーバーのセキュリティ強化のため、ポート番号が変更されている場合があります。
この場合、ポート番号を明示してrsyncコマンドを実行します。
明示するには、sshコマンドをオプションに追加します。
追加するには、-eとして、sshコマンドをシングルクォーテーションで囲みましょう。
以下は、ポート番号を5555に設定している例です。
rsync -av -e 'ssh -p 5555' tanaka@192.168.1.1:/mnt/data /var/www/html
こうすることでローカル、リモート間で同期することが可能になりました。