Strateji daha basit, uzaktan denetleyicide oturum açmak ve oradan rsync komutunu sudo ayrıcalıklarıyla çalıştırmak.
Her iki makinede de Linux altında çalıştığınızı farz ediyorum.
Dediğimiz yapalım LocalUser üzerinde kullanıcı adı LocalServer ve remoteuser kullanıcı adını RemoteServer .
- Açık LocalServer yolunda bir dış ünitesi monte edilir
/media/MyUsb
- On RemoteServer adında bir dizin var
/data/DirToSync
.
localuser@localserver ~> ssh -X remoteuser@remoteserver
Bunun için size şifreyi sormalısınız remoteuser üzerinde RemoteServer o uzak sunucuda istemini gösterecektir sonra ve:
remoteuser@remoteserver ->
Burada rsync komutunu yazabilirsiniz :
sudo rsync -av /data/DirToSync localuser@localserver:/media/MyUsb
sudo
Uzaktaki makinedeki paroladan önce (uzak kullanıcı @ uzaktan denetleyicisinden biri ) ve hedefin parolasından sonra (localuser @ localserver adresinden) soracaktır.
notlar
- Uzak makinenin sudoers listesinde olmanız gerekir (bu, çalışma hakkına sahip olmanız gerektiği anlamına gelir
sudo
). sudo ls
Uzak sunucuda yapmaya çalışın ve istendiğinde şifrenizi verin. ls
Komutu yürütecekse, o listesin. (Bu listede ve parolaya gerek duymuyorsanız çok nadir görülen ve güvensiz bir durum olmalı; bu durumda parolasını yazmak zorunda değilsiniz sudo
).
ssh/rsync
Eğer ssh anahtarlarını oluşturup kurduysanız , bağlantı şifreleri sorulmaz .
- Bu
ssh
sayede sudo
komutu rsync
oradan localhost'a bile gönderebilirsiniz , ancak bu biraz daha karmaşık bir sözdizimidir, örneğin buraya bakın ve linux'un sudo
bazı sürümleri nedeniyle bir sorunla karşılaşabilirsiniz .