Skocz do zawartości
Zaloguj się, aby obserwować  
senderowy@hotmail.com

Jak zrobić automatyczną kopie bazy danych?

Polecane posty

!#/bin/bash
datka=`date +%y%M%%d`
gdzie='/var/tmp'
u='uzytkowni' # tu oczywiście wpisujemy swojego użytkownika
pass='haslo' # tu wpisujemy swoje hasło
echo "Rozpoczynam wykonywanie kopi serwera MySQL"
mysqldump -u $u -databases > $gdzie/nazwa_bazy_$datka.sql -p $pass
echo "Kopia wykonana pomyślnie " 

 

Zapisz skrypt i ustaw crona, by go wykonywał co 2 dni.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

O dzięki skorzystam. A pytanie jak zrobić jak ma 2 userów. i na 2 userze są 2 bazy jak zrobić by 2 zostały zaimportowane do pliku (pakowania sql).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

1. Ten skrypt ma być zapisany w php?

2. Czy może być podłączony pod crona pod cpanelx?

3. Jak byś mógł to podaj jeszcze komendę do podłączenia w cronie.

 

ad 1. Nie skrypt jest w bash i tylko w tym można go uruchomić.

ad 2. Podejrzewam że tak,ale pewny nie jestem.

ad 3. Znajdź w google konfiguracja cron

http://www.mrseo.grela.org/78-cron-przyklady-konfiguracji

 

A ja ponawiam pytanie czy ten skrypt robi kopie baz z danego usera czy kopie pojedynczej bazy ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość N3T5kY

Tworzysz sobie pliczek,

 

wklejasz tam skrypt, i odpalasz

 

sh pliczek

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jeśli wchodzisz w folder /bin to już jest tam plik bash, więc gdzie mam to wkleić?

 

Skopiuj skrypt, który podałem. Zaloguj się na serwer (zakładam, że jesteś w folderze root).

Otwierasz nano (wpisujesz w konsoli "nano"). Klikasz prawym klawiszem myszy w konsolę (wkleja się skrypt)

Następnie edytujesz ustawienia bazy, czyli haslo itd.

Klikasz F2 będziesz musiał podać nazwę pod jaką chcesz zapisać skrypt ty wpisz baza.sh potem YES.

Potem wpisujesz chmod +x baza.sh i możesz odpalić skrypt wpisując w konsoli ./baza.sh

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Szczerze to ten skrypt nie działa. :) Pokazuje się

root@xxx:~# ./baza.sh
: No such file or directoryash
Rozpoczynam wykonywanie kopi serwera MySQL
.sql: No such file or directory
Kopia wykonana pomyĹnie
root@xxx:~# chmod +x baza.sh
root@xxx:~# ./baza.sh
: No such file or directoryash
Rozpoczynam wykonywanie kopi serwera MySQL
.sql: No such file or directory
Kopia wykonana pomyĹnie
root@xxx:~# ./baza.sh

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A jak go wypełniłeś?

 

A tak ło.

!#/bin/bash
datka=`date +%y%M%%d`
gdzie='/'
u='userbazy np. root' # tu oczywiście wpisujemy swojego użytkownika
pass='haslo do roota bazy' # tu wpisujemy swoje hasło
echo "Rozpoczynam wykonywanie kopi serwera MySQL"
mysqldump -u $u -databases > $gdzie/nazwa_bazy_$datka.sql -p $pass
echo "Kopia wykonana pomyślnie " 

I nic więcej z tym nie robiłem...

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

time=`date +%Y-%m-%d`
dir='/tmp' #gdzie zapisać kopię
u='tmp' # tu oczywiście wpisujemy swojego użytkownika
p='tmp' # tu wpisujemy swoje hasło
echo "Rozpoczynam wykonywanie kopi serwera MySQL"
mysqldump -u $u -p$p tmp > $dir/nazwa_bazy_$time.sql
echo "Kopia wykonana pomyślnie "

 

 

Dla mnie poprawny skrypt powinien wyglądać tak - ale mogę się mylić oczywiście.

Dodał bym jeszcze kompresję bzip2 - oraz pamiętaj o chmodzie +x.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

To jesteś dupa - nie admin :)

 

$ ./bp

Rozpoczynam wykonywanie kopi serwera MySQL

Kopia wykonana pomyślnie

jarek@safegroup:~$ ls /tmp/

82774d1d149dafbd-opXblb mc-jarek mc-root nazwa_bazy_2010-07-16.sql

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość N3T5kY
To jesteś dupa - nie admin ;)

 

"Admin" w przeciwieństwie do Ciebie nie obraża innych.

Idź na onet.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dobra udało się,ale użyłem innego skryptu. Bez dodatków tylko sam

mysqldump + bz

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

"Admin" w przeciwieństwie do Ciebie nie obraża innych.

Idź na onet.

 

Adam, bez przesadnego spinania się ;)

 

To akurat było żartobliwe określenie więc kolega raczej nie powinien się obrażać ;)

Jeśli Go to obraziło to przepraszam.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość N3T5kY
To akurat było żartobliwe określenie więc kolega raczej nie powinien się obrażać ;)

Jak "dupa" jest żartobliwym określeniem, to wróć na Polski ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Polski? Jeśli mamy się czepiać dalej to język polski piszemy z małej.

 

Co do backupowania MySQL to proponuję bardziej rozbudowany skrypt:

 

http://sourceforge.net/projects/automysqlbackup/

 

A script to take daily, weekly and monthly backups of your MySQL databases using mysqldump. Features - Backup mutiple databases - Single backup file or to a seperate file for each DB - Compress backup files - Backup remote servers - E-mail logs - More..

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość N3T5kY
A możesz podać jakiego skrypt użyłeś?

Możesz spróbować czegoś takiego:

#!/bin/bash
mkdir /root/backup/mysql/`date +%F`/
for i in /var/lib/mysql/*/; do
dbname=`basename $i`
/usr/bin/mysqldump $dbname > /root/backup/mysql/`date +%F`/$dbname.sql
done

I ewentualnie tarowanie+gz do tego.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Zaloguj się, aby skomentować

Będziesz mógł dodać komentarz po zalogowaniu się



Zaloguj się
Zaloguj się, aby obserwować  

×