Brauchen Sie Hilfe, um mein Bash-Skript zu reparieren - Linux, Bash, Backup, MySQL

Ich bin ein Neuling auf Bash-Skript, was ich versuche zu tunist es, ein Bash-Skript fĂĽr das AusfĂĽhren von 2 Arten von Sicherungsprozessen fĂĽr MySQL zu erstellen. Zuerst wird die gesamte MySQL-Datenbank in einer einzigen Sicherungsdatei gesichert, und dann wird jede Datenbank in einer einzigen Datei gesichert Skript und das Ergebnis wie unten, aber scheint nicht wie erwartet zu funktionieren, ich versuche, das Skript auszufĂĽhren, aber nichts passiert, froh, dass mir jemand hilft, es zu beheben.

#!/ bin / bash  TIMESTAMP = $ (Datum "+% 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" database = $ MYSQL -e "SHOW DATABASES;" | grep -Ev "(Datenbank | Informationsschema | Leistungsschema)" ` fĂĽr db in $ database; tun $ MYSQLDUMP --force --opt --databases "$ db" | gzip> "$ BACKUP_DIR / all_users / $ TIMESTAMP / $ db.gz" erledigt }

Antworten:

0 fĂĽr Antwort â„– 1
#!/ bin / bash  TIMESTAMP = $ (Datum "+% 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" database = $ MYSQL -e "SHOW DATABASES;" | grep -Ev "(Datenbank | Informationsschema | Leistungsschema)" ` fĂĽr db in $ database; tun $ MYSQLDUMP --force --opt --databases "$ db" | gzip> "$ BACKUP_DIR / all_users / $ TIMESTAMP / $ db.gz" erledigt }

Sie mĂĽssen die Funktion aufrufen

backup_all_dump

Sie mĂĽssen die Funktion aufrufen

backup_all_users

Lies jetzt