rsyncを用いてファイルのバックアップを行なっている方は多いと思います。
差分のみを見てくれるので1分掛からずにバックアップが終了することがしばしばです。
この間、ServersMan@Diskというオンラインストレージサービス(webdav)をVPS上にマウントできる(smdiskというDTIが配布するバイナリがあれば、Linux環境からであれば何処からでもマウントできる)こととなり、VPSサーバ上にマウントしバックアップ用の領域としようとしたのですが、webdavで提供されているストレージスペースなので権限や所有者などの設定が出来ずに「rsync -a」を用いるとエラーというか警告が沢山表示されました。
そこで
オプション「a」ってなんて意味なんだろう
改めて確認してみようとなったわけで、ここにrsyncのオプション「a」を語ってみます。
基本的にコマンドのオプションの意味を調べるには素直に「man」コマンドに頼りましょう。
するとマニュアルが表示されます。英語です。
この方法を用いて確認した内容をもとに説明させていただきます。
オプション「a」の意味
オプション「a」は以下の動作を行ないます。
しかし、受け取り側のプログラムがroot権限で実行されていない場合には所有者やグループの保存は完全には出来ません。
- ディレクトリを再帰的にコピ
- シンボリックリンクをシンボリックリンクとしてコピー
- コピー元ファイルのパーミッションを保持
- コピー元ファイルの変更時刻を保持
- コピー元ファイルのグループを保持
- コピー元ファイルの所有者を保持
- デバイスファイル、特殊ファイルもコピー
各オプションの詳細は以下をご覧下さい。
オプション「a」の意味
「a」は「archive」の頭文字だそうな。
オプション「a」は、オプション「rlptgoD」を使用するのと同じ意味。
ちなみにオプション「H,A,X」はオプション「a」の機能には含まれない。
オプション「r」の意味
「r」は「recursive」の頭文字だそうな。
このオプションはディレクトリ内部を再帰的にコピーします。
オプション「l」の意味
「l」は「links」の頭文字だそうな。
シンボリックリンクをシンボリックリンクとしてコピーします。
オプション「p」の意味
「p」は「perms」の頭文字だそうな。
コピーされるファイルのパーミッションを保持します。
オプション「t」の意味
「t」は「times」の頭文字だそうな。
コピーされるファイルの変更時刻をそのままコピーします。
オプション「g」の意味
「g」は「group」の頭文字だそうな。
このオプションは、コピー元ファイルのグループをそのままそっくりコピーします。もし移動先でファイルを受け取るプログラムがroot権限で実行されていない(または –no-superオプションが指定されている)場合、移動先のプログラムを起動しているユーザのグループとなります。オプション「g」を使わない場合、移動先のプログラムを起動しているユーザのグループとなります。グループ名の合致はGIDで行なわず、まずはグループ名で行なうのがディフォルトです。
オプション「o」の意味
「o」は「owner」の頭文字だそうな。
このオプションは、コピー元ファイルの所有者をそのままそっくりコピーします。これは、ファイルを受け取る側のプログラムがroot権限で実行されている場合に限ります。オプション「g」を使わない場 合、移動先のプログラムを起動しているユーザの所有となります。所有者の合致はUIDで行なわず、まずは所有者名で行なうのがディフォルト です。
オプション「D」の意味
「d」は「devices」と「specials」のオプションをあわせたものとのこと。
オプション「–devices」と「–specials」の意味
オプション「–devices」は、名前の通りデバイスファイルのコピーを行ないますが、root権限で実行している場合に限ります。
オプション「–specials」は、名前付きパイプや FIFO などの特殊ファイルをコピーします。
以上
コメント