Programmgesteuertes Erstellen eines Remote-Verzeichnisses mit ssh

10

Wie kann ich mithilfe eines Shell-Skripts mithilfe von ssh ein Verzeichnis remote von serverA -> serverB erstellen? Kann ich den Befehl create directory mit dem Befehl ssh übergeben? Wie?

Grundsätzlich möchte ich ein Verzeichnis basierend auf dem Datum (z. B. 20110304) aus der Ferne erstellen, sofern es noch nicht vorhanden ist.

jdamae
quelle

Antworten:

11
ssh remote-host-ip '. ~/your_profile; mkdir your_directory'

Ich weiß nicht, was du genau mit "nach Datum" meinst, aber du könntest vor mkdir wie unten testen

ssh remote-host-ip '. ~/your_profile; test -d your_directory || mkdir your_directory'

Wenn Sie einen Verzeichnisnamen möchten, wie Sie erwähnen, versuchen Sie es

ssh remote-host-ip '. ~/your_profile; test -d your_parent_directory/$(date +%Y%M%d) || mkdir your_parent_directory/$(date +%Y%M%d)'
SOUser
quelle
Wählen Sie Ihren Code aus und drücken Sie STRG + K, um die Code-Hervorhebung zu aktivieren, oder umgeben Sie sie optional mit Backticks ``, wenn Sie Inline likeso
hervorheben
7

Sie können es so erreichen:

  ssh you@serverB "mkdir /path/to/dir"

oder Wenn Sie ein Skript auf serverA haben ....

  ssh you@serverB 'bash -s' < local_script.sh

quelle
Auch wenn Sie Bash benötigen, um Ihre Umgebung zu laden, können Siebash --login
0

Wenn Sie programmgesteuert ein Datum generieren möchten, sehen Sie sich Folgendes an date +format:

jinx:774 Z$ date +%m%d%H%M
03041904
Geekosaurier
quelle
0

ssh user@server mkdir path/$(date +%Y%m%d)

Sie müssen eine kennwortlose Authentifizierung zwischen den Servern einrichten, damit dies funktioniert. Hier sind die Schritte dazu.

Atripathi
quelle