Перейти к содержимому

Скрипт для взятия SQL DUMP

0

Я пишу скрипт для получения дампа sql и его архивирования.

#!/bin/sh DBUSERID="root" DBPASSWORD="XXXXXXXX" BACKUP_DIR="$HOME/daily_sql_backups" DATE=`date +%Y_%m_%d_%H_%M_%S` cd $BACKUP_DIR mysql -u$DBUSERID -p$DBPASSWORD --socket=/data/mysql/mysql.sock -e 'show databases' | grep abcd >MICRO_SERVICES.txt  sed -e '/^abcd_prod$/d' MICRO_SERVICES.txt > MICRO_SERVICES_DB.txt  cat MICRO_SERVICES_DB.txt | while read line do DB=$line mysqldump --opt --user=$ --password=$ --socket=/data/mysql/mysql.sock $ > $DB_$DATE.sql 2> "$DB"_"$DATE".err gzip $DB_$DATE.sql status=$? err=`cat "$DB"_"$DATE".err |wc -l` DATE_COMPLETED=$(date "+%F # %T") if [ $err -eq 0 -a $status -eq 0 ] then echo "$DATE_COMPLETED : DB backup success" >>/backup_logs/"$DB"_backup-$(date +%b-%Y).txt echo "$DATE_COMPLETED : DB backup success" else echo "$DATE_COMPLETED : DB backup FAILURE" >> /backup_logs/"$DB"_backup-error-$(date +%b-%Y).txt cat "$DB"_"$DATE".err >>/tmp/"$DB"_backup-error-$(date +%b-%Y).txt cat "$DB"_"$DATE".err |mail -s "$DB: dump failure" devops@xxxx.com fi sleep 1m done 

Я получаю сообщение об ошибке "gzip: /home/XXXXXX/daily_sql_backups/2017_12_07_14_28_02.sql.gz уже существует; не перезаписано" И я получаю сообщение об ошибке дампа ошибки. Может кто-нибудь, пожалуйста, дайте мне знать, где я делаю неправильно

93 просмотра
Prashast спросил 8 лет назад
P 106

1 ответ

0
Принятый ответ

На самом деле это работало, когда я использовал

"$DB"_"$DATE".sql 

вместо

$DB_$DATE.sql. 

Может кто-нибудь объяснить почему?

Prashast ответил 8 лет назад
P 106