Alt klasörleri olan bir klasörü bulabilir miyim?


31

Gibi statik bir web sitesi için dosyaları içeren bir klasör var:

/site/index.html
/site/css/css.css
/site/js/js.js
/site/images/...

Dizüstü bilgisayarımda bir şey güncellersem, dosyaları ubuntu sunucuma göndermek için tek bir komut istiyorum. Eğer buna sahip değilseniz FTP'yi kurmak istemiyorum, scp'nin bunu yapıp yapamayacağını merak ediyorum?


Ben tercih taryoluyla ssh: unix.stackexchange.com/a/10028/79839
civcivler

Yanıtlar:


56

Komut scp -r source user@target:dest, kaynağın tüm alt dizinlerini yürüterek kopyalar.

Ancak, hem kaynak hem de hedefte aynı olsa bile, dosyalar scpgibi davranır cpve dosyaları her zaman kopyalar. [ Bir geçici çözüm için buraya bakın .]

Bu statik bir web sitesi olduğundan, büyük olasılıkla yalnızca güncellemeler yapıyorsunuz, her şeyi yeniden oluşturmuyorsunuz, bu nedenle rsyncssh yerine kullanmak yerine daha hızlı ilerleyeceksiniz scp. Muhtemelen bir şey gibi

rsync -av -e ssh source user@target:dest

...başlamak. Bunu bir LAN üzerinden yapıyorsanız, -avWbunun yerine kişisel olarak seçenekleri kullanırdım rsync.

Rsync ayrıca, kaynağınızdaki silme işlemlerini çoğaltma becerisi sunar; bu nedenle, bir dosyayı ağacınızdan kaldırırsanız, rsyncyukarıdaki gibi çalışabilir ve bayrağı ekleyebilir --deleteve aynı dosyayı hedef taraftan kaldırabilirsiniz.


9

scp, istediğinizi yapacak özyinelemeli bir bayrağa sahiptir. scp -r /base/directory user@server:/to/location

itibaren man scp

-r      Recursively copy entire directories.  Note that scp follows symbolic
          links encountered in the tree traversal.

2

scp -r ve rsync -r, diğerlerinin de belirttiği gibi istediğinizi elde etmenin en güvenilir yoludur.

Yerel bir sürücüymiş gibi 'takmak' için sshfs de kullanabilirsiniz: sshfs user@host:/site /mnt/mountpoint

(Bununla birlikte, muhtemelen yerel olarak çalışmaktan ve rsync ile konuşlandırmakta daha iyi olursunuz. Dikkat etmeniz gereken başka bir araç.)

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.