Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

[Serwery] Jak działa demo systemu CMS online

Witam.

Ostatnio pewien znajomy pokazał mi "bajer" który automatycznie sam przywraca kopię bazy co X minut, pomyślałem, że przedstawię w jaki sposób tak przydatna czynność jest wykonywana.

W Uniksach jest tak zwany crontab czyli program chodzący w tle który wykonuje polecenia o określonych porach i odstępach czasowych.

r   e   k   l   a   m   a

Jak się można domyślić do crontaba należy dodać krótkie polecenie które będzie przywracać bazę danych z kopii zapasowej.

Ze względu na różne warunki panujące na serwerach jest zatem kilka metod na wykonanie tego prostego zadania.

1. Dostęp do shella na serwerze hostingowym

To jest ta najłatwiejsza sytuacja w której wystarczy posłużyć się shellowym crontabem całkowicie bezproblemowo i bezpłatnie.

1. Tworzymy kod przywracający backup

#!/bin/bash
cp ~/.kopia-bazy-pokazowej /var/www/data/db/database.sqlite3
chown www-data /var/www/data/db/database.sqlite3 # opcjonalnie

2. Dodajmy wpis do crontaba

crontab -e

*/10 * * * * /home/uzyszkodnik/przywroc-backup.sh

Backup będzie tym sposobem przywracany co 10 minut.

2. Brak dostępu do shella, panel webowy z płatnym cronem

Harmonogram zadań, dokładnie taki termin często pojawia się w panelach zarządzania kontem hostingowym.

W hostingach za SMS jedno zadanie w harmonogramie może kosztować przeciętnie ok. 10 zł

Przez brak dostępu do shella skrypt wykonujący kopie zapasowe należy napisać w PHP/Ruby/Python/Perl/LUA/ASP.NET lub w innym języku skryptowym.


<?php
copy('backupy/baza-danych.sqlite3', 'data/db/demo.sqlite3');
?>

Reguły crontaba w panelach WWW są zazwyczaj kilkalne więc nie powinno być problemów z ustawieniem.

Podsumowując prosty, banalny sposób na postawienie systemu CMS z panelem administratora dostępnym dla wszystkich w ramach demonstracji działania naszego skryptu.

Całość oparta na crontabie który jest idealnie prosty w użytku i nie powinien żadnemu administratorowi ani programiście webowemu przysporzyć problemów. 

Komentarze