Portál AbcLinuxu, 14. května 2025 05:51

Dotaz: Script na zalohu vsech db

3.2.2009 08:09 palmik777 | skóre: 5
Script na zalohu vsech db
Přečteno: 539×
Odpovědět | Admin

zdravim,

muzete mi prosim pomoct ze scriptem pro zalohu?  Ted mam jeden, ktery mi zalohuje jen db, ktere jsou ve scriptu napsane, ale potreboval bych, aby zalohoval vsechno - muzete mi prosim poradit

1) jak zazalohovat vse

2) jak zazalohovat jen db s prefixem "ahoj_"

script ktery pouzivam (zazalohuje pouze ty dve vybrane db):

DB_USER="user"
DB_PASSWORD="pass"

BACKUPDIR=/home/zaloha

JEDNA_DB="ahoj"
DRUHA_DB="nevim"

DATE=`date +%Y%m%d-%H%M`

[ -d ${BACKUPDIR} ] || mkdir -p ${BACKUPDIR}

echo -e '\E[31m'"Backupping JEDNA infos"'\E[0m'
mysqldump --user=$DB_USER --password="$DB_PASSWORD" --add-drop-table $JEDNA_DB \
 > $BACKUPDIR/PRVNIBackup-$DATE.sql

echo -e '\E[31m'"Backupping DRUHA infos"'\E[0m'
mysqldump --user=$DB_USER --password="$DB_PASSWORD" --add-drop-table $DRUHA_DB \
 > $BACKUPDIR/DRUHABackup-$DATE.sql

 

Dekuju za pomoc

 

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

Odpovědi

3.2.2009 09:57 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: Script na zalohu vsech db
Odpovědět | | Sbalit | Link | Blokovat | Admin

ad 1)

viz man mysqldump, parametr --all-databases

 

ad 2)

Napr. si vypsat vsechny DB (show databases), vybrat z nich pozadovane a predat je mysqldump (pozor na parametr --databases). Prikazy lze snadno spojit rourami. Pokud pro kazdou DB vlastni dump soubor, pak pouzit for DB in ....

3.2.2009 11:17 Karel Borkovec | skóre: 28 | blog: HP_NX9010 | Tábor
Rozbalit Rozbalit vše Re: Script na zalohu vsech db

NOW=$(date +"%d-%m-%Y")
DBS="$(/usr/bin/mysql -u root -h localhost -pxxx -Bse 'show databases')"
for db in $DBS
do
  FILE=/zaloha/mysql/mysql-$db.$NOW-$(date +"%T").gz
  /usr/bin/mysqldump -u root -h localhost -pxxx $db | /bin/gzip -9 > $FILE
done

4.2.2009 08:12 palmik777 | skóre: 5
Rozbalit Rozbalit vše Re: Script na zalohu vsech db

1) zkousel jsem ten jeden radek zmenit z

mysqldump --user=$DB_USER --password="$DB_PASSWORD" --add-drop-table

na

mysqldump --user=$DB_USER --password="$DB_PASSWORD" --add-drop-table --all-databases

- nejdrive se objevovalo hafo textu (sql export), a hned se to zmenilo na divne znaky -

␊ ⎽␊ ≥┴ýš␋┌▒ ␌␌▒ 4│.\┼S␊⎼┴␊⎼ ⎽␊ ⎽┼▒ží└ ┴é⎽├ ␌⎺ ┼␊┘┴í␌␊ ⎻⎺␍┌␊ ≥▒┴␊␍␊┼ý␌␤ ⎻⎼▒┴␋␍␊┌ ▒ ├▒┐ ▒␉≤ ␤⎼áčů└ ⎻ř␋┼áš␊┌ ┴ž␍≤ ┼ě␌⎺ ┼▒┴í␌, ┼▒⎻ří┐┌▒␍ ⎽⎻␊␌␋á┌┼í ␋├␊└≤, ┴┌▒⎽├┼í ─┤␊⎽├≤ ▒ ┴ ⎻⎺␍⎽├▒├ě ␌⎺ ┼␊┘┌é⎻␊ °┤┼±┤┘í␌í ≥á≥␊└í. \┼\┼\┼\┼\┼\┼\┼\┼\┼========================================================\┼\'\'\'E─┤␋┌␋␉⎼␋┤└  -    W⎺W ⎼▒├≤ 8│ (⎺ 800 ⎻⎼⎺␌␊┼├ ┴≤šší ┼␊ž┌␋ ␉┌␋≥≥.)\'\

 

Myslim ze jsem to asi dal na spatne misto :-(

 

Jak seda v tom automyqldump.sh udelat to, ze kdyz to spustim tak mi to vytvori komplet zalohu? -me to pri spusteni vytvori jen zalohohu vypsanych db... -existuje nejake *.*  ?

 

Dik

3.2.2009 12:56 Martin H.
Rozbalit Rozbalit vše Re: Script na zalohu vsech db
Odpovědět | | Sbalit | Link | Blokovat | Admin

Já používám automysqlbackup.sh - ke stažení na sourceforge.net - minimálně pro inspiraci.

4.2.2009 10:19 Čech Antonín | skóre: 17 | blog: CzechTony
Rozbalit Rozbalit vše Re: Script na zalohu vsech db
Odpovědět | | Sbalit | Link | Blokovat | Admin

pouzivam toto:

mysqldump -u user -password --all-databases | gzip > /path/mysql_`date '+%Y-%m-%d'`.sql.gz

the.max avatar 4.2.2009 19:11 the.max | skóre: 46 | blog: Smetiště
Rozbalit Rozbalit vše Re: Script na zalohu vsech db
Odpovědět | | Sbalit | Link | Blokovat | Admin

cat /etc/cron.daily/zaloha_mysql.sh
#!/bin/bash


# Script na zalohovani databazi MySQL
# Obnova se provadi prikazem:
# mysql -udb_user -pdb_pass db_name < backup-file.sql
db_user=user
db_pass=password
db_host=localhost
host=$HOSTNAME
datum=$(date +%F)

if [ ! -e /var/backup/mysql ] ; then
    mkdir /var/backup
    mkdir /var/backup/mysql
fi

echo
echo zalohuji appsrv...
echo

mkdir /var/backup/mysql/$datum
cd /var/backup/mysql/$datum
for i in $( mysql -u$db_user -p$db_pass -h $db_host -s -e "show databases " );
    do
        echo Zálohuji $i
        mysqldump -u$db_user -p$db_pass -h $db_host --opt --quick $i > $i.sql
    done
cd ..
tar -cf - ./$datum/* |gzip -f9 > $host.$datum.tar.gz
rm -rf /var/backup/mysql/$datum

#echo
#echo zalohuji zalohy...
#echo

#scp /var/backup/router/router.$datum.tar.gz root@nejaky.server.ltd:/var/backup/router/

KERNEL ULTRAS Fan Team || Sabaton - nejlepší učitel dějepisu || Gentoo - dokud nás systemd nerozdělí.

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.