Przełącznik rsync, aby porównywać tylko znaczniki czasu

3

Czy istnieje sposób pozwalający rsyncporównywać tylko znaczniki czasu plików i ignorować ich zawartość? Obejmuje to ignorowanie rozmiaru pliku. Tylko znacznik czasu. Nic poza znacznikiem czasu.

Majenko
źródło

Odpowiedzi:

5

Rsync nie może porównywać plików przy użyciu tylko sygnatury czasowej. Zawsze będzie porównywał rozmiar pliku niezależnie od tego, a jeśli -cgo określisz , będzie również porównywać sumę kontrolną pliku.

Celem rsync jest dopasowanie jednego drzewa plików do drugiego. Jeśli plik w jednym drzewie ma inny rozmiar niż ten sam plik w drugim drzewie, muszą one logicznie się różnić. Więc rsync go skopiuje. Bez względu.

Jeśli chcesz skopiować pliki tak, jak chcesz, musisz zastosować inną metodę przy użyciu różnych narzędzi.

Jeśli chcesz kopiować tylko pliki, które zmieniły się od znanej daty (powiedzmy, kiedy ostatnio kopiowałeś pliki), możesz użyć flagi find -cnewer. Poniższy mały skrypt znajdzie pliki, które zmieniły się od ostatniego uruchomienia:

find /path/to/files -cnewer /tmp/lastSync
touch /tmp/lastSync

-Cnewer porównuje czas modyfikacji pliku z czasem określonego pliku (/ tmp / lastSync w tym przykładzie):

-cnewer file
   File's  status  was last changed more recently than file was modified.  
   If file is a symbolic link and the -H option or the -L option is in 
   effect, the status-change time of the file it points to is always used.

Polecenie touch zaktualizuje znacznik czasu / tmp / lastSync, aby odzwierciedlić fakt, że skrypt został właśnie uruchomiony, dzięki czemu kolejne uruchomienia skryptu wykorzystują bieżącą godzinę jako podstawę czasu.

Dane wyjściowe polecenia find mogą być następnie użyte do określenia plików do skopiowania do miejsca docelowego przy użyciu dowolnej metody (cp, scp, cokolwiek).

Majenko
źródło
1
Domyślnie wydaje się porównywać rozmiary plików. Nie chcę, żeby obchodziło go, co zawiera plik.
1
Matt już odpowiedział na to pytanie w swojej odpowiedzi i wyraźnie odpowiedź brzmi „nie”. Rsync to narzędzie, które troszczy się o treść, nawet jeśli chce tylko założyć tę samą zawartość, gdy daty są zgodne. Jeśli ci się nie podoba, potrzebujesz innego narzędzia.
Peter Hansen