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/. &
_
所有者/グループを同期するためのオプションを使用しないでください。 --archive
/-a
オプションを使用している場合、これにはこれら2つが含まれるため、代わりにフラグを個別に指定し、それらを省略します。 --archive
が意味するもののリストについては、manページを確認してください。
私は長い間、rsyncがすべてのファイルを毎回コピーしないようにする方法を見つけようとしてきましたが、成功しませんでした。しかし、私はちょうど答えに出くわしました。これはFAT32の短いファイル名の問題です。どうやら、デフォルトでは、Linuxはそれらをすべて小文字に変換します。これは、ソースと宛先で同じファイルであることを確認するrsyncの機能を台無しにします。
解決策は、「shortname = mixed」オプションを使用してFAT32デバイスをマウントすることです。 utf8文字セットも使用する必要があると思います。 'iocharset = utf8'。次に、paramsを指定してrsyncを実行します。-rtv--modify-window= 1
Debian with Trinityでは、デスクトップのFAT32パーティションのアイコンである[プロパティ]/[マウント]を右クリックし、[短い名前]を[混合]に設定して、UTF-8文字セットがオンになっていることを確認できます。うまくいけば、それらをすべてのFAT32パーティションのデフォルトにする方法がありますが、私はまだそれを探していません。