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)に変更されている。
\第一線のプログラマーの行動原理を学べる!/
