#!/bin/bash
source /etc/profile
source ./.env

echo `date +"%Y-%m-%d %H:%M:%S"` " now starting backup"
echo 'stop pleroma'
sudo systemctl stop pleroma 

echo "————————————backup to local directory——————————"
echo "1.dump database"
sudo -Hu postgres pg_dump -d $PLEROMA_DB --format=custom -f ${BACKUP_PATH}/pleroma.pgdump

echo "2.pack upload & static folder"
tar -czf static.tar.gz  --absolute-names ${PLEROMA_PATH}/static 
tar -czf uploads.tar.gz --absolute-names ${PLEROMA_PATH}/uploads}

echo "3.copy config file"
cp ${PLEROMA_CONFIG_PATH} ${BACKUP_PATH}

echo "————————————upload to remote——————————"
echo "4.backup to remote"
/usr/bin/expect <<EOF
    set time 30
    spawn duplicacy backup -threads 4
    expect {
        "ID" { send "$ACCESS_KEY_ID\n"; exp_continue }
        "Secret" { send "$SECRET_ACCESS_KEY\n"; exp_continue }
        "password" { send "$PASSWORD\n" }
    }
# 5. (optional)Keep a revision every 7 days for revisions older than 30 days 
#   spawn duplicacy prune -keep 7:30
#   expect {
#         "ID" { send "$ACCESS_KEY_ID\n"; exp_continue }
#         "Secret" { send "$SECRET_ACCESS_KEY\n"; exp_continue }
#         "password" { send "$PASSWORD\n" }
#     }
    expect eof
EOF

echo "restart pleroma"
sudo systemctl start pleroma 
echo `date +"%Y-%m-%d %H:%M:%S"` " done!"