Backup mysqldump usando Shell Script
Publicado por CalRaiden© 11/03/2009
[ Hits: 16.552 ]
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;
Trocar nomes maiúsculos por minúsculos
Biblioteca de cores para o Bash
Automatizando backups no Samba
Tags de Cores e formatação no Terminal
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Máquinas Virtuais com IP estático acessando Internet no Virtualbox
Meu sistema operacional linux Ubuntu nao abre (3)
o wine não detecta a minha placa de video rx 580 (2)