création par programmation d'un répertoire distant à l'aide de ssh

10

À l'aide d'un script shell, comment puis-je créer un répertoire à distance à partir de serverA -> serverB à l'aide de ssh? Puis-je passer la commande create directory avec la commande ssh? Comment?

Je cherche essentiellement à créer un répertoire à distance en fonction de la date (ex. 20110304), s'il n'existe pas déjà.

jdamae
la source

Réponses:

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

Je ne sais pas exactement ce que vous entendez par "par date", mais vous pouvez tester avant mkdir comme ci-dessous

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

si vous voulez un nom de répertoire comme vous le mentionnez, essayez

ssh remote-host-ip '. ~/your_profile; test -d your_parent_directory/$(date +%Y%M%d) || mkdir your_parent_directory/$(date +%Y%M%d)'
SOUser
la source
Sélectionnez votre code et appuyez sur CTRL + K pour activer le code mettant en lumière ou éventuellement les entourer dans `` si des contre - apostrophes vous voulez mettre en évidence en ligne likesi
SiegeX
7

vous pouvez l'accomplir comme ceci:

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

ou Si vous avez un script sur serverA ....

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

la source
aussi si vous avez besoin de bash pour charger votre environnement, vous pouvez utiliserbash --login
0

Si vous souhaitez générer une date par programme, jetez un œil à date +format:

jinx:774 Z$ date +%m%d%H%M
03041904
geekosaure
la source
0

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

Vous devez configurer une authentification sans mot de passe entre les serveurs pour que cela fonctionne. Voici les étapes pour le faire.

atripathi
la source