rsync - Wykluczać pliki o określonym rozmiarze?

43

Robię kopię zapasową pulpitu na zdalnym komputerze. Zasadniczo robię rsync -a ~ example.com:backup/Jednak jest mnóstwo dużych plików, np. Zrzuty wikipedii itp. Większość plików bardzo mi się podoba, takich jak pliki cookie firefox lub .bashrc. Czy jest jakieś wywołanie do rsync, które wyklucza pliki o określonym rozmiarze? W ten sposób mogłem najpierw skopiować wszystkie pliki, które mają mniej niż 10 MB, a następnie zrobić wszystkie pliki. W ten sposób mogę wykonać szybką kopię zapasową najważniejszych plików, a następnie dłuższą kopię zapasową wszystkiego innego.

Rory
źródło
Tak, wszystkie te .isozdjęcia lub .movnagrania ekranu zajmują nie tylko cenną przestrzeń, ale cenny czas. Wyścig z czasem, aby wykonać kopię zapasową komputera przed przekazaniem go osobom Apple iRepair, które blokują twoje dane, nawet jeśli nie jest to konieczne.
Sridhar Sarnobat

Odpowiedzi:

74

Istnieje max-sizeopcja:

--max-size=SIZE         don't transfer any file larger than SIZE

Więc:

# rsync -rv --max-size=1.5m root@tss01:/tmp/dm

Wyśle tylko pliki mniejsze niż 1,5 m.

Odnośnie rozmiarów człowieka: Sufiksy są następujące: „K” (lub „KiB”) to kibibajt (1024), „M” (lub „MiB”) to mebibajt (1024 * 1024), a „G” ( lub „GiB”) to gibibajt (1024 * 1024 * 1024). Jeśli chcesz, aby mnożnik wynosił 1000 zamiast 1024, użyj „KB”, „MB” lub „GB”. (Uwaga: małe wartości są również akceptowane dla wszystkich wartości.) Wreszcie, jeśli przyrostek kończy się na „+1” lub „-1”, wartość zostanie przesunięta o jeden bajt we wskazanym kierunku *

davey
źródło
3
Zauważ jednak, że --max-size nie jest prawdziwym „wykluczeniem” ze strony podręcznika: Ta opcja jest regułą przesyłania, a nie wykluczeniem, więc nie wpływa na dane, które trafiają na listy plików, i dlatego nie wpływa na usuwanie. Po prostu ogranicza pliki, które odbiorca chce przesłać.
schlicht