Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Bakup bazy danych z poziomu php
karmelik
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 2.12.2014

Ostrzeżenie: (0%)
-----


Witam, mam skrypt który dodaje i usuwa produkty z bazy danych sklepu internetowego, potrzebuje do niego dopisac modul codziennego backup'u bazy danych. Znalazlem w internecie jedno rozwiazanie ale baza sie nie chciala zaimportowac, znacie jakies sprawdzone sposoby ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
Turson
post
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


cron co 24h z poleceniem mysqldump
Go to the top of the page
+Quote Post
Rysh
post
Post #3





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

Ostrzeżenie: (0%)
-----


Ja używam skryptu napisanego w bash'u: dump bazy danych, pakuje, wysyła meilem na adres zdefiniowany - to wszystko daily cron.
Wszystko ładnie pięknie działa i kopia trzymana jest na niezależnym hostingu.


--------------------
Go to the top of the page
+Quote Post
Pyton_000
post
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Ja sobie zasysam diff z VPSa codziennie o 9 rano jak siadam do pracy smile.gif
Go to the top of the page
+Quote Post
karmelik
post
Post #5





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 2.12.2014

Ostrzeżenie: (0%)
-----


@rysh fajne rozwiazanie ale moglbys pokazac ten skrypt ?
myslqdump sprobowalem wlasnie:
  1. exec('mysqldump -u '.$user.' -p['.$haslo.'] ['.$nazwa_bazy.'] > plik.sql')

utworzy zostal plik.sql ktory ma wielkosc 0
szybkie rozwiazanie, chociaz lepiej byloby bez exec a cos uniwersalnego zrobic na serwery z zablokowanym exec, ale nie wazne, to niestety nie dziala mi, cos chyba robie zle ?
Go to the top of the page
+Quote Post
Pyton_000
post
Post #6





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


bez [ i ]
Go to the top of the page
+Quote Post
karmelik
post
Post #7





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 2.12.2014

Ostrzeżenie: (0%)
-----


chyba nadal jest cos nie tak, moj dokladny kod:
  1. exec('mysqldump -u '.$db_config['username'].' -p '.$db_config['password'].' '.$db_config['db_name'].' > plik.sql');


nadal sie tworzy plik i nadal jest wielkosci 0 ;/
konfiguracja jest prawidlowa, pobierana prosto z konfiguracji magento ktore stoi i wykorzystywana do mojej aplikacji (te same zmienne do polaczenia z baza danych), sprawdzalem, zawieraja prawidlowe wartosci

Ten post edytował karmelik 16.12.2014, 15:46:10
Go to the top of the page
+Quote Post
Pyton_000
post
Post #8





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


  1. var_dump('mysqldump -u '.$db_config['username'].' -p '.$db_config['password'].' '.$db_config['db_name'].' > plik.sql');

prawdę Ci powie

PS. bez odstępów po -p i -u

Ten post edytował Pyton_000 16.12.2014, 16:34:18
Go to the top of the page
+Quote Post
karmelik
post
Post #9





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 2.12.2014

Ostrzeżenie: (0%)
-----


Robiłem już w kazdej mozliwosci, z odstepami, bez, z odstepem po prawo, po lewo, wyechowalem sobie czy napewno jest dobre i momo wszystko nadal tworzy mi sie plik rozmiaru 0 sad.gif zalogowalem sie przed chwila do phpmyadmin z tych danych i nie mam juz zadnych pomyslow sad.gif
Go to the top of the page
+Quote Post
Pyton_000
post
Post #10





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


no to jeszcze
  1. var_dump(exec('mysqldump -u '.$db_config['username'].' -p '.$db_config['password'].' '.$db_config['db_name'].' > plik.sql'));
Go to the top of the page
+Quote Post
karmelik
post
Post #11





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 2.12.2014

Ostrzeżenie: (0%)
-----


Zwróciło:
  1. string(0) ""

probowalem z kazda mozliwoscia, ze spacjami, bez, spacja po lewo, po prawo tylko i ciagle to samo. Moze na serwerze czegos nie ma albo exec() blokuje cos lub sam jest zablokowany ?
Go to the top of the page
+Quote Post
Rysh
post
Post #12





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

Ostrzeżenie: (0%)
-----


Cytat(karmelik @ 16.12.2014, 14:35:38 ) *
@rysh fajne rozwiazanie ale moglbys pokazac ten skrypt ?

Oczywiście:
Kod
#!/bin/bash

umask 0077

target_email='twoj@adres.email'

sql_user='db_login'
sql_haslo='db_pass'
sql_baza='db_name'

temp_plik=$HOME"/"$(date "+domena.pl-%F_%H-%M-%S.mysql.gz")
/usr/bin/mysqldump --add-drop-table --add-locks --create-options \
        --disable-keys --extended-insert --lock-tables --quick \
        --set-charset --default-character-set=utf8 \
        -p$sql_haslo -u$sql_user $sql_baza | /bin/gzip > $temp_plik

/usr/bin/mutt -e "set record = ''" $target_email -a $temp_plik -s $temp_plik </dev/null

/bin/mv $temp_plik $HOME/backup/

chmod +x backup.sh


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 10:00