12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- #!/bin/bash
- ##
- # Backup database with arhive
- LOGFILE=/backup/cloud_backup/log/script_log_file_`date +%F_%H-%M`.log
- BASEARHIVE=/backup/cloud_backup/data/db/woorder_py_db_`date +%F_%H-%M`.gz
- #path to B2 files
- CLOUDPATHDB=FOLDER/db
- CLOUDPATHMEDIA=FOLDER/media
- #db config
- PG_USER=USERNAME
- PG_DB=DATABASE
- PG_HOST=localhost
- DB_PATH=/backup/cloud_backup/data/db/
- #media data
- MEDIAPATH=/var/www/data/
- TARMEDIAPATH=/backup/cloud_backup/data/media/media_`date +%F_%H-%M`.tar.gz
- TARMEDIADIRPATH=/backup/cloud_backup/data/media/
- # log filelist
- LOGPATH=/backup/cloud_backup/log
- LOG_ERROR=/backup/cloud_backup/log/error.log
- log(){
- message="$(date +"%y-%m-%d %T") $@"
- echo $message >> $LOGFILE
- }
- #Start
- log "start script"
- # dump db
- log "start dump db"
- 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
- sleep 1m
- # move database to cloud
- log "moving db files"
- /usr/sbin/rclone --log-file=$LOGPATH/log_`date +%F_%H-%M`_rclone.log move $DB_PATH cloud:$CLOUDPATHDB
- 2>> $LOG_ERROR
- sleep 1m
- # backup media files
- log "arhive media files"
- tar -czf $TARMEDIAPATH $MEDIAPATH
- sleep 1m
- # move files to cloud
- log "moving media files"
- /usr/sbin/rclone --log-file=$LOGPATH/log_`date +%F_%H-%M`_rclone.log move $TARMEDIADIRPATH cloud:$CLOUDPATHMEDIA 2>> $LOG_ERROR
- sleep 5s
- i=30 #days for save log file
- log "delete old logs"
- find $LOGPATH/ -type f -mtime +$i -print0 | xargs -0 rm -f
- sleep 5s
- log "stop script"
|