SCP przesyłają tylko zmodyfikowane pliki

30

Używam polecenia poniżej, aby przenieść pliki między serwerami

scp -rc blowfish /source/directory/* [email protected]:/destination/directory

Czy istnieje sposób przesyłania tylko zmodyfikowanych plików, tak jak updatepolecenie dla cp?

Namiętny programista
źródło

Odpowiedzi:

52

rsync jest twoim przyjacielem.

rsync -ru /source/directory/* [email protected]:/destination/directory

Jeśli chcesz usunąć pliki w miejscu docelowym, które już nie istnieją w źródle, dodaj --deleteopcję.

Flup
źródło
4
Chociaż, jeśli synchronizujesz z serwerem internetowym, a ten serwer buforuje HTML, możesz nie chcieć tego używać --delete, ponieważ odwiedzający przestarzałą stronę mogą poprosić o zasób, który już nie istnieje.
Jackson
@Jackson czysty proces nie uwzględni zmiennych danych, takich jak pamięci podręczne lub konfiguracje, w źródłach.
Chris Pillen,
W niektórych przypadkach mam do czynienia z serwerami spoza mojej domeny, które nie mają, rsyncale mają scp. Czy istnieje porównywalne rozwiązanie, nawet jeśli wymaga kilku wierszy skryptów?
iX3
Odpowiedź jest pomocna, ale pytanie brzmi: czy można to osiągnąć za pomocą samego SCP?
Mladen B.
1

Zasadniczo prosi się o scp, ponieważ istnieje powód. Nie można zainstalować rsyncd na celu.

files=`find . -newermt "-3600 secs"`

for file in $files
do
       sshpass -p "" scp "$file" "root@$IP://usr/local/www/current/$file"
done
Angelo Dureghello
źródło