Precisa de ajuda para corrigir meu script Bash

0

Eu sou um novato no bash script, o que eu tento fazer é fazer um script bash para rodar 2 tipos de processos de backup para o mysql, primeiro é despejar todo o banco de dados mysql em um único arquivo de despejo e outro é para fazer backup de cada banco de dados em um único arquivo, eu pesquiso ao redor para obter algumas dicas para fazer um script bash eo resultado como abaixo, mas parece não está funcionando como minha expectativa, eu tento executar o script mas nada acontece, feliz que alguém me ajude para consertar isso.

#!/bin/bash

TIMESTAMP=$(date "+%d-%m-%Y")
BACKUP_DIR="/nas/mysql"
MYSQL=/usr/bin/mysql
MYSQLDUMP=/usr/bin/mysqldump

backup_all_dump(){ 
find /nas/mysql/all_dump -maxdepth 1 -type d -mtime +30 -exec rm -rf {} \;
mkdir -p "$BACKUP_DIR/all_dump/$TIMESTAMP"
  $MYSQLDUMP --force --events --all-databases | gzip > "/$BACKUP_DIR/all_dump/$TIMESTAMP/dump.sql.gz"
}

backup_all_users(){ 
find /nas/mysql/all_users -maxdepth 1 -type d -mtime +30 -exec rm -rf {} \;
mkdir -p "$BACKUP_DIR/all_users/$TIMESTAMP"
databases='$MYSQL -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema)"'
  for db in $databases; do
  $MYSQLDUMP --force --opt --databases "$db" | gzip > "$BACKUP_DIR/all_users/$TIMESTAMP/$db.gz"
done
}
    
por Zainul Halim 23.09.2016 / 01:10

1 resposta

0

#!/bin/bash

TIMESTAMP=$(date "+%d-%m-%Y")
BACKUP_DIR="/nas/mysql"
MYSQL=/usr/bin/mysql
MYSQLDUMP=/usr/bin/mysqldump

backup_all_dump(){ 
find /nas/mysql/all_dump -maxdepth 1 -type d -mtime +30 -exec rm -rf {} \;
mkdir -p "$BACKUP_DIR/all_dump/$TIMESTAMP"
  $MYSQLDUMP --force --events --all-databases | gzip > "/$BACKUP_DIR/all_dump/$TIMESTAMP/dump.sql.gz"
}

backup_all_users(){ 
find /nas/mysql/all_users -maxdepth 1 -type d -mtime +30 -exec rm -rf {} \;
mkdir -p "$BACKUP_DIR/all_users/$TIMESTAMP"
databases='$MYSQL -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema)"'
  for db in $databases; do
  $MYSQLDUMP --force --opt --databases "$db" | gzip > "$BACKUP_DIR/all_users/$TIMESTAMP/$db.gz"
done
}

Você precisa chamar a função

backup_all_dump

Você precisa chamar a função

backup_all_users
    
por 23.09.2016 / 01:25