よく使う rsync コマンドのオプション -av について
皆さんが利用される際に同じオプションを指定するかはわからないですが、 自分がいつも rsync するときには以下のコマンドを指定しています。
rsync -av <送り元> <送り先>
この rsync についている -v は verbose のことだからわかるとして、-a というのは何でしょう? マニュアルによると以下のようです。
-a は archive モードであり、 -rlptgoD に等しい。ただし -A と -H は除く。
それではこれらのオプションを詳しく見てみます。 因みに、結論から言うと できるだけそのままコピーする という感じです。
-a で指定されるオプション¶
-a で設定されるのは以下のオプション。
オプション | 説明 |
---|---|
-r, --recursive | ディレクトリを再帰的に処理する |
-l, --links | symlinksをそのままsymlinkとして処理する |
-p, --perms | パーミッションを保持する |
-t, --times | 変更日時を保持する |
-g, --group | group情報を保持する |
-o, --owner | owner情報を保持する(super-user only) |
-D | --devices --specials を指定するのと同じ効果。 詳しくは以下参照 |
--devices | deviceファイルを保持する(super-user only) |
--specials | specialファイルを保持する |
一応 スペシャルファイル について注意書きしておくと、通常Linuxでは /dev/ 配下に格納されている ディスク用のファイルやコンソール(tty)のファイルを指します。 外部のデバイスとファイルシステムを介してやり取りをするファイルたちですね。
スペシャルファイルとデバイスファイルの違いを調べたのですが、 いまいち違いが判りませんでした。 rsync のソースを見れば判然とするかもしれないですが。
そもそも、デバイスファイルやスペシャルファイルを rsync でコピーする用途が 余りピンとこないですが...。
-a で除外されるオプション¶
因みにわざわざ除外されているよ、と但し書きのされている -A と -H は 以下の通り。
オプション | 説明 |
---|---|
-A, --acls | ACLを保持する (-pも指定した扱いになる) |
-H, --hard-links | ハードリンクを保持する |
上で -l によってsymlinkをコピーされているようでしたが、 ハードリンクはコピーしないよという感じですね。
一応 ACL について述べておくと、通常のLinuxのパーミッションより詳細な パーミッション設定を行いたい場合に利用される機能です。
圧縮も可能¶
今回改めて調べると、転送時に圧縮するオプションもあるようでした。 -z を指定することにより、転送時に圧縮したデータを転送してくれるようです。
あまり帯域を利用したくないときになどに使えますね。
コメント
コメントを投稿