ต้องการความช่วยเหลือในการแก้ไข Bash Script ของฉัน


0

ฉันเป็นมือใหม่ในสคริปต์ทุบตีสิ่งที่ฉันพยายามทำคือทำสคริปต์ทุบตีเพื่อเรียกใช้กระบวนการสำรอง 2 ชนิดสำหรับ mysql ขั้นแรกคือการถ่ายโอนฐานข้อมูล mysql ทั้งหมดลงในแฟ้มการถ่ายโอนข้อมูลเดียวและอีกอันคือการสำรองข้อมูลแต่ละรายการ ฐานข้อมูลเป็นไฟล์เดียวฉันค้นหารอบ ๆ เพื่อรับเคล็ดลับในการสร้างสคริปต์ทุบตีและผลลัพธ์ดังต่อไปนี้ แต่ดูเหมือนว่าไม่ทำงานตามที่ฉันคาดหวังฉันพยายามเรียกใช้สคริปต์ แต่ไม่มีอะไรเกิดขึ้นดีใจที่มีคนช่วยฉันแก้ไข .

#!/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
}

คำตอบ:


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
}

คุณต้องเรียกใช้ฟังก์ชัน

backup_all_dump

คุณต้องเรียกใช้ฟังก์ชัน

backup_all_users

ท่านที่รักเป็นไปได้หรือไม่ที่ฉันจะเรียกใช้สคริปต์และเรียกใช้กระบวนการเหล่านั้นโดยไม่เรียกใช้ฟังก์ชัน? ดีใจที่ได้รับความช่วยเหลือและ TQ อย่างมาก
Zainul Halim

เพิ่มสองบรรทัดเหล่านี้ที่ด้านล่างของรหัสของคุณเพื่อเรียกใช้ฟังก์ชันเมื่อรหัสถูกเรียกใช้: backup_all_dump [[line break]] backup_all_users
ackwdw123
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.