rsync -a

rsync -a-rlptgoDオプションの省略形で、短く指定できる。
-aは以下を保存して同期する。

  • owner(所有者)
  • group(グループ)
  • パーミッション
  • タイムスタンプ

短く指定できて便利だが、-aを指定しつつ、owner(所有者)とgroup(グループ)は実行ユーザーにしたい場合がある。

–no-o –no-g オプション

-aオプションを指定している場合でもowner(所有者)とgroup(グループ)の同期を無効にするには、--no-o--no-gオプションを使用する。

rsync -avz --no-o --no-g source/ dest/

--no-o --no-gオプションを使うと、ファイルのownerとgroupが実行ユーザーになる。

具体例

通常の rsync -a の場合

以下のコマンドをuserユーザーで実行する場合:

$ ls -la source/
-rw-r--r-- 1 other   admin  100 Jun 15 23:20 file.txt

$ rsync -avz source/ dest/

$ ls -la dest/
-rw-r--r-- 1 other   admin  100 Jun 15 23:20 file.txt

ファイルのownerとgroupは元のファイルを引き継いでいる。

–no-o –no-g を使用した場合

$ rsync -avz --no-o --no-g source/ dest/

$ ls -la dest/
-rw-r--r-- 1 user   staff  100 Jun 15 23:20 file.txt

ファイルのownerとgroupが実行ユーザー(user)とそのプライマリグループ(staff)に変更されている。