programaticamente criando um diretório remoto usando ssh

10

Usando um script de shell, como criar um diretório remotamente a partir de serverA -> serverB usando ssh? Posso passar o comando create directory com o comando ssh? Quão?

Basicamente, estou procurando criar um diretório remotamente com base na data (por exemplo, 20110304), se ele ainda não existir.

jdamae
fonte

Respostas:

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

não sei o que você quer dizer exatamente com "data", mas você pode testar antes do mkdir como abaixo

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

Se você quiser um nome de diretório, como mencionado, tente

ssh remote-host-ip '. ~/your_profile; test -d your_parent_directory/$(date +%Y%M%d) || mkdir your_parent_directory/$(date +%Y%M%d)'
SOUser
fonte
Escolha o seu código e pressione CTRL + K para ligar código destacando ou, opcionalmente, cercá-los em backticks `` se você quiser destacar em linha likeassim
SiegeX
7

você pode fazer assim:

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

ou Se você tiver um script no serverA ....

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

fonte
Também se você precisar de bash para carregar seu ambiente, você pode usarbash --login
0

Se você deseja gerar uma data programaticamente, dê uma olhada em date +format:

jinx:774 Z$ date +%m%d%H%M
03041904
geekosaur
fonte
0

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

Você precisa configurar a senha com menos autenticação entre os servidores para que isso funcione. Aqui estão as etapas para fazer isso.

atripathi
fonte