Jak używać Rsync do tworzenia kopii zapasowych strony Ispconfig?

Procédure

Czym jest Rsync?

Rsync to program do synchronizacji plików z wiersza poleceń. Umożliwia kopiowanie plików z jednego miejsca do drugiego poprzez ich synchronizację zgodnie ze źródłem.

Podczas pierwszego tworzenia kopii zapas owej plików, Rsync wykona pełną kopię zapasową w oparciu o źródło. Następnie wykona częściowe kopie zapasowe danych. W rzeczywistości wykona kopię zapasową tylko tych plików źródłowych, które zostały zmodyfikowane od czasu ostatniej kopii zapasowej.

Jak wygenerować klucze RSA w ISPConfig?

1. Połącz się z serwerem ISPConfig za pomocą SSH i wprowadź następujące polecenie:

$ ssh-keygen -t rsa -b 2048

Wygenerowane klucze zostaną umieszczone w folderze"/root/.ssh/id_rsa" na prywatnym serwerze.

Nie wprowadzajhasła, zatwierdzaj naciskając klawisz"Enter" na klawiaturze. Po wprowadzeniu hasła będzie ono systematycznie wymagane, aby można było połączyć się ze zdalną przestrzenią kopii zapasowych.

  • id_rsa: jest to klucz prywatny, którego nie wolno rozpowszechniać.
  • id_rsa.pub: jest to klucz publiczny.

2. Prześlij klucz publiczny do przestrzeni kopii zapasowych online za pomocą polecenia ssh-copy-id.

$ ssh-copy-id -i /root/.ssh/id_rsa.pub user@remote_server
  • Użytkownik: należy zastąpić odpowiednim identyfikatorem
  • Remote_Server: należy zastąpić adresem IP serwera kopii zapasowych.

Po zatwierdzeniu polecenia zostaniesz poproszony o podanie hasła użytkownika, abyś mógł połączyć się z serwerem i przesłać plik"id_rsa.pub".

Konfiguracja skryptu kopii zapasowej online za pomocą Rsync.

Poniższy skrypt umożliwia tworzenie kopii zapasowych danych w przestrzeni kopii zapasowych online LWS.

1. Utwórz plik sauvegarde.sh w folderze skryptów:

nano /scripts/backup.sh

2. Skopiuj i wklej poniższy skrypt i zapisz go, klikając jednocześnie [CTRL] + [X].

#!/bin/sh day='date+%d-%B-%Y' log="/logs/" local="/public_html/" distant="/files/" hostssh="ip_serveur" userssh="login" echo "-------------------------------------------------------------" > $log/backup_$day.log # nazwa kopii zapasowej w logu echo "Backup of $local on $(date +%d-%B-%Y)" >> $log/backup_$day.log echo "-------------------------------------------------------------" >> $log/backup_$day.log # transfer start time in log echo "Backup start time: $(date +%H:%M:%S)" >> $log/backup_$day.log echo "-------------------------------------------------------------" >> $log/backup_$day.log # transfer plików rsync -az --stats -e ssh $local $userssh@$hostssh:$distant >> $log/backup_$day.log # -a : tryb archiwizacji ( odpowiednik -rlptgoD ). # -z : kompresja danych podczas transferu.
# -e : aby określić użycie ssh # -- stats daje informacje o transferze (liczba plików...). # --delete-after : usuwa pliki, które już nie istnieją w źródle po przeniesieniu do folderu docelowego. status=$? echo "" >> $log/sauvegarde_$jour.log #error code rsync case $status in 0) echo Success >> $log/save_$day.log;; 1) echo Syntax or usage error >> $log/save_$day.log;; 2) echo Protocol incompatibility >> $log/save_$day.log;; 3) echo Błędy podczas wybierania plików i katalogów wejścia/wyjścia >> $log/sauvegarde_$jour.log;; 4) echo Akcja nieobsługiwana: próba manipulowania 64-bitowymi plikami na platformie, która ich nie obsługuje; lub opcja obsługiwana przez klienta, ale nie przez serwer. >> 5) echo Error starting client-server protocol >> $log/sauvegarde_$jour.log;; 6) echo daemon unable to write to log file >> $log/sauvegarde_$jour.log;; 10) echo I/O socket error >> $log/sauvegarde_$jour.log; 11) echo I/O file error >> $log/sauvegarde_$jour.log;; 12) echo Błąd w strumieniu danych protokołu rsync >> $log/save_$day.log;; 13) echo Błąd diagnostyki programu >> $log/save_$day.log;; 14) echo Error in IPC code >> $log/save_$day.log;; 20) echo SIGUSR1 or SIGINT received >> $log/save_$day.log;; 21) echo "An error returned by waitpid()" >> $log/save_$day.log;; 22) echo Error allocating main memory buffers >> $log/sauvegarde_$jour.log;; 23) echo Partial transfer due to an error >> $log/sauvegarde_$jour.log;; 24) echo Partial transfer due to disappearance of a source file >> $log/sauvegarde_$jour.log;; 25) echo The --max-delete limit has been reached >> $log/sauvegarde_$jour.log;; 30) echo Przekroczono maksymalny czas oczekiwania podczas wysyłania/odbierania danych >> $log/sauvegarde_$jour.log;; 35) echo Przekroczono czas oczekiwania podczas oczekiwania na połączenie >> $log/sauvegarde_$jour.log;; 255) echo Niewyjaśniony błąd >> $log/sauvegarde_$jour.log;; esac echo "-------------------------------------------------------------" >> $log/backup_$day.log # czas zakończenia w dzienniku echo "Czas zakończenia kopii zapasowej: $(data +%H:%M:%S)" >> $log/backup_$day.log echo "-------------------------------------------------------------" >> $log/backup_$day.log exit
  • IP_Server: należy zastąpić adresem IP formuły kopii zapasowej online.
  • User: należy zastąpić nazwą użytkownika zarządzaną dla przestrzeni kopii zapasowych online.

Jak mogę zautomatyzować skrypt kopii zapasowej?

Tworzenie kopii zapasowej można zautomatyzować, konfigurując zadanie cron. Podczas konfigurowania tego zadania należy wskazać lokalizację pliku"backup.sh".

Podsumowanie

Możesz teraz skonfigurować automatyczne tworzenie kopii zapasowych serwera ISPConfig w przestrzeni kopii zapasowych online za pomocą LWS. Możesz zdefiniować, które pliki mają zostać uwzględnione lub wykluczone z kopii zapasowej online.

Nie wahaj się podzielić swoimi komentarzami i pytaniami!

Oceń ten artykuł :

Ten artykuł był dla Ciebie przydatny ?

Article utileTak

Article non utileNie

MerciMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Podobne artykuły

2mn czytanie

Jak dodać klucz RSA do usługi dysku SCP Rsync?

1mn czytanie

Jak utworzyć zdalny skrypt kopii zapasowej za pomocą Rsync?

0mn czytanie

Jak wykonać kopię zapasową witryny za pomocą LWS Drive?

4mn czytanie

narzędzie do przywracania backup2l


Zadaj pytanie zespołowi LWS i jego społeczności