Czy Twój serwer VPS to taki samotny wojownik, nad którym śpisz półprzytomny, bo boisz się, że jutro rano obudzisz się bez żadnej strony, bazy danych ani… czegokolwiek? Spokojnie, każdy z nas był kiedyś w tym punkcie. Wiesz, ta chwila paniki: „Serwer zniknął, a ja nie mam kopii!” albo „Kiedy ostatni raz robiłem backup?!”. Brzmi znajomo? Jeśli tak, to jesteś we właściwym miejscu.
Zróbmy coś, co pozwoli Ci spać spokojniej: zautomatyzuj zadania i ustaw backup, który zadba o Twoje dane bez Twojego udziału. Omówimy proste (i też bardziej zaawansowane) rozwiązania, przykładowe skrypty i narzędzia, które sprawią, że Twój VPS stanie się niezawodną maszyną, a ewentualna katastrofa przestanie być powodem do bicia się w piersi.
Dlaczego automatyzacja i kopie zapasowe są niezbędne?
- Ludzki błąd – nawet najbardziej uważny admin może kliknąć „rm -rf /*” (ech… nie pytaj, skąd wiem).
- Awaria sprzętowa – dysk SSD raz na jakiś czas może się zbuntować i przestać działać.
- Aktualizacje i zmiany – czasami instalacja paczki wywala zależności i serwer pada.
- Wymogi biznesowe – klienci, przełożeni i własne sumienie wymagają, żebyś miał kopię, gdyby coś poszło nie tak.
Brzmi dramatycznie? Może. Ale… to się da ogarnąć. Dzięki automatyzacji Twoje zadania będą odwalać roboty. A backup? Będzie robił roboty. Ty? Wyłączysz komputer i pójdziesz spać.
1. Proste narzędzia: cron
+ rsync
1.1 Co to jest cron
?
cron
to taki sprytny demon w systemie Linux, który o określonych godzinach i dniach uruchamia polecenia. Wyobraź sobie, że wpisujesz w kalendarzu: „W każdy dzień o 3:00 w nocy zrób backup”. Cron zrobi to za Ciebie.
1.2 Co to jest rsync
?
rsync
to narzędzie do synchronizacji plików. Świetnie nadaje się do kopii zapasowych, bo przenosi tylko zmienione pliki, a resztę zostawia w spokoju. Dzięki temu backup trwa szybciej i nie zajmuje niepotrzebnego miejsca.
1.3 Przykład: backup katalogu /var/www
na inny dysk
- Utwórz katalog na backup
Załóżmy, że masz dodatkowy dysk zamontowany w/backup
.
mkdir -p /backup/www chown root:root /backup/www chmod 700 /backup/www
Skrypt backupujący
Stwórz plik /usr/local/bin/backup_www.sh
:
#!/bin/bash # backup_www.sh – kopiowanie katalogu /var/www do /backup/www (z datą) DATA=$(date +%Y-%m-%d_%H-%M) SRC="/var/www/" DST="/backup/www/backup_$DATA" rsync -avh --delete $SRC $DST # --delete usuwa pliki w destynacji, których już nie ma w źródle
Nadaj prawa do wykonywania:
chmod +x /usr/local/bin/backup_www.sh
Ustaw zadanie w cron
Otwórz crontab dla roota:
crontab -e
Dodaj linię:
0 3 * * * /usr/local/bin/backup_www.sh >> /var/log/backup_www.log 2>&1
- To znaczy: codziennie o 3:00 uruchom skrypt i zapisz logi do pliku.
I… gotowe! Twój katalog /var/www
jest kopiowany co noc, a w /backup/www/
masz kolejne archiwa. Proste, przyjemne i skuteczne.
2. Monitorowanie i powiadomienia
Sam backup to nie wszystko – chcesz wiedzieć, czy się powiódł, czy wyrzucił błąd. Możesz:
Przy okazji crona dodawać && echo "OK" | mail -s "Backup OK" twoj@mail.pl
albo wysyłać komunikaty w razie błędu:
/usr/local/bin/backup_www.sh >> ... || echo "Backup failed" | mail -s "Backup ERROR" twoj@mail.pl
- Użyć narzędzi do monitoringu: Zabbix, Checkmk, Uptime Kuma – każdy z nich może sprawdzać, czy plik backupu się pojawił, ile waży i czy jest aktualny.
- Logi centralne: Przesyłaj logi do ELK Stack lub Graylog, tam filtrujesz błędy „ERROR” i dostajesz alerty.
3. Odzyskiwanie danych – DRILL TEST!
Najważniejsze: przetestuj odzyskiwanie. Bez testu nie wiesz, czy backup działa. To jak ubezpieczenie – najlepiej dowiedzieć się, że polisa jest bezużyteczna, zanim dom się pali.
4.1 Przywracanie z rsync
Zakładając, że backup w /backup/www/backup_2025-05-11_03-00
, skopiuj pliki z powrotem:
rsync -avh /backup/www/backup_2025-05-11_03-00/ /var/www/
4.2 Przywracanie z BorgBackup
Aby zobaczyć dostępne archiwa:
borg list /backup/borg
Przywróć archiwum backup-2025-05-11_02-30
do /restore
:
borg extract /backup/borg::backup-2025-05-11_02-30 --target /restore
Podsumowanie
- Zacznij od prostej automatyzacji:
cron
+rsync
. - Jeśli potrzebujesz szyfrowania i backupów offsite – wybierz BorgBackup lub Restic.
- Monitoruj proces – wyślij maila w razie błędu lub użyj narzędzi, które Cię zaalarmują.
- Testuj odzyskiwanie – DRILL TEST ratuje życie.
Irytacja? Brak czasu? Brzmi jak wybuchowa mieszanka. Ale wiesz co? Zautomatyzowanie i zabezpieczenie serwera to takie odpalanie autopilota. Raz skonfigurujesz i zapomnisz (prawie) o całym procesie. A Twoje dane będą bezpieczne, niczym skarb w zamkniętym sejfie.