#!/bin/bash # # Backup mysql baza / pojedinacno # 2009-05-25 # DATE=`/bin/date +%Y-%m-%d` BACKUPDIR="/bkp/mysql_local" BACKUPRECENTDIR="/bkp/mysql_recent_local" MYSQLDIR="/var/lib/mysql" NOFDAYS=30 MYSQLPASS="SIFRA_zastiti_ovaj_fajl!" umask 0077 # popis baza se moze dobiti i pomocu mysql klijenta, ali ako je server lokalno ovo je ok for DATABASE in `find /var/lib/mysql/ -mindepth 1 -maxdepth 1 -type d | awk -F'/' '{print $NF}'` do FILEDIR="$BACKUPDIR/$DATABASE" if [ ! -d $FILEDIR ] then mkdir -p $FILEDIR fi /usr/bin/mysqldump -u root --password=$MYSQLPASS --opt $DATABASE | gzip -c -9 > $FILEDIR/$DATABASE-$DATE.sql.gz # Ako je potrebno, kopira zadnji backup pojedine baze u mysql_recent direktorij # cp $FILEDIR/$DATABASE-$DATE.sql.gz $BACKUPRECENTDIR/$DATABASE.sql.gz done # Ako je potrebno - ciscenje starih backup-ova (odkomentiraj NOFDAYS varijablu) #find $BACKUPDIR -name '*' -type f -mtime +$NOFDAYS -exec rm -f {}\;