Skocz do zawartości
W Naszym sklepie znajdziesz wiele skinów do cs go, konkurencyjne ceny i natychmiastowa wysyłka to Nasza dywiza!
  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

kondork

[Pobierz] Backup bazy na e-mail lub zewnętrzny serwer FTP

Promowane odpowiedzi

Autor: Tosiek

Nazwa modyfikacji: Backup bazy na e-mail lub zewnętrzny serwer FTP

Informacje dot. modyfikacji

Backup bazy na e-mail lub zewnętrzny serwer FTP

Wysyła backup bazy forum na adres e-mail administratora lub na podany serwer FTP

##############################################################
## MOD Title:         Backup bazy na e-mail lub FTP
## MOD Author:         Tosiek
## MOD Description:     Wysyla backup bazy forum na adres e-mail administratora lub na podany serwer FTP.
## MOD Version:         2.3
##
## Installation Level:     Easy
## Installation Time:     2 Minutes
##
## Files To Edit (1):     includes/functions_admin.php
##
##
## Included Files (1):    includes/backup_bazy.php
##                        includes/mods_info/backup_na_mail_ftp.php
##
##############################################################
Co modyfikacja potrafi: :arrow: Ta modyfikacja wysyła backup robiony poprzez skrypt forum na adres email administratora jako załącznik lub wysyła na podany serwer FTP Jest to bardzo wygodne, ponieważ stajemy się bardziej niezależni od hostingu w razie jakiejkolwiek awarii... (nie tylko bazy ale i ftp na którym zapisywane są kopie bazy). UWAGA: domyślnie plik z kopią bazy jest wysyłany w częściach po 7MB, niżej jest podane jak to zmienić ale trzeba uważać na limit rozmiaru załącznika na naszej poczcie. Instrukcja instalacji oraz gotowe pliki w załączniku. Instalacja polega na usunięciu od podanego fragmentu do prawie samego końca i zamienieniu tego na jedną linijkę. Wszystko co potrzebne zostało przeniesione do /includes/backup_bazy.php Wybór między emailem i FTP Skrypt umożliwia wysyłanie kopii w częściach na email lub FTP bądź na FTP i email razem. Mamy trzy opcje do wyboru: email (domyslnie) FTP, musisz skonfigurowac prawidlowe polaczenie nizej email i FTP na raz (niezalecane) zmienia się to w pliku /includes/backup_bazy.php:
$co_z_ta_kopia = 1; //domyslnie 1 czyli wysylka na email	
Jak skonfigurować automatyczny backup? Wchodzimy do: Panel Administracyjny >> SQL >> Kopia Zapasowa: Włącz automatyczne tworzenie kopii - TAK Kopiuj zawartość tabel search - NIE (po wgraniu takiej kopie będziemy w stanie odbudować tabele search; jest taka opcja w PA) Kopiuj zawartość tabeli read_history - TAK lub NIE - zależy od preferencji (są to posty nieprzeczytane - żeby zmniejszyć rozmiar bazy zalecam NIE; użytkownicy nadal mogą szukać nieczytanych postów od X czasu przez wyszukiwarkę) Ilość przetrzymywanych kopii - co najmniej 1 i klikamy Wyślij cEGQk.png Prawidłowa konfiguracja tworzenia kopii w PA. Jak sprawdzić czy to działa? Wchodzimy do: Panel Administracyjny >> SQL >> Kopia Zapasowa: klikamy Wykonaj kopię teraz i po jakimś czasie sprawdzamy skrzynkę emailową administratora forum lub zewnętrzny FTP. Co jaki czas wykonywana jest kopia zapasowa? Domyślnie co 24 godziny aby kopia była wykonywana np. co 12 godzin należy zmodyfikować plik common.php. otwieramy plik common.php i szukamy:
24 * 3600
za 24 wstawiamy ilość godzin co którą będzie wykonywany backup np 12 efekt końcowy powinien wyglądać:
CR_TIME - (12 * 3600))
Pamiętaj - aby emaile doszły należy mieć prawidłowo skonfigurowane adresy email w panelu administratora lub w pliku! Panel Administracyjny >> Ogólne >> Konfiguracja >> Ustawienia E-mail'i -Adres E-mail Administratora -E-mail zwrotny -E-mail nadawcy lub możemy podać własny adres email w pliku /includes/backup_bazy.php:
//mozesz podac adres email, zostaw puste aby kopia byla wysylana na adres z PA
$to = '';    
zmień na:
//mozesz podac adres email, zostaw puste aby kopia byla wysylana na adres z PA
$to = 'twoj_email@.....pl';
Pamiętaj - aby kopie były prawidłowo zapisywane na zewnętrznym FTP podaj poprawne dane! Dane zmieniasz w pliku /includes/backup_bazy.php:
//
//Konfiguracja FTP
//
//Adres serwera FTP - w postaci adresu IP
$ftp_serwer = '127.0.0.1';
//Login do konta FTP
$ftp_nazwa_uzytkownika = 'login@example.org';
//Twoja haslo do konta FTP
$ftp_haslo = 'password';
//Katalog wzgledem startowego (tego po zalogowaniu) np. /backup/ - musi byc juz utworzony
$ftp_katalog = '/';
Ścieżkę do katalogu podajemy od miejsca w którym łączy się ftp (czyli pierwszego widocznego katalogu po połączeniu), przykładowa ścieżka:
$ftp_katalog = '/1_katalog/2_katalog';
I kopia będzie zapisana w folderze 2_katalog o ile wszystkie foldery istnieją. Dlaczego email nie dochodzi? Tak powinien wyglądać mail: XCDvb.png Upewnij się, że istnieje folder /db/db_backup/ a w nim są pliki index.php, index.htm, index.html oraz .htaccess i skrypty mają prawo do zapisu i odczytu w tym folderze. Sprawdź czy kopie w całości tworzą się prawidłowo w folderze podanym wyżej. Wszystko co dotyczy wysyłania pliku na email jest zapisywane w logu: /db/db_backup/log.txt i od tego pliku zacznij. Wymagana jest poprawnie działająca funkcja mail() na serwerze. Możliwe też, że twoja skrzynka ma limit na wielkość załącznika więc zmniejsz rozmiar części bazy. Dlaczego kopia nie zapisuje się na FTP? Przeczytaj informacje podane wyżej dla maila. Przejrzyj log: /db/db_backup/log.txt Prawidłowo zapisana kopia na FTP: 7nPje.png Zmiana rozmiaru partów bazy Zawsze odejmij od maksymalnego rozmiaru załącznika 30%. Rozmiar podawany w megabajtach. otwórz plik backup_bazy.php:
// rozmiar pojedynczej czesci bazy danych w MB (megabajtach) dla wyslki email zalecane 7 bo rozmiar moze wzrosnac o 30%
$piecesize = 7;
zmienimy np na 8MB:
// rozmiar pojedynczej czesci bazy danych w MB (megabajtach) dla wyslki email zalecane 7 bo rozmiar moze wzrosnac o 30%
$piecesize = 8;

Dlaczego nie można zmienić rozmiaru części oddzielnie dla FTP i email?

Przy wybraniu tylko jednej opcji wysyłki zmieniasz rozmiar jednej części tak jak podane wyżej.

Zakładając, że wybierzesz najwolniejszą metodę wysyłki czyli na FTP i email razem to jeżeli cokolwiek by się stało z jakąkolwiek częścią to lepiej żeby udało się tą część odzyskać z drugiego medium.

Np. nie doszedł Ci email z częścią nr 4 to możesz ją wziąć z FTP i scalić pliki. Nie byłoby toi tak łatwe przy różnych rozmiarach części.

Jak scalić części plików?

Pliki wysłane na email lub FTP są częściami całego pliku, który znajduje się na serwerze więc do scalenia potrzebujemy wszystkie pliki z końcówką od 001 do 0XX w jednym folderze. (nie możemy żadnego pominąć)

Do scalania otwieramy zawsze pierwszy plik z rozszerzeniem .001.

Scalić można przy pomocy programu 7-Zip: http://www.7-zip.org/

Po prostu otwieramy plik .001 jako archiwum i wypakowujemy to co jest w środku.

lub

HJSplit - File Join: http://www.hjsplit.org/windows/

Wybieramy plik .001 i scalamy. (jest też wersja na linuxa)

Jak przywrócić backup bazy?

Najpierw wgraj te pliki: https://przemo.org/phpBB2/forum/viewtopic.php?t=87399 (nie czyść pliku config.php tylko go odpowiednio uzupełnij, bo nie chcesz instalować czystego forum) a potem normalnie wgraj kopię bazy.

Stara modyfikacja z kopią na zewnętrznym FTP: Backup bazy danych na zewnętrznym FTP

Dzielenie plików wzięte z HJSplit: http://www.hjsplit.org/php/

Changelog:

1.0 - pierwsza wersja wysyła cały backup na email

2.0 - wszystkie funkcje przeniesione do pliku backup_bazy.php, dodany podział pliku na części po 7MB

2.1 - dobranie limitów aby kopia dużej bazy wykonała się w całości, przeniesienie wszystkich funkcji do pliku /includes/backup_bazy.php

2.2 - dodanie opcji wysyłania kopii na zewnętrzny FTP - można wybrać czy ma wysyłać na email, ftp lub email i ftp razem

2.3 - drobne poprawki, powinno lepiej działać z dużymi bazami wysyłanymi na mail

2.3.1 - poprawiony sposób zmiany limitów czasowych i przerwania połączenia. Limit czasu: 2 godziny.

Download:

email_database_backup.txt

DBmailFTP_pliki_2.3_przemo_1.12.7.zip

DBmailFTP-instalacja_2.3.zip

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

×