Pomoc Cron - Backup bazy danych z dockera

fnx

Entry Technician
Q Associate
28 Marzec 2021
53
5
8
QNAP
null
Ethernet
1 GbE
nie łaska zacząć używać tagów ?!
Witam,

W cointainer mam kontener mysql, pytanie jak przy pomocy webcrona zrobić backup konkretnej bazy danych?


Jeśli mam sql bezpośrednio na qnap to robiłem to tak:


#/bin/sh
echo -e "Backing up MySQL database"
/mnt/ext/opt/mariadb/bin/mysqldump -u login -p passs --password=passs --single-transaction > /share/CACHEDEV1_DATA/Dane/Bazy_danych/baza_`date +%y-%m-%d`.sql | gzip -c > database_name.sql.gz
echo -e "Kompresja"
gzip -v /share/CACHEDEV1_DATA/Dane/Bazy_danych/baza_`date +%y-%m-%d`.sql
 
a że nie podałeś definicji dockera z mysql to masz:
Kod:
docker exec NAZWA_KONTENERA /usr/bin/mysqldump -u root --password=root DATABASE > backup.sql


Dzięki.

Niestety dostaje komunikat:

Access denied for user 'root'@'localhost' (using password: YES) when trying to connect


A na innym userze:
Using a password on the command line interface can be insecure.


oczywiście bezpośrednio z puty po zalogowaniu do qnap
Rozumiem, że to działa tylko z crona w dockerze, a nie z crona z aplikacji an qnap?
Wywołując polecenie z putty backup się robi, wywołując z crona zainstalowanego jako aplikacja, jest kicha 0 KB pliki.
 
wpisz pełną ścieżkę do polecenia docker .. command -v docker
Nic z tego.

Moze od początku na Qnap apka WebCrontab, w nim polecenie:


Kod:
#/bin/sh
echo -e "Backing up MySQL database"
/mnt/ext/opt/mariadb/bin/mysqldump -u root -p nazwabazydanych --password=1234 --single-transaction > /share/CACHEDEV1_DATA/Dane/Bazy_danych/123.sql


I to polecenie działa. ALe jest to dla Sqla, wbudowanego w qnapa.

Jeśliw dokerze postawie sqla i przez putty wywołam polecenie to jest ok, jeśli przez ww. aplikację to jest kicha.
Pliki 0 KB, a z Twoim dodatkowym poleceniem w środku to:


exec
/bin/sh


Brak zrzutów baz... O co chodzi?
 
zastąp słowo DOCKER wynikiem działania podanego polecenia i wrzuć w crona
To nic nie dało.

Znalazłem rozwiązanie:


Kod:
#/bin/sh
echo -e "Backing up MySQL database"
/share/CACHEDEV1_DATA/.qpkg/container-station/bin/docker exec -i mysql-2 /usr/bin/mysqldump -h localhost -u root -p nazwabazydanych --password=admin --single-transaction > /share/CACHEDEV1_DATA/Dane/Bazy_danych/Baza.sql
 
upload_2021-11-18_18-19-21.png

/share/CACHEDEV1_DATA/.qpkg/container-station/bin/docker
 

Załączniki

  • upload_2021-11-18_18-17-10.png
    upload_2021-11-18_18-17-10.png
    1,1 KB · Wyświetleń: 88

Użytkownicy znaleźli tą stronę używając tych słów:

  1. gzip
  2. mysql w dokerze
  3. backup mysql
  4. cron