Portál AbcLinuxu, 5. května 2025 09:06

Dotaz: Skript na automatickou zálohu MySQL databází

2.3.2010 11:56 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
Skript na automatickou zálohu MySQL databází
Přečteno: 1659×
Odpovědět | Admin
Neznáte nějaký skript na automatickou cron zálohu databází? Problém je v tom, že bych potřeboval, aby každou databázi zálohoval do vlastního souboru. Předem děkuji za případné rady.

Řešení dotazu:


Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

2.3.2010 12:09 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Skript na automatickou zálohu MySQL databází
Odpovědět | | Sbalit | Link | Blokovat | Admin
A mysqldump pro každou db nestačí ?
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
2.3.2010 12:17 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
Rozbalit Rozbalit vše Re: Skript na automatickou zálohu MySQL databází
Stačil by, ale potřeboval bych něco co by mi vylistovalo všechny databáze do formátu, který by mi mysqldump vzal.
2.3.2010 12:21 razor | skóre: 33
Rozbalit Rozbalit vše Re: Skript na automatickou zálohu MySQL databází
--all-databases nevyhovuje?
Řešení 1× (filbar (tazatel))
2.3.2010 12:24 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Skript na automatickou zálohu MySQL databází
Něco jako (f bash-i):

DBS=(`mysql -s -N -e "SHOW DATABASES" -u username`)

a v poli DBS jsou názvy db.
Chce to lokálního uživatele s právy jen USE a bez hesla.

To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
2.3.2010 13:01 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
Rozbalit Rozbalit vše Re: Skript na automatickou zálohu MySQL databází
Přesně něco takového jsem hledal:
for i in `mysql -s -N -e "SHOW DATABASES" -u root -plin4srv`
do
        mysqldump --add-drop-table=false  -uuzivatel -pheslo $i > /bac/dbs/$i.sql
done
2.3.2010 14:29 razor | skóre: 33
Rozbalit Rozbalit vše Re: Skript na automatickou zálohu MySQL databází
Nechci vám kazit radost z bashování, ale pokud chceš všechny databáze, tak není skutečně jednoduší použít mysqldump --all-databases respketive mysqldump -A ?
2.3.2010 14:32 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
Rozbalit Rozbalit vše Re: Skript na automatickou zálohu MySQL databází
Toto ale přece neumí každou db do zvláštního souboru?
2.3.2010 14:36 razor | skóre: 33
Rozbalit Rozbalit vše Re: Skript na automatickou zálohu MySQL databází
pravdu díš
2.3.2010 15:31 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Skript na automatickou zálohu MySQL databází
Ještě poznámka:
Jméno databáze může obsahovat mezeru (prasárna :)) a to by asi přestalo fungovat, takže bych doporučil mé oblíbené:
P_IFS=$IFS
IFS='
'
DBS=(`mysql -s -N -e "SHOW DATABASES" -u username`)
IFS=$P_IFS
Tím to rozdělí do pole jen na konci řádku.
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
2.3.2010 13:05 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
Rozbalit Rozbalit vše Re: Skript na automatickou zálohu MySQL databází
Tím právem USE myslíš toto?
2.3.2010 13:18 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
Rozbalit Rozbalit vše Re: Skript na automatickou zálohu MySQL databází
Tak už jsem to vyřešil:
GRANT SELECT,SHOW DATABASES, LOCK TABLES  ON *.* TO uzivatel@localhost IDENTIFIED BY 'heslo'
2.3.2010 15:23 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Skript na automatickou zálohu MySQL databází
No myslel jsem, ale je to ale nedostatečné.
Mělo by tam být, tak jo to částečně už máš, asi bych doplnil SHOW VIEW.
Používám na to uživatele s oprávněním:
SELECT, RELOAD, SHOW DATABASES, LOCK TABLES, SHOW VIEW
Jestli je nutné to RELOAD, bych fčil pochyboval, ale prostě to tam mám :)
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
2.3.2010 12:20 Robert Kupka | skóre: 15
Rozbalit Rozbalit vše Re: Skript na automatickou zálohu MySQL databází
Odpovědět | | Sbalit | Link | Blokovat | Admin
Skript do cronu - Automysqlbackup.sh http://sourceforge.net/projects/automysqlbackup/

staci nakonfigurovat par udajov a hotovo. Uklada kazdu DB zvlast, komprimuje, vytvara denne, tyzdenne, mesacne zalohy...
2.3.2010 12:49 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Skript na automatickou zálohu MySQL databází
Dovoluji si upozornit, že je třeba ty DB tam také vyjmenovat.
Pokud DB obsahuje rutiny apod. a je třeba je zálohovat, tak není špatné se podívat na switche --routines a pak i třeba --single-transaction či --lock-tables a v uváděném „asi“ doplnit do OPT.
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.