Backup mysqldump usando Shell Script
Publicado por CalRaiden© 11/03/2009
[ Hits: 16.754 ]
Homepage: www.calraiden.com.br
Esses dias fiz um script em php para realizar um mysql_dump. Porém, procurando na internet, encontrei um em shell, que em questão de perfomance mostrou-se bastante superior. Fiz algumas alterações e consertei um pequeno bug, sendo que realizava backup de todo mysql.
No meu caso só interessava backup das tabelas de um banco. Retirei a compactação atráves GZIP, mas isso está exigindo muitos recursos do server e ainda aumentava o tempo de execução do script. Por essa razão tirei, caso alguém veja o script original, saberá o que estou falando.
Acrescentei um log simples no final, apenas para saber quando começou a executar e quando terminou.
#!/bin/bash # Shell script to backup MySql database # To backup Nysql databases file to /backup dir and later pick up by your # script. You can skip few databases from backup too. # For more info please see (Installation info): # http://www.cyberciti.biz/nixcraft/vivek/blogger/2005/01/mysql-backup-script.html # Last updated: Aug - 2005 # -------------------------------------------------------------------- # This is a free shell script under GNU GPL version 2.0 or above # Copyright (C) 2004, 2005 nixCraft project # Feedback/comment/suggestions : http://cyberciti.biz/fb/ # ------------------------------------------------------------------------- # This script is part of nixCraft shell script collection (NSSC) # Visit http://bash.cyberciti.biz/ for more information. # ------------------------------------------------------------------ #HORA INICIO DO SCRIPT --OPCIONAL, APENAS PARA SABER QUANDO COMEÇOU A EXECUTAR E TERMINOU START="$(date)" #configuration MyUSER="root" # USERNAME MyPASS="" # PASSWORD MyHOST="localhost" # Hostname # 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)" # Backup Dest directory, change this if you have someother location DEST="/root" # Main directory where backup will be stored MBD="$DEST/bkp_mysql_austin" # Get data in dd-mm-yyyy format NOW="$(date +"%d-%m-%Y")" # File to store current backup file FILE="" # Store list of databases TABLES="" # BACKUP these databases DATABASE="live2go" mkdir $MBD/$NOW # Only root can access it! $CHOWN 0.0 -R $MBD $CHMOD 0600 $MBD # Get all database list first TABLES="$($MYSQL -u $MyUSER -h $MyHOST --password=$MyPASS $DATABASE -Bse 'SHOW TABLES')" for tables in $TABLES do FILE="$MBD/$NOW/$tables.gz" # 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 --add-drop-table --extended-insert --no-create-db -u $MyUSER -h $MyHOST --password=$MyPASS $DATABASE $tables > $FILE done #HORA FIM DO SCRIPT --OPCIONAL, APENAS PARA SABER QUANDO COMEÇOU A EXECUTAR E TERMINOU END="$(date)" #LOG SCRIPT touch $MBD/$NOW/$NOW echo $START >> $MBD/$NOW/$NOW echo $END >> $MBD/$NOW/$NOW #FIM DO LOG DO SCRIPT exit;
Alta disponibilidade IP-Virtual
Ajustando resolução do monitor
Menu para liberar / bloquear laboratórios no Squid
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Instalação dualboot Windows 11 e Debian 13 (0)
Programa fora de escala na tela do pc (33)
Eu queria adicionar a incon do wifi e deixa transparente no fluxbox no... (0)









