Befehl "find" und "cp" verbinden

boCKY

Well-known member
5 September 2006
748
45
Moin Moin,

es gibt ja die Möglichkeit den Befehl "find" und "cp" mit "-exec" zu verbinden. Der Befehl "find" soll im Ordner "/var/www/ ..." nach *.tar.gz-Datei suchen und "cp" soll dies dann alles in den Ordner "/root/backup/" kopieren. Im Ordner "/var/www/ ..." sind Unterordner vorhanden, wo sich die *.tar.gz-Dateien befinden.

Code:
find /var/www/* -name "*.tar.gz*" -prune -o -print -exec cp -r {} /root/backup/ \;

Leider funktioniert das nicht ganz. Der fängt dann an alles was er findet in den Ordner "/root/backup/" zu kopieren.
 
-o gibt jede Datei aus, die er findet, egal ob sie dein Pattern matcht. Nimms weg, -print gleich mit (gibt jede Datei 2x aus), und es geht.