Backup mysqldump usando Shell Script
Publicado por CalRaiden© 11/03/2009
[ Hits: 16.575 ]
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;
Ajustar a hora com o Observatório Nacional
Script bem simples para eniar e-mail com arquivo em anexo.
isconnect.sh - verifica a conexão com a internet
Limpa o diretório atual, excluindo arquivos temporários
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Criando uma Infraestrutura para uma micro Empresa
Criar entrada (menuentry) ISO no Grub
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Instalar o VIM 9.1 no Debian 12
Como saber o range de um IP público?
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Habilitar a opção de autocadastro no Ocomon 6.0.2 (1)
Erro ao instalar o ChatGPT Desktop (7)
Liberação de alguns links no squid (7)
Instalação do Kraiyin-CRM em Linux dentro de VMs no VirtualBox (1)