# rsync erzeugt Fehler auf USB-Stick

## wuesti

Moin Moin,

mit rsync synchronisiere ich die Daten auf meine USB-Stick. Er ist formatiert mit

```
mkfs.vfat -n USB-WUESTI /dev/sdf1

mkfs.fat 3.0.22 (2013-07-19)
```

.

Nun die Synchronisation

```
:rsync -avh ~/test/. /media/USB-WUESTI/test

sending incremental file list

created directory /media/USB-WUESTI/test

./

a/

a/fluxbox-gestartet.pid

a/gentoo-update.pid

a/programme-kai-gestartet.pid

a/programme-kai.pid

a/MozillaMailnews/

a/MozillaMailnews/NDR 2 - Stimmtsäöüß.msf

test a/

test a/fluxbox-gestartet.pid

test a/gentoo-update.pid

test a/programme-kai-gestartet.pid

test a/programme-kai.pid

test a/MozillaMailnews/

test a/MozillaMailnews/NDR 2 - Stimmts.msf

test/

test/fluxbox-gestartet.pid

test/gentoo-update.pid

test/programme-kai-gestartet.pid

test/programme-kai.pid

test/MozillaMailnews/

test/MozillaMailnews/NDR 2 - Stimmts?.msf

rsync: mkstemp "/media/USB-WUESTI/test/test/MozillaMailnews/.NDR 2 - Stimmts?.msf.g2Clz9" failed: Invalid argument (22)

sent 7.77K bytes  received 324 bytes  16.19K bytes/sec

total size is 6.45K  speedup is 0.80

rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1052) [sender=3.0.9]
```

Der Fehler wird durch das Fragezeichen im Namen erzeugt.

Nun werfe ich den USB-Stick aus, ziehe ihn ab und stecke ihn nach kurzer Zeit wieder rein.

```
dosfsck -a  /dev/sdf1

fsck.fat 3.0.22 (2013-07-19)

0x41: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt.

 Automatically removing dirty bit.

/FSCK0000.REC  and

/test/test a/MozillaMailnews/NDR 2 - Stimmt's.msf

  share clusters.

  Truncating second to 0 bytes.

/test/test a/MozillaMailnews/NDR 2 - Stimmt's.msf

  File size is 2146 bytes, cluster chain length is 0 bytes.

  Truncating file to 0 bytes.

Performing changes.

/dev/sdf1: 24 files, 14/1972217 clusters
```

Das passt schon mal nicht, stört aber nur am Rande. 

Nochmal rsync:

```
rsync -avh ~/test/. /media/USB-WUESTI/test

sending incremental file list

./

a/

a/fluxbox-gestartet.pid

a/programme-kai.pid

a/MozillaMailnews/

test a/

test a/fluxbox-gestartet.pid

test a/programme-kai.pid

test a/MozillaMailnews/

test a/MozillaMailnews/NDR 2 - Stimmt's.msf

test/

test/fluxbox-gestartet.pid

test/programme-kai.pid

test/MozillaMailnews/

test/MozillaMailnews/NDR 2 - Stimmts?.msf

rsync: mkstemp "/media/USB-WUESTI/test/test/MozillaMailnews/.NDR 2 - Stimmts?.msf.8uj6q1" failed: Invalid argument (22)

sent 5.34K bytes  received 212 bytes  11.11K bytes/sec

total size is 6.45K  speedup is 1.16

rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1052) [sender=3.0.9]
```

Das nun alle wieder Dateien übertragen werden, liegt an der vfat und ist recht normal.

Und dann dreimal dosfsck:

```
dosfsck -a  /dev/sdf1

fsck.fat 3.0.22 (2013-07-19)

Reclaimed 1 unused cluster (4096 bytes) in 1 chain.

Free cluster summary wrong (1972203 vs. really 1972202)

  Auto-correcting.

Performing changes.

/dev/sdf1: 25 files, 15/1972217 clusters

dosfsck -a  /dev/sdf1

fsck.fat 3.0.22 (2013-07-19)

/FSCK0001.REC  and

/test/test a/MozillaMailnews/NDR 2 - Stimmt's.msf

  share clusters.

  Truncating second to 0 bytes.

/test/test a/MozillaMailnews/NDR 2 - Stimmt's.msf

  File size is 2146 bytes, cluster chain length is 0 bytes.

  Truncating file to 0 bytes.

Performing changes.

/dev/sdf1: 25 files, 15/1972217 clusters

dosfsck -a  /dev/sdf1

fsck.fat 3.0.22 (2013-07-19)

/dev/sdf1: 25 files, 15/1972217 clusters
```

Dabei werden nun FSCK*.REC-Dateien erstellt:

```
 ls /media/USB-WUESTI 

FSCK0000.REC  FSCK0001.REC  test
```

Ein Dokumentverzeichnis enthält natürlich wesentlich mehr Dateien und damit mehr Fehler:

```
dosfsck -a  /dev/sdf1

fsck.fat 3.0.22 (2013-07-19)

/FSCK0001.REC  and

pfad/name.odt

  share clusters.

  Truncating second to 0 bytes.

pfad/name.odt

  File size is 2146 bytes, cluster chain length is 0 bytes.

  Truncating file to 0 bytes.

pfad/name.odt

  Contains a free cluster (3412). Assuming EOF.

pfad/name.odt

  File size is 9708 bytes, cluster chain length is 0 bytes.

  Truncating file to 0 bytes.

pfad/name.odt

  Contains a free cluster (41433). Assuming EOF.

pfad/name.odt

  File size is 18108 bytes, cluster chain length is 0 bytes.

  Truncating file to 0 bytes.

Reclaimed 5030 unused clusters (20602880 bytes) in 37 chains.

Free cluster summary wrong (1887468 vs. really 1882424)

  Auto-correcting.

Performing changes.

/dev/sdf1: 1611 files, 89793/1972217 clusters
```

Viele Dateien fehlen dann bei der Arbeit....

Kann jemand helfen?

----------

## Jean-Paul

Hi,

das dürfte an den Quotes im Namen liegen (bei ...Stimmt's ...).

Damit kommt anscheinend vfat nicht klar.

Hier gibts darüber ein Artikel

http://superuser.com/questions/239154/how-to-use-rsync-when-filenames-contain-double-quotes

Jean-Paul

----------

## kernelOfTruth

hab mich über den Quatsch von vfat + ntfs bzw. Windows auch schon geärgert

hilft eventuell Folgendes:

http://superuser.com/questions/590309/rsync-on-windows-non-ascii-file-names

?

----------

## wuesti

 *kernelOfTruth wrote:*   

> hab mich über den Quatsch von vfat + ntfs bzw. Windows auch schon geärgert
> 
> hilft eventuell Folgendes:
> 
> http://superuser.com/questions/590309/rsync-on-windows-non-ascii-file-names
> ...

 

Das macht die Sache noch schlimmer. Es gibt haufenweise Fehlermeldungen der Form: 

```
rsync: mkstemp "/media/USB-WUESTI/pfad/name.odt.5hTXI2" failed: Invalid argument (22)
```

Am besten geht es, wenn ich den USB-Stick einstecke, rsync ausführe und ihn sofort auswerfe. 

```
dosfsck -a  /dev/sdg1

fsck.fat 3.0.22 (2013-07-19)

/dev/sdg1: 1551 files, 89818/1972217 clusters
```

----------

## kernelOfTruth

hm, 

helfen

--inplace

oder

--whole-file (is nur als ultima ratio, da ja dann der Geschwindigkeitsvorteil durch den Delta-Algorithmus zunichte gemacht werden)

?

alternativ mach ich es bei einer kleinen Dateimenge immer so, dass ich manuell alles in ein Archiv packe (z.B. .zip) und auf den USB-Stick kopiere

das ganze müsste auch zu automatisieren sein ...

----------

