5 linijek skryptu i masz automatyczny backup całej strony!

czwartek, 10 Czerwiec 2010 @ 11:06 AM

© alexmuse

Ostatnio pisałem o tym, jak z poziomu PHP wykonać backup bazy danych oraz jak spakować pliki do jednego archiwum .tar.gz, również przy pomocy skryptu PHP. Nadszedł czas na podsumowanie i połączenie obu tych metod w jedną całość na wypadek, gdyby kiedykolwiek serwer z twoją stroną WWW zmienił się w coś takiego jak na zdjęciu obok, a wraz z nim miesiące twojej pracy nagle przestały istnieć. W efekcie otrzymamy niezwykle prosty, ale skuteczny skrypt do automatycznego backupu:

$date = date("Y-m-d_G-i-s");

system("mysqldump --opt --user=username--password=hasło --host=nazwa_hosta_z_bazą baza_danych > db_$date.sql");

system("tar zcf backup_$date.tar.gz ../www/ db_$date.sql &");

system("rm db_$date.sql");

@mail("twój@mail.tld", "Backup $date wykonany", "\n", "From: Backup <twój@mail.tld>");

1. W pierwszej linijce pobieramy oczywiście aktualną datę. Przyda nam się ona w każdym następnym kroku – umieścimy ją w nazwie każdego tworzonego pliku oraz w nazwie naszego końcowego archiwum.

2. Druga linijka to zrzut bazy danych. Przeczytaj ten artykuł, by dowiedzieć się więcej. Zamień odpowiednie zmienne takie jak nazwa użytkownika, hasło itp. na własne, poprawne dane.

3. W trzeciej linijce znajduje się polecenie utworzenia archiwum, w którym znajdzie się katalog www oraz zrzut bazy danych. Należy dostosować ścieżkę dostępu do katalogu ze stroną do własnych potrzeb. Więcej na temat tworzenia archiwum znajdziesz tutaj.

4. W czwartej linijce usuwamy plik ze zrzutem bazy danych – nie jest on nam już potrzebny, a jego kopia znajduje się już wewnątrz naszego archiwum.

5. W piątej linijce znajduje się funkcja mail(), która wysyła do nas maila z powiadomieniem o wykonaniu backupu. Można ją dowolnie dostosowywać do własnych potrzeb.

Cron: automatyczne wykonywanie skryptów co pewien czas

Ten skrypt można wykonywać ręcznie, wpisując jego nazwę i ścieżkę dostępu w zwykłej przeglądarce. To już i tak niezłe ułatwienie. Wystarczy, że w kalendarzu zaznaczysz sobie, że trzeba zrobić backup co 2 tygodnie i po sprawie. Wykonujesz skrypt, pobierasz utworzone archiwum przez FTP i gotowe.

Można też zautomatyzować cały proces za pomocą cron’a. Cron to unixowy program, który służy do uruchamiania procesów na serwerach w określonych godzinach lub co określoną ilość czasu. Sprawdź, czy twój hosting ma dostęp do crona i zainstaluj skrypt według przewodnika dostarczonego przez firmę hostingową, żeby wykonywał się np. co 2 tygodnie, o godzinie 3 w nocy. Oczywiście możesz te opcje zmieniać i łączyć na wiele sposobów – zobacz jak wygląda przewodnik po cronie w OVH.

Zdjęcie komputera: alexmuse.

Czytaj także

Podziel się ze znajomymi:
  • Print
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • email
  • Google Buzz
  • LinkedIn
  • RSS
  • Technorati
  • Wykop
  • Add to favorites
  • Reddit
  • Tumblr

Książki na ten temat

Wielkie umysły programowania. Jak myślą i pracują twórcy najważniejszych języków Sekrety mistrza fotografii cyfrowej. W dążeniu do perfekcji Joomla! Budowa i modyfikacja szablonów PHP, MySQL i MVC. Tworzenie witryn WWW opartych na bazie danych Czysty kod. Podręcznik dobrego programisty
Wielkie umysły programowania. Jak myślą i pracują twórcy najważniejszych języków Sekrety mistrza fotografii cyfrowej. W dążeniu do perfekcji Joomla! Budowa i modyfikacja szablonów PHP, MySQL i MVC. Tworzenie witryn WWW opartych na bazie danych Czysty kod. Podręcznik dobrego programisty

Skomentuj

O mnie

Kto pisze tego bloga?

Nazywam się Paweł Pela i to jest jeden z moich blogów. Strony tworzę od kilku lat. Są one coraz ważniejszym źródłem dochodów w moim budżecie i z każdym miesiącem ich znaczenie wzrasta.

Wysoko cenię wolność i twórcze życie, dlatego postanowiłem spróbować, czy da się uniezależnić tworząc własne serwisy internetowe. Okazuje się, że jest to możliwe.