Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: Lizzard в Sep 01, 2009, 00:56



Титла: MySQL Auto Backup с крон задачка ?
Публикувано от: Lizzard в Sep 01, 2009, 00:56
Здравейте,

Разбрах, че има начин чрез крон задачка да си направиш така, че всеки ден да ти прави автомотичен бекъп на определени mysql дата бази.
Та самия въпрос е как става това ?
Благодаря..  [_]3


Титла: Re: MySQL Auto Backup с крон задачка ?
Публикувано от: lkr в Sep 01, 2009, 09:20
mysqldump или mysqlhotcopy в зависимост от това какви са ти таблиците


Титла: Re: MySQL Auto Backup с крон задачка ?
Публикувано от: ntrance в Sep 01, 2009, 09:35
root@sysmaster:/etc/scripts# cat mysql-backup.sh
MyUSER="mysq0-dump"      # USERNAME
MyPASS="parola"       # PASSWORD
MyHOST="localhost"      # Hostname
SERVER="localgost"        # Servername
MYSQLDUMPOPTS="--opt"   # mysqldump options

# Linux bin paths, change this if it can't be autodetected via which
command
MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"
CHOWN="$(which chown)"
CHMOD="$(which chmod)"
GZIP="$(which gzip)"

# Backup Dest directory, change this if you have someother location
DEST="/media/backup/"
# Main directory where backup will be stored
MBD="$DEST/mysql"

# Get data in dd-mm-yyyy format
NOW="$(date +"%m-%d-%Y")"
FNAME="mysql-backup"
# File to store current backup file
FILE=""
# Store list of databases
DBS=""
TMP="/tmp/$NOW"

n=3;
# the first archive number must be zero
l=0;
while [ ! $n -le 0 ]; do
        if [ -e $MBD/$FNAME.$n.tar.gz ]
                then
                let "m = $n - 1"
                if [ -e $MBD/$FNAME.$m.tar.gz ]
                        then
                        rm $MBD/$FNAME.$m.tar.gz
                fi
        fi
                let "m = $n - 1"
                if [ -e $MBD/$FNAME.$m.tar.gz ]
                        then
                        cp $MBD/$FNAME.$m.tar.gz $MBD/$FNAME.$n.tar.gz
                fi
                let "n = $n - 1"
done





# DO NOT BACKUP these databases
# IGGY="test"

[ ! -d $MBD ] && mkdir -p $MBD || :
[ ! -d $TMP ] && mkdir -p $TMP || :
# Only root can access it!
#$CHOWN lod.lod -R $DEST
#$CHMOD 0600 $DEST

# Get all database list first
DBS="$($MYSQL -u $MyUSER -h $MyHOST -p$MyPASS -Bse 'show databases')"

for db in $DBS
do
   skipdb=-1
   if [ "$IGGY" != "" ];
   then
       for i in $IGGY
       do
           [ "$db" == "$i" ] && skipdb=1 || :
       done
   fi

   if [ "$skipdb" == "-1" ] ; then
       FILE="$db.$SERVER.$NOW.sql"
       # do all inone job in pipe,
       # connect to mysql using mysqldump for select mysql database
       # and pipe it out to gz file in backup dir :)
       $MYSQLDUMP -u $MyUSER -h $MyHOST -p$MyPASS $MYSQLDUMPOPTS $db > $TMP/$FILE
   fi
done
tar czvf $MBD/$FNAME.0.tar.gz $TMP &> /dev/null
rm /tmp/$NOW -r
exit 0
root@sysmaster:/etc/scripts#


Титла: Re: MySQL Auto Backup с крон задачка ?
Публикувано от: VladSun в Sep 01, 2009, 11:30
Може да пробваш и с event:
http://dev.mysql.com/tech-resources/articles/event-feature.html


Титла: Re: MySQL Auto Backup с крон задачка ?
Публикувано от: Lizzard в Sep 01, 2009, 20:13
mysqldump или mysqlhotcopy в зависимост от това какви са ти таблиците

mysqldump

Моля дайте подробно обяснение, как става и трябва да направя номера.


Титла: Re: MySQL Auto Backup с крон задачка ?
Публикувано от: phantomlord в Sep 02, 2009, 16:46
man mysqldump


Титла: Re: MySQL Auto Backup с крон задачка ?
Публикувано от: dvanaise в Sep 02, 2009, 17:03
03      03      *       *       *       mysqldump --databases Ime_na_bazata_danni  --user=user --password=parola > /backup/"`date`"


Титла: Re: MySQL Auto Backup с крон задачка ?
Публикувано от: ntrance в Sep 02, 2009, 17:18
:) Оф за какво ходите да се напъвате ?  Ами ако имам 1000 database ?  Пич ползвай си този скрипт   по горе .. не се занивай с глупости.  Сложи си root  user pass i localhost .. chmod +x imeto na sripta 
./името на скрипта и си пушка,
crontarb -e
38 00 * * * /bin/bash /etc/scripts/imeto na scripta  > /var/log/loga na scripta
И може да спиш спокойно ;)


Титла: Re: MySQL Auto Backup с крон задачка ?
Публикувано от: beginner в Sep 02, 2009, 19:45
:) Оф за какво ходите да се напъвате ?  Ами ако имам 1000 database ?  Пич ползвай си този скрипт   по горе .. не се занивай с глупости.  Сложи си root  user pass i localhost .. chmod +x imeto na sripta 
./името на скрипта и си пушка,
crontarb -e
38 00 * * * /bin/bash /etc/scripts/imeto na scripta  > /var/log/loga na scripta
И може да спиш спокойно ;)

mysqldump -A :). Като цяло твоето решение е доста "изискано" и лично мен ме кефи но има и доста по прости решения.

Поздрави