Linux Ubuntu backup MySQL

Chcę aby codziennie z automatu wykonywał mi się backup bazy MySQL stworzyłem plik backup.sh
/usr/bin/mysqldump BAZA -u -root -ptest | gzip > /home/serwer/BACKUP- ‘date +%Y-%m-%d’ .sql.gz
Wiadomo CRONa ustawiłem też, ale chce w ogóle sprawdzić czy się wykonuje po komencie ./backup.sh

zwraca mi komunikat mysqldump: [Warning] Using a password on the command line interface can be insecure

rozumiem że może być niebezpieczne używanie hasła w wierszu poleceń… ale jak zrobić aby on to ignorował albo jak zmodyfikować skrypt aby się tego nie czepiał ? :wink: bo staje na tym i nie wykonuje kopii

Witam,

A nie możesz odpalać tego z uprawnieniami lokalnego użytkownika i ustawić sobie hasło w ~/.my.cnf. Poza tym dobrze by było byś od razu robił restore tej bazy w innej lokacji by sprawdzić czy wszystko działa.

Pozdrawiam,

mr-owl

2 polubienia

Możesz użyć mysqldump z opcją - - defaults-extra-file= sccieżka do pliku. W pliku umieszczasz:
[client]
password=hasło użytkownika
Na koniec możesz zmienić uprawnienia do pliku na 600

U mnie nie czepia się o hasło. Jesli masz więcej baz, to warto użyć pętli while. Jeśli chcesz podrzucę Ci skrypt, ktory ja sobie przygotowałem.

Przy okazji, date +%F da Ci to samo, co Ty masz :wink:

Dobra, teraz wydaje ostrzeżenie ale wykonuje backup, jest oki :wink: dzięki !