Eu sou um novato em script bash, o que estou tentando fazer é criar um script bash para executar 2 tipos de processo de backup para mysql, primeiro é despejar todo o banco de dados mysql em um único arquivo de despejo e outro é fazer backup de cada banco de dados em um único arquivo, procuro algumas dicas para fazer um script bash e o resultado conforme abaixo, mas parece que não está funcionando como minha expectativa, tento executar o script mas nada acontece, que bom que alguém me ajudou a consertar isto .
#!/bin/bash TIMESTAMP=$(data "+%d-%m-%Y") BACKUP_DIR="/nas/mysql" MYSQL=/usr/bin/mysql MYSQLDUMP=/usr/bin/mysqldump backup_all_dump(){ encontre /nas/mysql/all_dump -maxprofundidade 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(){ encontre /nas/mysql/all_users -maxprofundidade 1 -type d -mtime +30 -exec rm -rf {} \; mkdir -p "$BACKUP_DIR/todos_usuários/$TIMESTAMP" bancos de dados=`$MYSQL -e "MOSTRAR BANCO DE DADOS;" | grep -Ev "(banco de dados | esquema_de informação | esquema_de desempenho)"` para banco de dados em $ bancos de dados; fazer $MYSQLDUMP --force --opt --databases "$db" | gzip> "$BACKUP_DIR/all_users/$TIMESTAMP/$db.gz" feito }
Responder1
#!/bin/bash TIMESTAMP=$(data "+%d-%m-%Y") BACKUP_DIR="/nas/mysql" MYSQL=/usr/bin/mysql MYSQLDUMP=/usr/bin/mysqldump backup_all_dump(){ encontre /nas/mysql/all_dump -maxprofundidade 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(){ encontre /nas/mysql/all_users -maxprofundidade 1 -type d -mtime +30 -exec rm -rf {} \; mkdir -p "$BACKUP_DIR/todos_usuários/$TIMESTAMP" bancos de dados=`$MYSQL -e "MOSTRAR BANCO DE DADOS;" | grep -Ev "(banco de dados | esquema_de informação | esquema_de desempenho)"` para banco de dados em $ bancos de dados; fazer $MYSQLDUMP --force --opt --databases "$db" | gzip> "$BACKUP_DIR/all_users/$TIMESTAMP/$db.gz" feito }
Você precisa chamar a função
backup_all_dump
Você precisa chamar a função
backup_all_users