Linuxlar arası klasör/dosya transferi -Işınlanma yöntemi ile (!)-


İki linux arasında dosya veya klasör kopyalamak/transfer etmek için çok sevdiğim bir yöntem var. Bu yöntemi ilk öğrendiğimde,  “ışınlanma yöntemi”ni çağrıştırmıştı bana ve öyle not aldım.

İki linux arasında pek çok yöntemle kopyalama yapılabiliyor. Ancak bu önereceğim yöntemle, share/permission ayarı veya kopyalama komutunda ssh user/şifre gibi ihtiyaçlara gerek kalmıyor.

İşlem çok basit, hedef sunucuda gelecek veriyi dinleyecek bir komut çalıştırıyoruz, kaynak sunucudan da dosyayı gönderecek komutu çalıştırıyoruz.

Öncelikle hem kaynak hem de hedef sunucuya ssh ile login olun ve aktarmak istediğimiz klasörlere ilerleyin. Benim örneğimde; Zabbix sunucusundaki “/usr/share/zabbix” klasörünü -> ubuntu sunucusunda /tmp/zabbix klasörüne kopyalacağım (file permission ayarları dahil).

Öncelikle hedef sunucumda ilgili /tmp/zabbix klasörüne gidiyorum ve bir tcp portu açıp buraya gelecek trafiği dinliyorum:

nc -l 999 | tar xv

Bu komutla, 999 portunu netcat (nc) ile dinlemekteyim (-l işleci ile), ayrıca bir veri gelirse, tar x ile gelen sıkıştırmış veriyi açacağım, v işleci ile de ayrıntıları göreceğim. Tar kullanmamızın sebebi, veriyi tar ile göndereceğim içindir.

Kaynak sunucuda kopyalayacağım zabbix klasörüne gidiyorum ve aşağıdaki komutu çalıştırıyorum:

tar cv . | nc ubuntu 999

Bu komutla da, bulunduğumuz klasörü (nokta karakteri ile belirttik) tar ile sıkıştır (c ile belirttik) ve ayrıntıları göster (v ile belirttik), sonra da ubuntu sunucusuna (burada ip de kullanabiliriz) 999 portu üzerinden netcat (nc) ile gönder.

Tüm dosyalar çok kısa bir sürede eksiksiz olarak kopyalanacaktır.
İki klasörde de: find . | wc -l komutunu çalıştırdığınızda, kaç adet dosya ve klasör olduğuna bakıp kontrol edebilirsiniz.


          

, ,

  1. Henüz hiç yorum yok.
(yayınlanmayacak)