#!/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