Iam woking na skrypcie bash z rsysc między dwoma urządzeniami NAS Onsite i Offsite. Celem jest utworzenie kopii zapasowej serwera NAS na miejscu poza NAS.
Pracujemy na mapie na miejscu z dość dużymi plikami. ok. 40 GB lub więcej. Rsync ma domyślnie habbit do ponownego wysyłania plików, jeśli zostaną przemianowane lub przeniesione do podfolderu w źródłowym dest. To nie jest bardzo skuteczne (przenosimy wiele dużych plików wokół NAS na miejscu). dlatego wiele dużych plików zostanie ponownie przesłanych na zewnętrzny serwer NAS i opóźni proces.
Odkryłem, że istnieje łatka dla rsync, dodająca funkcjonalność --detect-renamed i --detect-move. (patrz link poniżej :)
https://moderncaveman.org/projects/modern/rsync-detect-renamed/patching-rsync-for-renamed.html
Dodałem opcję --detect-move, a pliki są przenoszone na NAS poza biurem i plik nie zostanie ponownie przesłany. Ale działa tylko z opcją --delete-po, a przy włączonej i usuniętej rzeczy na serwerze NAS zostanie również usunięta z NAS poza siedzibą. Mój skrypt ma więcej funkcji synchronizacji niż funkcja tworzenia kopii zapasowych. Myślę, że to ryzykowne.
Czy jest jakiś sposób, aby usunąć usunięte pliki na lokalnym serwerze NAS na zewnętrznym serwerze NAS (bez -delete-after lub coś?), Ale czy działa funkcja --detect-move?
Zobacz moje polecenie rsync poniżej:
rsync -avzH --detect-move --delete-after --progress CIFS_mount_to_onsiteNAS CIFS_mount_to_offsiteNAS
z góry dziękuję.
--remove-after
opcja "? Twoje polecenie pokazuje, że używasz--delete-after
nie--remove-after
...