Strona 1 z 2

Skrypt robiący backup bazy MySQL

: 18 lut 2009, 09:17
autor: Szmitas
Potrzebny byłby mi taki skrypcik jak podałem w temacie.
Skrypt loguje do MySQL (serwer zewnętrzny), robi backup i zapisuje go na dysku w podanej lokalizacji, spakowany jako tar.gz - nazwą pliku byłaby data wykonania backupa wg wzoru YYMMDD.

Chciałbym połączyć ten skrypt z cronem, aby co jakiś czas robił mi backup - ja o tym nigdy nie pamiętam :P

Znalazłem w Internecie skrypt logujący do ftp i ściągający dane na dysk. W połączeniu z cronem bardzo ułatwia mi niektóre rzeczy związane z zarządzaniem stroną.

Skrypt może być napisany w dowolnym języku, liczy się skuteczność. Chociaż nie ukrywam, że najlepiej, gdyby napisany był w bashu.
Ktoś z Was ma dostęp do takiego skryptu?

Odp: Skrypt robiący backup bazy MySQL

: 18 lut 2009, 11:31
autor: хur
co prawda jeśli chodzi o rbd to dotykałem się tylko
p*sqla, ale można być sprytnym i wpisać w google
mysql shell backup
a potem kliknąć na linka który pojawia się
(z grubsza) na środku ekranu (jest zatytułowany:
How to backup MySQL databases, web server files to a FTP server automatically
)

http://www.cyberciti.biz/tips/how-to-ba ... cally.html

Odp: Skrypt robiący backup bazy MySQL

: 18 lut 2009, 12:08
autor: DNADesigNed
Cześć,
Jeżeli masz zainstalowengo mysql-client'a to wystarczy, że Twój skrypt będzie wykonywał polecenie:

Kod: Zaznacz cały

mysqldump -h ADRES_BAZY_DANYCH -u NAZWA_UZYTKOWNIKA --password=HASLO_UZYTKOWNIKA nazwa_bazy | gzip -9 > `date +%y%m%d`.gz
raz dziennie. ;)

Odp: Skrypt robiący backup bazy MySQL

: 18 lut 2009, 12:09
autor: Szmitas
Tak, tylko z tego co widzę dotyczy to bazy danych znajdującej się na localhoscie.
Ja nie mam serwera na swoim komputerze - adres zewnętrzny - serwery ovh.pl

A jak dostać adres bazy danych? :)

Odp: Skrypt robiący backup bazy MySQL

: 18 lut 2009, 12:17
autor: DNADesigNed
Ekhem... podałem Tobie gotowe polecenie, tylko trzeba podmienić elementy napisane dużymi literami. ;)

Odp: Skrypt robiący backup bazy MySQL

: 18 lut 2009, 12:20
autor: Szmitas
Ja Cię doskonale rozumiem, tylko nie mam pojęcia jak uzyskać adres bazy danych. Zawsze logowałem się do phpmyadmina i tam robiłem zrzut... nie wiem jak będzie wyglądał bezpośredni adres bazy.

Odp: Skrypt robiący backup bazy MySQL

: 18 lut 2009, 12:28
autor: DNADesigNed
Ahh, o to chodzi. :) Spróbuj po prostu adresem swojej strony. Większość provider'ów stosuje taką praktykę, że serwer WWW i baza danych są na tej samej maszynie.

Odp: Skrypt robiący backup bazy MySQL

: 18 lut 2009, 12:39
autor: Szmitas
Niestety błąd nawiązania połączenia. Napiszę maila do administratora, aby podał mi adres. Dam odpowiedź później, na razie dziękuję za pomoc ;]

EDIT:
Wszystko mam, jednak konsola strasznie długo myśli i do niczego nie dochodzi, poza stworzeniem pustego pliku
Rozumiem, że nazwa_bazy też mam zastąpić odpowiednio?

Odp: Skrypt robiący backup bazy MySQL

: 18 lut 2009, 12:46
autor: DNADesigNed
Być może nie słuchają na standardowym porcie, albo na innym adresie. Jak już uzyskasz jakąś informację, to daj znać. Jakby co, żeby podać inny port dorzuć do tego polecenia, które podałem (np. po opcji -h ADRES_BAZY) opcję -P NUMER_PORTU. :)

Odp: Skrypt robiący backup bazy MySQL

: 18 lut 2009, 13:17
autor: Szmitas
ovh.pl pisze:iestety takie połączenie z bazą nie jest możliwe. Serwer start 1g nie ma dostępu do protokołu ssh.
No to na tyle...
W każdym razie dzięki za pomoc :)

Odp: Skrypt robiący backup bazy MySQL

: 18 lut 2009, 13:29
autor: DNADesigNed
Hmm... co najmniej dziwne. Przykładowo mój provider też nie udostępnia SSH (co jest opcją raczej tylko dla serwerów dedykowanych lub VPS), ale port bazy MySQL, z której korzystam jest otwarty publicznie, więc mogę się połączyć z bazą z zewnątrz używając jakiegokolwiek narzędzia do MySQL.

Jakie są szanse, że zapytałeś o złą rzecz? :)

Odp: Skrypt robiący backup bazy MySQL

: 18 lut 2009, 13:38
autor: Szmitas
Od początku :)

Poprosiłem o podanie hosta bazy danych, dostałem - mysql5-8.start
Próbowałem się zalogować podanym przez Ciebie poleceniem - nici.
Poprosiłem o podanie portu.
Odpisali mi, żebym powiedział im w jaki sposób chcę się połączyć.
Wkleiłem im polecenie podane przez Ciebie.
Dostałem odpowiedź zwrotną, którą zacytowałem wyżej.

Odp: Skrypt robiący backup bazy MySQL

: 18 lut 2009, 13:52
autor: DNADesigNed
Z tego co piszesz mogę wywnioskować tylko, że nie udostępniają bezpośredniego wejścia do bazy danych z zewnątrz. Lekka lipa szczerze mówiąc bo ogranicza cię to do wykorzystywania phpMyAdmin'a lub ewentualnie jakiegoś innego soft'u PHP, jaki uda Ci się zainstalować. :/

Odp: Skrypt robiący backup bazy MySQL

: 18 lut 2009, 14:02
autor: Szmitas
Miałbym dostęp do ssh wybierając inną taryfę - droższą o ponad 120zł rocznie... Poza dostępem do ssh i większą ilością baz danych nie otrzymałbym nic więcej, więc nie będę wyrzucał dodatkowych pieniędzy ;]

Ustawię sobie w cronie przypomnienie o zrobieniu backupa i też będzie dobrze :)

Dziękuję za pomoc.

Odp: Skrypt robiący backup bazy MySQL

: 18 lut 2009, 15:42
autor: 17piotrek
A probowales z konsoli laczyc sie zdalnie do bazy? W polaczeniu (np. w skryptach PHP) do bazy jaki podajesz adres?

Odp: Skrypt robiący backup bazy MySQL

: 18 lut 2009, 15:44
autor: Szmitas
Próbowałem, system myśli i myśli i do niczego nie dochodzi. Dostaję błąd (2003), że nie mógł połączyć się z bazą.
Nie logowałem się wcześniej przez skrypty, tylko przez phpmyadmin (w sumie jak nie patrzeć to też jakiś skrypt...)

Odp: Skrypt robiący backup bazy MySQL

: 18 lut 2009, 16:24
autor: 17piotrek
Tutaj masz opisane jak zrobic backup za pomoca phpmyadmin, ustaw sobie przypomnienie w telefonie zebys zrobil;) Z braku lepszego rozwiazania...

Odp: Skrypt robiący backup bazy MySQL

: 18 lut 2009, 16:30
autor: Szmitas
Jak się robi backup za pomocą phpmyadmina doskonale wiem :P Jednak z pamięcią kiepsko i nie zawsze pamiętałem, aby to zrobić. Chciałem, aby cron mnie wyręczył, lecz niestety nic z tego...

Odp: Skrypt robiący backup bazy MySQL

: 18 lut 2009, 17:33
autor: 17piotrek
To ustaw przypomnienie w komorce:P Ja pewnie masz zazwyczaj przy sobie;)

Odp: Skrypt robiący backup bazy MySQL

: 19 lut 2009, 11:58
autor: DNADesigNed
Ewentualnie można też pokusić się o mechanizm napisany w PHP, który zebrałby listę tabel i kolumn, a następnie wszystkie dane w tych tabelach i wystawił jako wyjście. Taki skrypt można by było odpalać np. wget'em za pomocą cron'a. Dane z wget (właściwy backup) zapisywane były by do pliku, który mógłbyś albo kompresować po swojej stronie, albo odrazu po stronie serwera (i pobierać w postaci skompresowanej). Napisanie takiego skryptu nie było by trudne, ale zajęło by trochę czasu. No i pozostaje kwestia zabezpieczeń. ;)