Chciałbym użyć rsync do skopiowania plików ze zdalnego serwera. chciałbym
- kopiuj tylko pliki z serwera, nie wypychaj ich z powrotem.
- kopiuj pliki, które nie istnieją. Jeśli plik zdalny jest nowszy , nie chcę go kopiować
- mieć to automatycznie. To monituje mnie o hasło za każdym razem i chciałbym, aby było uruchamiane przez crona. Jak więc uruchomić go w skrypcie bash wykonywanym przez crona?
--password-file
opcja podaje hasło do monitu serwera. Plik powinien po prostu zawierać hasło w postaci zwykłego tekstu i nie zezwalać innym użytkownikom na dostęp do odczytu.Odpowiedzi:
Punkty 1 i 2: Jak określić, co skopiować, najlepiej odpowiedzieć na stronie podręcznika rsync . W twoim przypadku spójrz zwłaszcza na istniejącą flagę --ignore.
Punkt 3: Ten samouczek powinien zacząć używać bezhasłowego ssh z rsync. Podsumowanie: skonfiguruj ssh bez hasła i użyj „-e ssh”, aby powiedzieć rsync, aby użył ssh zamiast rsh do połączenia ze zdalnym hostem.
źródło
W drugiej części, ponieważ pjz odpowiedział na resztę, uważam, że możesz użyć przełącznika --ignore-istniejących, aby uzyskać tylko nowe pliki.
From http://www.samba.org/ftp/rsync/rsync.html :
źródło