ssh kullanarak programlı olarak uzak bir dizin oluşturma


11

Bir kabuk komut dosyası kullanarak, ssh kullanarak serverA -> serverB'den nasıl uzaktan dizin oluşturabilirim? Ssh komutuyla dizin oluştur komutunu iletebilir miyim? Nasıl?

Temelde, eğer zaten yoksa, tarihe (eski 20110304) göre uzaktan bir dizin oluşturmak için arıyorum.

Yanıtlar:


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

tam olarak "tarihe göre" ne demek istediğinizi bilmiyorum, ancak mkdir'den önce aşağıdaki gibi test edebilirsiniz

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

Bahsettiğiniz gibi bir dizin adı istiyorsanız, deneyin

ssh remote-host-ip '. ~/your_profile; test -d your_parent_directory/$(date +%Y%M%d) || mkdir your_parent_directory/$(date +%Y%M%d)'

Satır içi vurgulamak istiyorsanız `` ters tırnakların etraflarını isteğe vurgulayarak kod açmak veya kodunuzu ve CTRL + K seçin likeyüzden
SiegeX

7

bunu şu şekilde başarabilirsiniz:

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

veya serverA'da bir betiğiniz varsa ....

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

Ayrıca ortamınızı yüklemek için bash gerekiyorsa, kullanabilirsinizbash --login

0

Programlı olarak bir tarih oluşturmak istiyorsanız, şuraya bakın date +format:

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

0

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

Bunun çalışması için sunucular arasında daha az parola doğrulaması ayarlamanız gerekir. İşte bunu yapmak için adımlar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.