Jak wykonać kopię zapasową serwera dedykowanego?

Procédure

Dlaczego warto tworzyć kopie zapasowe?

Podczas pracy ze sprzętem IT należy regularnie tworzyć kopie zapasowe.

Kopia zapasowa umożliwi przywrócenie maszyny lub strony internetowej do stabilnego stanu.

W tym samouczku przyjrzymy się, jak ręcznie zautomatyzować tworzenie kopii zapasowych serwera.

Jeśli ta operacja jest dla Ciebie zbyt skomplikowana, możesz otworzyć umowę outsourcingową, abyśmy mogli skonfigurować tę kopię zapasową.

Jak ręcznie tworzyć kopie zapasowe ważnych folderów i plików na serwerze?

Oto kilka przykładów skryptów, które umożliwią łatwe tworzenie kopii zapasowych wszystkich dokumentów przechowywanych na serwerze VPS:


1. Prosta kopia zapasowa

Należy pamiętać, że ten przykład nie usuwa poprzednich kopii zapasowych. Zalecamy sprawdzenie przestrzeni dyskowej dostępnej w rozwiązaniu do tworzenia kopii zapasowych.

Należy pamiętać, że ten skrypt wymaga wolnego miejsca na serwerze VPS. Zalecane jest wolne miejsce równe przestrzeni zajmowanej przez foldery, których kopie zapasowe mają zostać utworzone.

Ten pierwszy przykład to proste rozwiązanie do tworzenia kopii zapasowych dla serwera VPS. Opiera się ono na programach tar (archiwizacja) i ncftp (klient ftp).

Proste tworzenie kopii zapasowych jest dość powolne, jeśli istnieje wiele plików do utworzenia kopii zapasowej. Zajmuje też dużo miejsca na serwerze FTP w porównaniu z innymi rozwiązaniami.

Przywracanie jest proste: wystarczy zastosować ostatnią kopię zapasową.

Program tar jest standardowo instalowany w większości dystrybucji. Program ncftp nie jest zazwyczaj instalowany domyślnie. Tutaj znajdują się instrukcje instalacji ncftp:

  • Na dystrybucji debian (ISPConfig, Prestashop) lub ubuntu :
apt-get install ncftp

  • Na dystrybucji CentOS :
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/ncftp-3.2.2-1.el5.i386.rpm

Skopiuj i zapisz poniższą zawartość w pliku /root/backup.sh na swoim serwerze.

  • Skrypt backup.sh
#!/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ## ## Przykładowy skrypt backupu ## ## LWS ( http://lws.fr/ ) ## ## ## Konfiguracja ## # Katalog do backupu REPERTOIRES="/var /home" # # Parametr FTP FTP_SERVEUR="192.168.2.242" FTP_UTILISATOR="client_ftp" FTP_PASSWORD="123456" FTP_REPERTOIRE="/backup/" ## ## Ustawienia aplikacji ## # backup REPERTOIRE_BACKUP="/tmp/backup/" BACKUP="backup.tar.gz" # tar TAR_OPTIONS="--exclude=$REPERTOIRE_BACKUP --exclude=/dev --exclude=/proc --exclude=/sys" # date DATE=$(date +"%Y-%m-%d") ## ## Tworzenie kopii zapasowej ## mkdir -p ${REPERTOIRE_BACKUP} mkdir -p /var/backup/ tar ${TAR_OPTIONS} -zcvf ${REPERTOIRE_BACKUP}/${BACKUP} $REPERTOIRES ## ## Wyślij kopię zapasową ## ncftp -u"$FTP_USER" -p"$FTP_PASSWORD" $FTP_SERVER < mkdir $FTP_REPERTOIRE mkdir $FTP_REPERTOIRE/$DATE cd $FTP_REPERTOIRE/$DATE lcd $REPERTOIRE_BACKUP mput * quit EOF rm -rf $REPERTOIRE_BACKUP

  • Skonfiguruj skrypt, edytując go:

Zmienna DIRECTORIES zawiera ścieżkę do katalogów, których kopie zapasowe mają być tworzone. Katalogi /var i /home to zazwyczaj dwa katalogi zawierające dane użytkownika.

# Directory to be backed up REPERTOIRES="/var /home


Zmienne FTP_ zawierają parametry połączenia dla konta kopii zapasowej FTP. FTP_REPERTOIRE to katalog, w którym będą zapisywane kopie zapasowe na koncie FTP.

# Parametry FTP FTP_SERVER="192.168.1.250" FTP_USER="client_ftp" FTP_PASSWORD="12345678" FTP_REPERTOIRE="/backup/"


Uczyń skrypt backup.sh wykonywalnym:

chmod +x /root/backup.sh


Następnie dodaj wpis do zadań cron :

crontab -e


Jeśli chcesz wykonywać kopię zapasową codziennie o 3 rano, dodaj następujący wpis:

0 3 * * * /root/backup.sh >/dev/null 2>&1


Jeśli chcesz tworzyć kopie zapasowe w każdą niedzielę o 3 rano, dodaj następujący wpis:

0 3 * * 0 /root/backup.sh >/dev/null 2>&1


2. Przyrostowa kopia zapasowa

Należy pamiętać, że ten przykład nie usuwa starych kopii zapasowych. Zaleca się sprawdzenie dostępnego miejsca na dysku rozwiązania do tworzenia kopii zapasowych.

Należy pamiętać, że ten skrypt wymaga wolnego miejsca na serwerze VPS. Zalecane jest wolne miejsce równe przestrzeni zajmowanej przez foldery, których kopie zapasowe mają zostać utworzone.

Przykład 2 powtarza przykład 1, ale dodaje przyrostową kopię zapasową.

Przyrostowa kopia zapasowa tworzy kopię zapasową tylko tych plików, które uległy zmianie po wykonaniu pełnej kopii zapasowej. Zaleca się wykonywanie pełnej kopii zapasowej od czasu do czasu.

To rozwiązanie pozwala na regularne aktualizowanie kopii zapasowych, a jednocześnie zajmuje mniej miejsca niż pełne kopie zapasowe, które są równie regularne. Przyrostowe kopie zapasowe są również szybsze.

Przywracanie jest jednak bardziej skomplikowane. Podczas przywracania należy zastosować ostatnią pełną kopię zapasową, a następnie wszystkie przyrostowe kopie zapasowe od czasu ostatniej pełnej kopii zapasowej.

W tym przykładzie wykonamy pełną kopię zapasową w pierwszą niedzielę każdego miesiąca, a następnie przyrostowe kopie zapasowe każdego dnia.

Powtórz przykład 1 z wyjątkiem części dotyczącej zadań cron.


Edytuj plik /root/backup.sh i zmodyfikuj parametr TAR_OPTIONS w następujący sposób:

# tar TAR_OPTIONS="-g /var/backup/incremental_tar.data --exclude=/var/backup/ --exclude=$REPERTOIRE_BACKUP --exclude=/dev --exclude=/proc --exclude=/sys"


Następnie dodaj dwa wpisy do listy zadań cron:

crontab -e


Pierwszy wpis wykonuje kopie zapasowe codziennie o 3 rano:

0 3 * * * /root/backup.sh >/dev/null 2>&1


Drugi wpis usuwa plik /var/backup/incremental_tar.data w pierwszą niedzielę każdego miesiąca. Program tar wykonujący kopię zapasową nie będzie już wiedział, które pliki zostały już zarchiwizowane i wykona nową pełną kopię zapasową.

0 2 1-7 * 0 rm -rf /var/backup/incremental_tar.data

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

3mn czytanie

Jak uruchomić outsourcing?

0mn czytanie

Kontakt z pomocą techniczną przez e-mail

0mn czytanie

Jak przywrócić kopię zapasową dedykowanego serwera VPS?


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