Datei wird nicht von tar gesichert
Hi Liste,
in meinem Homeverzeichnis liegt unter anderem auch eine Datei wie diese
hier:
ls -lh /home/meinbenutzeraccount/*.txt
-rw-r--r-- 1 meinbenutzeraccount meinbenutzeraccount 288 May 8 15:04
/home/meinbenutzeraccount/C:\nppdf32Log\debuglog.txt
Dieser Mist kommt laut Google-Suche
(http://forums.mozillazine.org/viewtopic.php?p=11925323&sid=c2869da8c19da52032f04f07ac623dea#p11925323)
von einem Fehler in Version 9.5.1 des Adobe-Reader-Plugins.
Jeglicher Versuch, mein homedir mittels tar zu sichern, scheitert
seitdem, da das Skript, was ich dafür verwende, abbricht und eine
Alarm-E-Mail schickt, wenn tar an dieser Stelle Fehler wirft.
Alte Version:
[...]
find ./home ! -type s > filelist
tar --no-recursion -T filelist -cf - | pbzip2 > /mnt/backup/$DATUM.tar.bz2
[...]
Die Fehlermeldung lautet:
tar: ./home/meinbenutzeraccount/C\:\nppdf32Log\\debuglog.txt: Cannot
stat: No such file or directory
Wie man sieht, ist das Escapen der Escape-Zeichen irgendwie kaputt (Und
um Rekursion zu verstehen, muss man... jaja).
Nun dachte ich, ich könnte dem so begegnen:
[...]
find ./home ! -type s -print0 > filelist
tar --no-recursion --null -T filelist -cf - | pbzip2
>/mnt/backup/$DATUM.tar.bz2
[...]
Aber leider ändert das rein gar nichts an der Fehlermeldung (auch wenn
es ansonsten sicher sauberer ist):
tar: ./home/meinbenutzeraccount/C\:\nppdf32Log\\debuglog.txt: Cannot
stat: No such file or directory
Nun fand ich in der manpage von tar (aber nur in der englischsprachigen,
zu erreichen mit man -LC 1 tar):
--no-unquote
do not unquote filenames read with -T
das habe ich dann so ausprobiert
[...]
find ./home ! -type s -print0 > filelist
tar --no-recursion --null -T filelist --no-unquote -cf - | pbzip2
>/mnt/backup/$DATUM.tar.bz2
[...]
und damit läuft das Teil wieder fehlerfrei durch. Aber mir ist nicht so
ganz klar, was ich mit "--no-unquote" genau anstelle und was das für
Seiteneffekte hat. "do not unquote filenames read with -T" ist eine
Erklärung, mit der ich an der Stelle allein nicht wirklich viel anfange.
Was genau geht da überhaupt schief?
tar meint ja, der Dateiname sei
./home/meinbenutzeraccount/C\:\nppdf32Log\\debuglog.txt
dabei ist er
./home/meinbenutzeraccount/C:\nppdf32Log\debuglog.txt
und richtig escapet wäre er
./home/meinbenutzeraccount/C:\\nppdf32Log\\debuglog.txt
Wieso "verrutscht" der Backslash beim C:?
Wer kann mir Erleuchtung verschaffen?
Gruß
Stefan
Reply to: