tar, wildcards und -C
Hallo,
ich habe ein Problem mit tar, der Option -C (change working directory)
und der Verwendung von Wildcards für Dateinamen und kann leider anhand
der Doku nicht verifizieren, ob es überhaupt geht, und wenn ja, wo der
Fehler liegt.
Ich hab's mit dieser Doku probiert:
http://www.gnu.org/software/tar/manual/html_chapter/tar.html
Im Verzeichnis "/home/backup-remote/logs/" liegen die 3 Dateien
maillog.log messages.log secure.log .
Folgender Befehl funktioniert bestens (in einer Shell getestest und im
"prerotate"-Teil von logrotate (siehe weiter unten)):
/bin/tar czPf /home/backup-remote/logs/log.tar.gz -C /home/backup-remote/logs/ maillog.log messages.log secure.log
Auch der nächste Befehl funktioniert, wenn man vorher mit
"cd /home/backup-remote/logs/" in das entsprechende Verzeichnis
springt (getestet in der Shell):
/bin/tar czPf /home/backup-remote/logs/log.tar.gz *.log
Was nicht geht (und ich nicht ganz verstehe) ist (Shell und natürlich
schon gar nicht im logrotate):
/bin/tar czPf /home/backup-remote/logs/log.tar.gz -C /home/backup-remote/logs/ *.log
/bin/tar czPf /home/backup-remote/logs/log.tar.gz -C /home/backup-remote/logs/ '*.log'
weitere Hintergrundinfos:
- ich verwende den Befehl in einem "prerotate"-Teil im
logrotate-Konfigurationsdatei.
- ich möchte nicht den absoluten Pfad mit im Päkchen haben
- ich möchte den Befehl nicht unbedingt anpassen müssen, wenn andere
*.log dazukommen.
Falls es mit den wildcards im tar-Befehl nicht geht, bleiben immer
noch die Workarounds mit "cd" oder dem Weglassen von "*", schöner
wär's halt im tar-Befehl :)
Christian
Reply to: