45 lines
1.0 KiB
Bash
45 lines
1.0 KiB
Bash
#!/bin/bash
|
|
|
|
# shellcheck source=gitea_server-env
|
|
. "${HOME}"/"${USER}"-env
|
|
|
|
mkdir -p "${HOME}"/backup_logs
|
|
logFile=${HOME}/backup_logs/$(date +%y_%m).log
|
|
|
|
{
|
|
echo -e "\n[+] gitea backup\n"
|
|
|
|
mkdir -p /tmp/"${USER}"-backup
|
|
|
|
sudo docker compose -f "${HOME}"/"${USER}"-compose.yaml stop gitea
|
|
|
|
cp -pr "${VOLUME_PATH}"/config /tmp/"${USER}"-backup
|
|
cp -pr "${VOLUME_PATH}"/data /tmp/"${USER}"-backup
|
|
|
|
# shellcheck disable=SC2024
|
|
sudo docker exec -u "${PUID}:${PGID}" -it gitea-postgres sh -c \
|
|
'pg_dumpall -c --if-exists -U gitea' >/tmp/"${USER}"-backup/db.out
|
|
|
|
sudo docker compose -f "${HOME}"/"${USER}"-compose.yaml start gitea
|
|
|
|
if ! rclone copy /tmp/"${USER}"-backup "${BUCKET_PATH}" -v; then
|
|
curl -Ss \
|
|
-H "Title: Gitea" \
|
|
-H "Priority: 3" \
|
|
-H "Tags: warning,backup" \
|
|
-d "Backup not completed" \
|
|
"${NOTIF_URL}"
|
|
rm -rf /tmp/"${USER}"-backup
|
|
exit 1
|
|
fi
|
|
|
|
curl -Ss \
|
|
-H "Title: Gitea" \
|
|
-H "Priority: 2" \
|
|
-H "Tags: heavy_check_mark,backup" \
|
|
-d "Backup completed" \
|
|
"${NOTIF_URL}"
|
|
rm -rf /tmp/"${USER}"-backup
|
|
|
|
} &>>"$logFile"
|