リモート マシンへの SSH アクセス (SSH キー ペアを使用) があります。リモート マシン上のディレクトリを、指定されたローカル ディレクトリとまったく同じに維持したい (一方向同期)。ファイルの同一性のチェックは、バイナリ ファイルの内容のハッシュ (サイズや日付ではない) に基づいて実行する必要があります。
- それを実行するための正しい rsync コマンドは何ですか (rsync サービスではありません)?
- ファイルの権限はどのように処理されますか?
- ファイルの変更日はどのように処理されますか?
- rsync は失敗に対してどのように反応し、終了コードは何ですか?
答え1
Rsync は、日付やファイル サイズではなく、ファイルの内容をチェックします。内容が異なっていても、パスと名前が同じである場合、ファイルは上書きされます。
rsync の構文はrsync options source destination
次のようになります。リモート ディレクトリをローカル ディレクトリと同期させたい場合は、次のようにします。
rsync -azh local_folder user@remote_server:/path/to/destination/
転送プロトコルとして SSH を使用する場合は、これが有効です:
rsync -azhe ssh local_folder user@remote_server:/path/to/destination
ファイルの権限はどのように処理されますか? ファイルの変更日付はどのように処理されますか?
このa
パラメータは、シンボリックリンク、ファイル権限、タイムスタンプなどを保存します。この情報を転送したくない場合は、コマンドから除外するだけで、SSH セッションにログインしたユーザーが所有することになります。
rsync は失敗に対してどのように反応し、終了コードは何ですか?
ほとんどのコマンド/プログラムは、成功した場合は 0 を返し、エラーの場合は他の数値を返します。rsync終了コードのリストはこちら参考のため