Główną różnicą między tymi narzędziami jest sposób kopiowania plików.
scpw zasadzie czyta plik źródłowy i zapisuje go w miejscu docelowym. Wykonuje zwykłą liniową kopię, lokalnie lub przez sieć.
rsynckopiuje także pliki lokalnie lub przez sieć. Ale wykorzystuje specjalny algorytm transferu delta i kilka optymalizacji, aby znacznie przyspieszyć działanie. Rozważ połączenie.
rsync A host:B
rsyncsprawdzi rozmiary plików i znaczniki czasu modyfikacji zarówno A, jak i B , i pominie dalsze przetwarzanie, jeśli się zgadzają.
Jeśli plik docelowy B już istnieje, algorytm transferu delta upewni się, że tylko różnice między A i B zostaną przesłane przewodem.
rsyncbędzie zapisywać dane do pliku tymczasowego T , a następnie zastąpić plik docelowy B z T , aby wygląd update „atomowy” do procesów, które mogą być z wykorzystaniem B .
Kolejna różnica między nimi dotyczy inwokacji. rsyncma mnóstwo opcji wiersza poleceń, co pozwala użytkownikowi dokładnie dostosować jego zachowanie. Obsługuje złożone reguły filtrowania, działa w trybie wsadowym, w trybie demona itp. scpMa tylko kilka przełączników.
Podsumowując, używaj scpdo codziennych zadań. Polecenia, które wpisujesz raz na jakiś czas w interaktywnej powłoce. Jest prostszy w użyciu, a w takich przypadkach rsyncoptymalizacje niewiele pomogą.
Do powtarzających się zadań, takich jak cronzadania, użyj rsync. Jak wspomniano, przy wielu wywołaniach skorzysta z danych już przesłanych, działa bardzo szybko i oszczędza zasoby. Jest to doskonałe narzędzie do synchronizacji dwóch katalogów w sieci.
Również, gdy mamy do czynienia z dużymi plikami, korzystać rsyncz -Popcji. Jeśli transfer zostanie przerwany, możesz go wznowić w miejscu, w którym został zatrzymany, ponownie wydając polecenie. Zobacz Sid Kshatriya za odpowiedź .