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

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×