Backup mit find, xargs und tar

Um von einem Verzeichnis und deren Unterverzeichnisse alle ZIP-Dateien zu sichern kann man mit folgendem Befehl ein TAR-Archiv erstellen.

# find /Pfad/Quellverzeichnis/ -type f -name *.zip -print | xargs tar rvf /Pfad/Zielverzeichnis/Backup_$(date +%Y%m%d).tar

Erläuterungen:

# find /Pfad/Quellverzeichnis/ -type f -name *.zip -print

Der Befehl find sucht alle ZIP-Dateien in /Pfad/Quellverzeichnis/ und dessen Unterverzeichnisse und gibt den Wert an xargs weiter.

# xargs tar rvf /Pfad/Zielverzeichnis/Backup_$(date +%Y%m%d).tar

xargs nimmt die Liste von der Standardeingabe und bastelt daraus und aus dem tar, was ihm als Argument übergeben wurde, ein tar-Kommando mit N-Argumenten. Das Ganze wird als Tar-Archiv „Backup_JahrMonatTag.tar“ unter /Pfad/Zielverzeichnis abgespeichert.

Backup von Verzeichnissen

# find ./var/www/ -maxdepth 2 -type d -name user -print | xargs tar rvf /mnt/backup.tar

Verzeichnisse ‚user‘ suchen und rekursiv löschen

# find /var/www/ -maxdepth 2 -type d -name user -print | xargs rm -rf {}