Entfernen Sie Dateien vom Remote-Host mit SSH

Ich muss alle Dateien in einem Remote-Verzeichnis mit SSH löschen,

Das Verzeichnis selbst darf nicht gelöscht werden, daher ist die Antwort von @Wes nicht das, was ich brauche. Wenn es ein lokales Verzeichnis wäre, würde ich rm -rf dir/* ausführen.

Author: slhck, 2011-05-25

4 answers

Es ist so einfach wie:

ssh HOSTNAME rm -rf "/path/to/the/directory/*"
 16
Author: Wes Hardaker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-05-25 15:48:32

Nach Mann von ssh auf meiner Maschine:

If command is specified, it is executed on the remote host instead 
of a login shell.

Dies bedeutet, dass die Shell-Erweiterung des von ssh übergebenen Befehls nicht auf der Remote-Seite erfolgt. Daher benötigen wir den Befehl "self contained", der bei der Shell-Erweiterung nicht weiterleitet.

ssh user@remote-machine "find /path/to/directory -type f -exec rm {} \;"

Hier wird die gesamte Arbeit zum Auffinden von zu löschenden Dateien ausschließlich von find ohne Hilfe von Shell erledigt.

Einige ähnliche Frage

 7
Author: dimba,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-04-13 12:14:40

Dies sollte den Trick machen:

ssh HOSTNAME "sh -c 'rm -rf /path/to/the/directory/*'"

Beachten Sie, dass Sie den Remote-Befehl in doppelte Anführungszeichen und den Pfadnamen in einfache Anführungszeichen setzen müssen.

 1
Author: Igor Feghali,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-10-26 19:00:33

Alle Dateien aus der Verzeichnishierarchie entfernen:

ssh user@HOSTNAME 'rm $(find /path/to/directory -type f)' 
 -1
Author: techshack,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-05-25 16:11:53