Przyrostowe kopiowanie plików ze zdalnego serwera - Linux

Przyrostowe kopiowanie plików ze zdalnego serwera - Linux

Nam była taka funkcjonalność potrzebna do wykonywania przyrostowej kopii zapasowej plików uploadowanych na serwer przez użytkowników, oraz pobierania nowo powstałych archivelogów i backupów bazy Oracle, toteż na takim przykładzie bazuję w tym artykule. Mamy serwer produkcyjny który stoi w innym mieście (CENTOS 6), oraz lokalny serwerek na którym chcemy gromadzić kopie (również CENTOS 6).

Użyjemy narzędzia RSYNC. Wszystkie instrukcje wykonujemy z poziomu serwera na którym mają się znaleźć kopie. Przy normalnym uruchomieniu będzie prosił o hasło, a my chcemy to odpalać z CRONTABa, więc zaczniemy od zrobienia tego tak, aby o to hasło nie prosił. Odpalamy więc w konsoli:

ssh-keygen

Zapyta nas o hasło, zostawiamy puste. Następnie:

ssh-copy-id -i ~/.ssh/id_rsa.pub IP_ZDALNEGO_SERWERA

Czas przejść do samego RSYNCa:

rsync -chavzP --stats root@IP_ZDALNEGO_SERWERA:/home/fra /home/backupy/produkcja
rsync -chavzP --stats root@IP_ZDALNEGO_SERWERA:/home/soft/tomcat7 /home/backupy/produkcja


Przełączniki dostosujcie wg własnych potrzeb, informacje o nich znajdziecie w dokumentacji. root to nazwa użytkownika po "tamtej" stronie z poziomu którego musimy mieć dostęp do pobieranych plików. Po @ podajemy adres ip zdalnego serwera. Pierwsza ścieżka to ścieżka po "tamtej" stronie, katalogu którego zawartość chcemy kopiować. Druga ścieżka to ścieżka po "naszej" stronie do katalogu w którym mają się znaleźć kopie zapasowe. Obie instrukcje wrzucamy do skryptu SH, nadajemy odpowiedniego CHMODa i możemy spokojnie dodać wywołanie tego skryptu do CRONTABa. Jak to się robi opisałem w innym artykule, który znajdziecie pod adresem http://www.jsystems.pl/BlogJSystems/pokazArtykul.do?idArtykulu=4