Initial commit (I feel unsafe)
This commit is contained in:
45
minecraft_server-backup
Normal file
45
minecraft_server-backup
Normal file
@@ -0,0 +1,45 @@
|
||||
#!/bin/bash
|
||||
|
||||
# shellcheck source=minecraft_server-env
|
||||
. "${HOME}"/"${USER}"-env
|
||||
|
||||
mkdir -p "${HOME}"/backup_logs
|
||||
logFile=${HOME}/backup_logs/$(date +%y_%m).log
|
||||
|
||||
{
|
||||
echo -e "\n[+] minecraft backup\n"
|
||||
|
||||
mkdir -p /tmp/"${USER}"-backup
|
||||
|
||||
insock=${HOME}/${USER}.stdin
|
||||
|
||||
# https://www.reddit.com/r/admincraft/comments/vgdbi/minecraft_backups_saveoff_and_saveall/
|
||||
echo "/save-off" >"${insock}"
|
||||
echo "/save-all" >"${insock}"
|
||||
systemctl --user stop "${USER}"-start.{socket,service}
|
||||
|
||||
cp -pr "${DATA_PATH}"/* /tmp/"${USER}"-backup
|
||||
|
||||
systemctl --user restart "${USER}"-start.{socket,service}
|
||||
echo "/save-on" >"${insock}"
|
||||
|
||||
if ! rclone copy /tmp/"${USER}"-backup "${BUCKET_PATH}" -v; then
|
||||
curl -Ss \
|
||||
-H "Title: Minecraft Server" \
|
||||
-H "Priority: 3" \
|
||||
-H "Tags: warning,backup" \
|
||||
-d "Backup not completed" \
|
||||
"${NOTIF_URL}"
|
||||
rm -r /tmp/"${USER}"-backup
|
||||
exit 1
|
||||
fi
|
||||
|
||||
curl -Ss \
|
||||
-H "Title: Minecraft Server" \
|
||||
-H "Priority: 2" \
|
||||
-H "Tags: heavy_check_mark,backup" \
|
||||
-d "Backup completed" \
|
||||
"${NOTIF_URL}"
|
||||
rm -r /tmp/"${USER}"-backup
|
||||
|
||||
} &>>"$logFile"
|
||||
Reference in New Issue
Block a user