Prostszą strategią jest zalogowanie się do zdalnego serwera i stamtąd uruchom polecenie rsync z uprawnieniami sudo.
Zakładam, że pracujesz pod Linuksem na obu komputerach.
Niech nazywamy użytkownik_lokalny użytkownika na LocalServer i remoteuser nazwę użytkownika na SerwerZdalny .
- Na serwerze lokalnym zamontowana jest jednostka zewnętrzna na ścieżce
/media/MyUsb
- Na serwerze zdalnym znajduje się katalog o nazwie
/data/DirToSync
.
localuser@localserver ~> ssh -X remoteuser@remoteserver
Należy zadać hasło dla remoteuser na SerwerZdalny i po pokaże wiersz na zdalnym serwerze:
remoteuser@remoteserver ->
Tutaj możesz napisać komendę rsync :
sudo rsync -av /data/DirToSync localuser@localserver:/media/MyUsb
Zapyta przed hasłem sudo
na zdalnym komputerze ( hasło zdalnego serwera @ remoteserver ) i po haśle miejsca docelowego (hasło localuser @ localserver).
Uwagi
- Musisz znajdować się na liście sudoers na zdalnym komputerze (oznacza to, że musisz mieć prawo do uruchamiania
sudo
). Spróbuj to zrobić sudo ls
na zdalnym serwerze i podaj hasło na żądanie. Jeśli wykona ls
polecenie, jesteś na tej liście. (Powinien to być naprawdę rzadki i niepewny przypadek, jeśli byłeś na tej liście i nie potrzebujesz hasła; w takim przypadku nie musisz pisać hasła sudo
).
- Nie zostaniesz zapytany o hasło do
ssh/rsync
połączeń, jeśli wygenerowałeś i zainstalowałeś klucze ssh .
- za pośrednictwem
ssh
możesz nawet wysłać sudo
komendę rsync
stamtąd do hosta lokalnego, ale jest to nieco bardziej złożona składnia, zobacz na przykład tutaj , i możesz ponieść jakiś problem z powodu sudo
niektórych wersji systemu Linux.