PHPBB3 AtomatycznyBackup

 

    Ostatnie problemy na Hellgates oraz chwilowa i potencjalnie bardzo niebezpieczna niedyspozycja hostingu, z którego obecnie korzystam skłoniły mnie do szybkiego zaimprowizowania modułu, który dbałby o to, żebym nigdy nie znalazł się w podobnej sytuacji. Z pustą, białą stroną i błędem 500 informującym mnie o skasowaniu mojej strony bez uprzedniego poinformowania mojej osoby, a także świadomości utraty blisko miesiąca pracy i wkładu wszystkich moich graczy. Dla zwykłego forum może nie byłby to wielki cios, jednak kiedy coś takiego spotka PBF managerski, gdzie każda cyferka jest istotna, a każdy dzień rozgrywki jest niezwykle dla forum cenny, Administrator myśli tylko o tym, jak poinformować graczy, że w obliczu katastrofy opuściły go chęci do pracy...

    Co osiągnięcie po ukończeniu tego krótkiego poradnika? Skrypt, który bez waszej ingerencji, co 24h o ustalonej porze będzie zapisywał bazę danych waszego forum, a następnie przesyłał na wskazany przez was adres email. W sytuacji kryzysowej wystarczy jedynie odwiedzić maila i wybrać najnowszy backup.

    Dlaczego wysyłamy backup na adres email? Żeby nie stracić forum, gdy posypie się również dostęp do FTP.


Pobranie niezbędnych skryptów.

Potrzebujesz :

- Hostingu z dostępem do mysql oraz ftp.
! Niektóre hostingi z powodów antyspamowych blokują wysyłanie maili !
- Nazwy użytkownika, hasła oraz adresu hosta Twojej bazy danych.
- Konta email, klienta FTP (FileZilla), Notepad++
- Od 10 do 30 minut wolnego czasu.

- Auto Backup v1.02 PL
http://phpbb3.pl/download/file.php?id=1092&sid=5ef867a37f4d69392f8380714401dc5f lub http://www.mediafire.com/download/beduiin3lzi6k2d/auto_backup_1_0_2_1.zip

- class.phpmailer.php, class.smtp.php oraz backup.php
http://www.mediafire.com/download/d7zl8sgckn2ak7s/skrypty.zip


Instalacja Auto Backup v1.02 PL.

Obrazek


    Pobieramy plik i wypakowujemy jego zawartość, a następnie dowolną przeglądarką otwieramy plik: install_mod.XML. Po otworzeniu pliku pokaże wam się instrukcja w języku angielskim odnośnie instalacji moda.

Obrazek

    Zjeżdżamy kilkanaście linijek niżej do nagłówka Files to edit, gdzie autor moda opisuje, jakie pliki musimy edytować, aby mod działał poprawnie. Pobieramy wskazane przez autora pliki: cron.php - z głównego katalogu forum, oraz functions.php z katalogu includes. Do pobrania plików korzystamy z dowolnego klienta FTP. Ja skorzystałem z FileZilli.

Obrazek

    Szczęśliwie dla nas mamy tylko dwa pliki, które należy edytować. Edytujemy pierwszy z nich:

Obrazek


cron.php

    Otwieramy pobrany plik za pomocą Notepad++ korzystając ze skrótu Ctrl+F otwieramy okienko wyszukiwarki, wklejamy frazę garbage_collection();

Obrazek

Znajdujemy pokazany poniżej fragment kodu:

}

// Unloading cache and closing db after having done the dirty work.
unlock_cron();
garbage_collection();

exit;

Tuż przed nim wklejamy :

Kod: Zaznacz cały
   
case 'auto_backup':
      
      if ((time() - $config['auto_backup_gc'] * 86400) <= $config['auto_backup_last_gc'])
      {
         break;
      }

      include($phpbb_root_path . 'includes/auto_backup.' . $phpEx);

      auto_backup();

   break;

Całość po wklejeniu powinna się prezentować tak jak na powyższym zdjęciu (z opisem wyszukiwania frazy garbage_collection();).


includes/functions.php

Obrazek

Tym razem wyszukujemy frazę $cron_type = 'tidy_sessions';. Następnie ponad tym:

$cron_type = 'tidy_sessions';
}

...wklejamy:

Kod: Zaznacz cały
      else if (isset($config['auto_backup_enable']) && $config['auto_backup_enable'] && (($time_now - $config['auto_backup_gc'] * 86400) > $config['auto_backup_last_gc']))
      {
         $cron_type = 'auto_backup';
      }

Edytowany fragment kodu powinien prezentować się tak, jak jest to pokazane na poniższym zdjęciu:

Obrazek


auto_backup.php

Wracamy do katalogu z pobranym modem, otwieramy folder root/includes i edytujemy plik auto_backup.php, w nim znajdujemy:

$name = 'backup_' . $time . '_' . unique_id();

I zamieniamy na:

Kod: Zaznacz cały
$name = 'backup';


Skopiowanie pozostałych plików

Obrazek

    Tym razem zaglądamy do katalogu root (oznaczenie dla katalogu głównego forum) pobranego moda. Całą zawartość folderu kopiujemy do głównego katalogu naszego forum ora przegrywamy edytowane i następnie zapisane po edycji pliki cron.php i functions.php do odpowiednich folderów (cron.php - folder główny, functions.php - katalog includes).

Obrazek


Instalacja Auto Backup v1.02 PL

Obrazek

Zgodnie z powyższą instrukcją otwieramy link: http://adres_twojego_forum.pl/install_auto_backup.php, a następnie wykorzystany plik instalacyjny usuwamy. Teraz logujemy się na forum do panelu administratora i konfigurujemy moda:

Obrazek

Obrazek

    Na koniec zaglądamy do folderu store w katalogu głównym twojego forum i kasujemy plik zabezpieczający .htaccess, jego obecność uniemożliwiłaby nam przesłanie backupu przy użyciu crona mailem. Następnie kasujemy zawartość folderu cache poza plikiem .htaccess oraz katalogiem adm.

Wysyłanie backupów mailem

Pobieramy drugą paczkę skryptów, otwieramy folder store w głównym katalogu forum, a do niego przegrywamy pobrane skrypty za wyjątkiem pliku backup.php, który uprzednio edytujemy zgodnie z opisem zawartości (na twój_mail@gmail.com będą wysyłane backupy):

Obrazek


EasyCron

Obrazek

EasyCron zapewni wywoływanie skryptu o określonej godzinie, każdego dnia bez udziału Twojej osoby. Innymi słowy po ukończeniu poradnika możesz zapomnieć o wykonywaniu backupów, a w sytuacji krytycznej odwiedzisz jedynie swoją skrzynkę email.

Obrazek

Rejestrujemy się, a następnie logujemy się do serwisu...

Obrazek

Ustawiamy nowe zadanie do wykonania i... gotowe! Hostingi takie jak ct8.pl udostepniają darmowego CRONa, na którym można ustawić konkretną godzinę. Dla przykładu mój backup jest tworzony o godzinie 23:30, a wysyłany o 23:55.

Na koniec polecam ustawienie CRONa na np. 15min, a w panelu ustawić nieco bliższą datę, aby sprawdzić czy wszystko działa poprawnie.

Obrazek

Yatsu

 

Additional Info

  • Data publikacji: Sobota, 27 Wrzesień 2014
More in this category: « Hostingi

Biorą udział w konwersacji

Komentarze (2)

Dodaj komentarz