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_HOST=localhost
  13. DB_PATH=/backup/cloud_backup/data/db/
  14. #media data
  15. MEDIAPATH=/var/www/data/
  16. TARMEDIAPATH=/backup/cloud_backup/data/media/media_`date +%F_%H-%M`.tar.gz
  17. TARMEDIADIRPATH=/backup/cloud_backup/data/media/
  18. # log filelist
  19. LOGPATH=/backup/cloud_backup/log
  20. LOG_ERROR=/backup/cloud_backup/log/error.log
  21. log(){
  22. message="$(date +"%y-%m-%d %T") $@"
  23. echo $message >> $LOGFILE
  24. }
  25. #Start
  26. log "start script"
  27. # dump db
  28. log "start dump db"
  29. pg_dump -U $PG_USER -d $PG_DB -h $PG_HOST | gzip -9 > $BASEARHIVE ## uncomment if need dump logs ## 2> /home/support/cloud_backup/log/script_log_file.log
  30. sleep 1m
  31. # move database to cloud
  32. log "moving db files"
  33. /usr/sbin/rclone --log-file=$LOGPATH/log_`date +%F_%H-%M`_rclone.log move $DB_PATH cloud:$CLOUDPATHDB
  34. 2>> $LOG_ERROR
  35. sleep 1m
  36. # backup media files
  37. log "arhive media files"
  38. tar -czf $TARMEDIAPATH $MEDIAPATH
  39. sleep 1m
  40. # move files to cloud
  41. log "moving media files"
  42. /usr/sbin/rclone --log-file=$LOGPATH/log_`date +%F_%H-%M`_rclone.log move $TARMEDIADIRPATH cloud:$CLOUDPATHMEDIA 2>> $LOG_ERROR
  43. sleep 5s
  44. i=30 #days for save log file
  45. log "delete old logs"
  46. find $LOGPATH/ -type f -mtime +$i -print0 | xargs -0 rm -f
  47. sleep 5s
  48. log "stop script"