Script para Backup do MySQL
Um script bem básico para zipar arquivo SQL e apagar arquivos antigos.
#!/bin/bash
#Variaveis
ip="" # Servidor mysql
user="" # login
pw="" # senha
db="" # banco de dados
home="/home/backup/temp/" # local onde será salvo o backup
nome_temp="all" # nome do arquivo temporário mysql
bk="/var/www/html/uploads/si/$db/" # Diretório para salvar arquivos de backup
nw=$(date "+%d%m%Y") # Buscar pela data
nb=7 # número de dias de cópias do banco de dados
hs="backup" # nome do arquivo compactado
function backup(){
echo "Inicializando Backup - MySQL"
mysqldump -P 3306 -h $ip --user=$user --password=$pw --single-transaction --quick --lock-tables=false --add-drop-table $db -B > "$HOME/$hs.sql";
echo "Compactando arquivo $hs.sql.zip ..."
gzip -f "$HOME/"$hs.sql
if [ ! -d $bk ]; then
mkdir $bk
fi
cp -f "$HOME/"$hs.sql.gz "$bk/$nw.sql.zip"
a=0
b=$(ls -t $bk)
c=$nb
for arq in $b; do
a=$(($a+1))
if [ "$a" -gt $c ]; then
rm -f "$bk/$arq"
fi
done
echo "Concluido..."
}
Para rodar o script rode o comando:
/bin/bash nome do seu arquivo.sh