PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : xargs: argument line too long



benoit
10.04.07, 17:33
Hallo zusammen,

ich probiere mir gerade ein Backupscript für meinen webserver zu basteln und da ist folgendes Problem aufgetaucht.

ich möchte alle dateien im verzeichniss /var/www sichern
mit außnahme von folgenden dateitypen:



*.if
*.ifalt
*.ifaltdel
*.bz2old
*.bz2



dazu habe ich mir folgenden befehl zusammengegoogelt:



find /var/www/ \( -name '*' -and ! -name '*.if' -and ! -name '*.ifalt' -and ! -name '*.ifaltdel' -and ! -name '*.bz2old' -and ! -name '*bz2' \) -print | xargs -0 tar -cvvf /var/backup/test.tar


nun habe ich das problem das folgende fehlermeldung bekomme die ich nicht interpretieren kann:



pg@ubuntu:/var/backup$ find /var/www/ \( -name '*' -and ! -name '*.if' -and ! -name '*.ifalt' -and ! -name '*.ifaltdel' -and ! -name '*.bz2old' -and ! -name '*bz2' \) -print | xargs -0 tar -cvvf /var/backup/test.tar
xargs: argument line too long
pg@ubuntu:/var/backup$


kann mir wer sagen was das für ein fehler ist und wie ich ihn beheben kann?

Gruß
Phillip

kreol
10.04.07, 17:52
Probiere es mal ohne die 0. Wenn Du von STOUT liest reicht bei tar das -. Und imho ist da auch ein v zuviel, also "... | xargs tar - cvf /var..."


Kreol

benoit
10.04.07, 18:13
ok dasm it dem -0 weglassen klappt.

nun habe ich eine neue fehlermeldung:



pg@ubuntu:/var/backup$ sudo find /var/www/ \( -name '*' -and ! -name '*.if' -and ! -name '*.ifalt' -and ! -name '*.ifaltdel' -and ! -name '*.bz2old' -and ! -name '*bz2' \) -print | xargs tar -cvf test.tar
tar: test.tar: Cannot open: Permission denied
tar: Error is not recoverable: exiting now


wenn ich vor das xargs ein sudo setze dann probiert er wieder alle dateien zu sichern.


pg@ubuntu:/var/backup$ sudo find /var/www/ \( -name '*' -and ! -name '*.if' -and ! -name '*.ifalt' -and ! -name '*.ifaltdel' -and ! -name '*.bz2old' -and ! -name '*bz2' \) -print | sudo xargs tar -cvf test.tar


wenn ich



sudo find /var/www/ \( -name '*' -and ! -name '*.if' -and ! -name '*.ifalt' -and ! -name '*.ifaltdel' -and ! -name '*.bz2old' -and ! -name '*bz2' \) > /home/pg/test2.txt


mache werden alle dateien exportiert die gesichert werden sollen.

noch eine idee?

LG
Phillip

benoit
10.04.07, 19:09
ok problem erkannt ;)

find '*' findet auch alle verzeichnisse daher wird erst das verzeichniss /var/www/ mit komplettem inhalt gesichert und dann noch mal alles andere hinterher...

danke für die hilfe :)

Gruß
Phillip