1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #!/bin/bash
- # set vars
- BACKUP_ROOT_PATH=/tmp
- DATE=$(date +%Y%m%d-%H%M%S)
- BACKUP_NAME=akbk-$DATE
- BACKUP_PATH=$BACKUP_ROOT_PATH/$BACKUP_NAME
- mkdir -p $BACKUP_PATH
- chmod a+w $BACKUP_PATH
- AKKOMA_DB=pleroma
- AKKOMA_USER=pleroma
- AKKOMA_SERVICE=pleroma
- AKKOMA_PATH=/opt/pleroma
- AKKOMA_STATIC_PATH=/var/lib/pleroma
- AKKOMA_CONFIG_PATH=/etc/pleroma/config.exs
- AKKOMA_DBCONFIG_PATH=$BACKUP_PATH/config_db.exs
- # export config in database
- cd $AKKOMA_PATH
- su $AKKOMA_USER -s $SHELL -lc "./bin/pleroma_ctl config dump" > $AKKOMA_DBCONFIG_PATH
- sed -i 's/\r//g' $AKKOMA_DBCONFIG_PATH
- # stop akkoma
- systemctl stop $AKKOMA_SERVICE
- # backup database
- sudo -Hu postgres pg_dump -d $AKKOMA_DB --format=custom -f $BACKUP_PATH/akkoma.pgdump
- # start akkoma in background
- nohup systemctl start $AKKOMA_SERVICE >&/dev/null &
- # backup config.exs/static files
- tar -czpPf - $AKKOMA_STATIC_PATH $AKKOMA_CONFIG_PATH $BACKUP_PATH | gpg -e -r 0 > $BACKUP_PATH.tar.gz.gpg
- rm -r $BACKUP_PATH
- # upload archive
- rclone copy $BACKUP_PATH.tar.gz.gpg od-1:/upload -vP
- # clean up
- rm $BACKUP_PATH.tar.gz.gpg
|