web-dev-qa-db-ja.com

Linuxホストからfat32へのrsync

linuxベースのNAS(picutresなどの小さなファイル)をFAT32を使用して接続されたUSBディスクにバックアップするのが好きです。このためにrsyncを使用するのが好きです。

これはデフォルトでは正しく機能しないことを私は知っています。 rsyncはファイルを何度も同期します。私はこの質問と回答を見つけました: FATファイルシステムでrsyncを使用するにはどうすればよいですか?

しかし、_--modify-window=1_および_--size-only_オプションを使用しても、すべてのファイルが再度処理されます。ログは次のようになります。rsyncは、fat32に権限/所有権を設定しようとしますが、失敗します。 rsync: chown "<filename>" failed: Operation not permitted (1)

質問は:「chown」コマンドを無効にする方法はありますか?

//編集:

現在、次のコマンドを使用しています:_rsync -a --modify-window=1 --size-only /data/ /mnt/backup/. &_

7
The Bndr

所有者/グループを同期するためのオプションを使用しないでください。 --archive/-aオプションを使用している場合、これにはこれら2つが含まれるため、代わりにフラグを個別に指定し、それらを省略します。 --archiveが意味するもののリストについては、manページを確認してください。

7
David Spillett

私は長い間、rsyncがすべてのファイルを毎回コピーしないようにする方法を見つけようとしてきましたが、成功しませんでした。しかし、私はちょうど答えに出くわしました。これはFAT32の短いファイル名の問題です。どうやら、デフォルトでは、Linuxはそれらをすべて小文字に変換します。これは、ソースと宛先で同じファイルであることを確認するrsyncの機能を台無しにします。

解決策は、「shortname = mixed」オプションを使用してFAT32デバイスをマウントすることです。 utf8文字セットも使用する必要があると思います。 'iocharset = utf8'。次に、paramsを指定してrsyncを実行します。-rtv--modify-window= 1

Debian with Trinityでは、デスクトップのFAT32パーティションのアイコンである[プロパティ]/[マウント]を右クリックし、[短い名前]を[混合]に設定して、UTF-8文字セットがオンになっていることを確認できます。うまくいけば、それらをすべてのFAT32パーティションのデフォルトにする方法がありますが、私はまだそれを探していません。

2
backwoodsman