A simple bash script to backup MariaDB.
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

45 строки
1.7KB

  1. #!/bin/bash
  2. export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
  3. BAK_DIR=/var/backups/mysql
  4. LOG_DIR=/var/log/mysql
  5. echo "Starting Backup" >> $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
  6. echo "---------" >> $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
  7. xtrabackup --backup --target-dir=$BAK_DIR >> \
  8. $LOG_DIR/mysql-bak-$(date +%F).log 2>&1 || \
  9. echo "Backup failed with exit value $?" >> \
  10. $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
  11. echo "Backup Finished" >> $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
  12. echo "---------" >> $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
  13. echo "" >> $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
  14. echo "Starting Prepare #1" >> $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
  15. echo "---------" >> $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
  16. xtrabackup --prepare --target-dir=$BAK_DIR >> \
  17. $LOG_DIR/mysql-bak-$(date +%F).log 2>&1 || \
  18. echo "Prepare #1 failed with exit value $?" >> \
  19. $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
  20. echo "Prepare #1 Finished" >> $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
  21. echo "---------" >> $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
  22. echo "" >> $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
  23. echo "Starting Prepare #2" >> $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
  24. echo "---------" >> $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
  25. xtrabackup --prepare --target-dir=$BAK_DIR >> \
  26. $LOG_DIR/mysql-bak-$(date +%F).log 2>&1 || \
  27. echo "Prepare #1 failed with exit value $?" >> \
  28. $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
  29. echo "Prepare #2 Finished" >> $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
  30. echo "---------" >> $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
  31. echo "" >> $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
  32. # Delete logs older than 30 days
  33. find $LOG_DIR -name "mysql-bak-*" -mtime +30 -delete