saa/BackupToBackblaze: Bash script for backblaze.com Скрипты для копирования на b2. Выгрузка базы в PostgreSQL и MySQL Dump base PostgreSQL and MySQL - SVN.BY: Go Git Service

Bash script for backblaze.com Скрипты для копирования на b2. Выгрузка базы в PostgreSQL и MySQL Dump base PostgreSQL and MySQL

script_backup_base.sh 1.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/bin/bash
  2. ##
  3. # Backup database with arhive
  4. LOGFILE=/backup/cloud_backup/log/script_log_file_`date +%F_%H-%M`.log
  5. BASEARHIVE=/backup/cloud_backup/data/db/woorder_py_db_`date +%F_%H-%M`.gz
  6. #path to B2 files
  7. CLOUDPATHDB=FOLDER/db
  8. CLOUDPATHMEDIA=FOLDER/media
  9. #db config
  10. PG_USER=USERNAME
  11. PG_DB=DATABASE
  12. PG_PASSWORD=PASSOWRD
  13. PG_HOST=localhost
  14. DB_PATH=/backup/cloud_backup/data/db/
  15. #media data
  16. MEDIAPATH=/var/www/data/
  17. TARMEDIAPATH=/backup/cloud_backup/data/media/media_`date +%F_%H-%M`.tar.gz
  18. TARMEDIADIRPATH=/backup/cloud_backup/data/media/
  19. # log filelist
  20. LOGPATH=/backup/cloud_backup/log
  21. LOG_ERROR=/backup/cloud_backup/log/error.log
  22. log(){
  23. message="$(date +"%y-%m-%d %T") $@"
  24. echo $message >> $LOGFILE
  25. }
  26. #Start
  27. log "start script"
  28. # dump db
  29. log "start dump db"
  30. /usr/bin/mysqldump -u$PG_USER -p$PG_PASSWORD -B $PG_DB | gzip -9 > $BASEARHIVE ## uncomment if need dump logs ## 2> /home/support/cloud_backup/log/script_log_file.log
  31. sleep 1m
  32. # move database to cloud
  33. log "moving db files"
  34. /usr/sbin/rclone --log-file=$LOGPATH/log_`date +%F_%H-%M`_rclone.log move $DB_PATH cloud:$CLOUDPATHDB
  35. 2>> $LOG_ERROR
  36. sleep 1m
  37. # backup media files
  38. log "arhive media files"
  39. tar -czf $TARMEDIAPATH $MEDIAPATH
  40. sleep 1m
  41. # move files to cloud
  42. log "moving media files"
  43. /usr/sbin/rclone --log-file=$LOGPATH/log_`date +%F_%H-%M`_rclone.log move $TARMEDIADIRPATH cloud:$CLOUDPATHMEDIA 2>> $LOG_ERROR
  44. sleep 5s
  45. i=30 #days for save log file
  46. log "delete old logs"
  47. find $LOGPATH/ -type f -mtime +$i -print0 | xargs -0 rm -f
  48. sleep 5s
  49. log "stop script"