
phpthumb
Heute habe ich festgestellt, dass eine meiner PHP-Dateien veraltet war, sodass ich das Verzeichnis auf dem gesamten Server überschreiben musste .
Mehrere Websites verwenden diesen Ordner an mehreren unbekannten Standorten. Wie kann ich also alle diese Verzeichnisse von einem Quellpfad aus überschreiben? (z. B. /home/test/testuser/phpthumb/
nach /home/*/*/phpthumb/
)
Antwort1
Das sollte funktionieren:
echo /home/*/*/phpthumb | xargs -t -n 1 cp -r /home/test/testuser/phpthumb/*
Sie müssen mit arbeiten xargs
. Leider cp
ist ein Kopieren auf mehrere Ziele nicht möglich. cp
kann mehrere Quellen verarbeiten.
Erläuterung:
echo /home/*/*/phpthumb
: listet allephpthumb
Verzeichnisse aufxargs -t -n 1
: xargs solltecp
für jede Zeile einzeln aufgerufen werdencp -r /home/test/testuser/phpthumb/*
der Befehlxargs
aufrufen soll. Beachten Sie, dass das Zielverzeichnis am Ende mit angehängt wirdxargs
.
Antwort2
Versuche dies:
$ find /home -name "phpthumb" -type d -not -path "*test/testuser/phpthumb" \
-exec cp /home/test/testuser/phpthumb/* {} \;
find
Befehl sucht phpthumb
in /home
:
-type d
Ordner auswählen-not -path
schließt austest/testuser/phpthumb
Führen Sie den Befehl für jeden Ordner aus cp
. Wenn test/testuser/phpthumb
es sich um einen Baum mit Unterordnern handelt, fügen Sie -R
die Option hinzu cp
.