diff options
author | Gordian Edenhofer | 2020-01-15 17:10:03 +0200 |
---|---|---|
committer | Nitroretro | 2020-01-15 17:10:03 +0200 |
commit | b2aa7c6cfe6ab7c6a6daf3a66b18087510bd52ca (patch) | |
tree | dcba2147be58187d6eb191ecd87bb911a3135013 /forged.sh | |
parent | 990b271496268d67036a2882a4c4a7c0ee9e12a9 (diff) | |
download | aur-b2aa7c6cfe6ab7c6a6daf3a66b18087510bd52ca.tar.gz |
Upgrade: 1.6.4_9.11.1.1345-6
Nitroretro: Sync with minecraft-server 1edad4acae56cb81b102d77251542a78a344b4bb
> Author: Gordian Edenhofer <gordian.edenhofer@gmail.com>
> Date: Tue Jan 14 20:34:55 2020 +0100
>
> upgpkg: minecraft-server 1.15.1-2
>
> Introduce a new config flag called `BACKUP_FLAGS` for specifying
> additional flags which to pass to tar for compression.
>
> Additionally, replace `Type=forking` with `Type=oneshot` in the backup
> services as to not let the backup timeout.
>
> Furthermore, change some upper case variables to lower case ones.
>
> upgpkg: spigot 1.15.1+b107-1
> upgpkg: cuberite 1.12b1065-1
> upgpkg: papermc 1.15.1+b48-1
Diffstat (limited to 'forged.sh')
-rwxr-xr-x | forged.sh | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/forged.sh b/forged.sh index 91c541336285..5d9c27959d3e 100755 --- a/forged.sh +++ b/forged.sh @@ -12,6 +12,7 @@ declare -r game="forge-1.6.4" [[ -n "${SERVER_ROOT}" ]] && declare -r SERVER_ROOT=${SERVER_ROOT} || SERVER_ROOT="/srv/${game}" [[ -n "${BACKUP_DEST}" ]] && declare -r BACKUP_DEST=${BACKUP_DEST} || BACKUP_DEST="/srv/${game}/backup" [[ -n "${BACKUP_PATHS}" ]] && declare -r BACKUP_PATHS=${BACKUP_PATHS} || BACKUP_PATHS="world" +[[ -n "${BACKUP_FLAGS}" ]] && declare -r BACKUP_FLAGS=${BACKUP_FLAGS} || BACKUP_FLAGS="-z" [[ -n "${KEEP_BACKUPS}" ]] && declare -r KEEP_BACKUPS=${KEEP_BACKUPS} || KEEP_BACKUPS="10" [[ -n "${GAME_USER}" ]] && declare -r GAME_USER=${GAME_USER} || GAME_USER="forge-1-6-4" [[ -n "${MAIN_EXECUTABLE}" ]] && declare -r MAIN_EXECUTABLE=${MAIN_EXECUTABLE} || MAIN_EXECUTABLE="forge.jar" @@ -30,7 +31,6 @@ declare -r game="forge-1.6.4" # Additional configuration options which only few may need to alter [[ -n "${GAME_COMMAND_DUMP}" ]] && declare -r GAME_COMMAND_DUMP=${GAME_COMMAND_DUMP} || GAME_COMMAND_DUMP="/tmp/${myname}_${SESSION_NAME}_command_dump.txt" -# shellcheck source=forged.conf # Variables passed over the command line will always override the one from a config file source /etc/conf.d/"${game}" 2>/dev/null || >&2 echo "Could not source /etc/conf.d/${game}" @@ -302,26 +302,26 @@ backup_files() { fi echo "Starting backup..." - FILE="$(date +%Y_%m_%d_%H.%M.%S).tar.gz" + fname="$(date +%Y_%m_%d_%H.%M.%S).tar.gz" ${SUDO_CMD} mkdir -p "${BACKUP_DEST}" if ${SUDO_CMD} screen -S "${SESSION_NAME}" -Q select . > /dev/null; then game_command save-off game_command save-all sync && wait - ${SUDO_CMD} tar -C "${SERVER_ROOT}" -czf "${BACKUP_DEST}/${FILE}" --totals ${BACKUP_PATHS} 2>&1 | grep -v "tar: Removing leading " + ${SUDO_CMD} tar -C "${SERVER_ROOT}" -cf "${BACKUP_DEST}/${fname}" ${BACKUP_PATHS} --totals ${BACKUP_FLAGS} 2>&1 | grep -v "tar: Removing leading " game_command save-on else - ${SUDO_CMD} tar -C "${SERVER_ROOT}" -czf "${BACKUP_DEST}/${FILE}" --totals ${BACKUP_PATHS} 2>&1 | grep -v "tar: Removing leading " + ${SUDO_CMD} tar -C "${SERVER_ROOT}" -cf "${BACKUP_DEST}/${fname}" ${BACKUP_PATHS} --totals ${BACKUP_FLAGS} 2>&1 | grep -v "tar: Removing leading " fi echo -e "\e[39;1mbackup completed\e[0m\n" echo -n "Only keeping the last ${KEEP_BACKUPS} backups and removing the other ones..." - BACKUP_COUNT=$(for f in "${BACKUP_DEST}"/[0-9_.]*; do echo "${f}"; done | wc -l) - if [[ $(( BACKUP_COUNT - KEEP_BACKUPS )) -gt 0 ]]; then - for old_backup in $(for f in "${BACKUP_DEST}"/[0-9_.]*; do echo "${f}"; done | head -n"$(( BACKUP_COUNT - KEEP_BACKUPS ))"); do + backup_count=$(for f in "${BACKUP_DEST}"/[0-9_.]*; do echo "${f}"; done | wc -l) + if [[ $(( backup_count - KEEP_BACKUPS )) -gt 0 ]]; then + for old_backup in $(for f in "${BACKUP_DEST}"/[0-9_.]*; do echo "${f}"; done | head -n"$(( backup_count - KEEP_BACKUPS ))"); do ${SUDO_CMD} rm "${old_backup}"; done - echo -e "\e[39;1m done\e[0m ($(( BACKUP_COUNT - KEEP_BACKUPS)) backup(s) pruned)" + echo -e "\e[39;1m done\e[0m ($(( backup_count - KEEP_BACKUPS)) backup(s) pruned)" else echo -e "\e[39;1m done\e[0m (no backups pruned)" fi @@ -358,10 +358,10 @@ backup_restore() { if [[ $user_choice =~ ^-?[0-9]+$ ]]; then n=1 for f in "${BACKUP_DEST}"/[0-9_.]*; do - [[ ${n} -eq $user_choice ]] && FILE="$f" + [[ ${n} -eq $user_choice ]] && fname="$f" n=$(( n + 1 )) done - if [[ -z $FILE ]]; then + if [[ -z $fname ]]; then >&2 echo -e "\e[39;1mFailed\e[0m to interpret your input. Please enter the digit of the presented options." exit 5 fi @@ -372,10 +372,10 @@ backup_restore() { elif [[ $# -eq 1 ]]; then # Check for the existance of the specified file if [[ -f "$1" ]]; then - FILE="$1" + fname="$1" else if [[ -f "${BACKUP_DEST}"/"$1" ]]; then - FILE="${BACKUP_DEST}"/"$1" + fname="${BACKUP_DEST}"/"$1" else >&2 echo -e "Sorry, but '$1', is \e[39;1mnot a valid file\e[0m, neither in your current directory nor in the backup folder." exit 4 @@ -388,7 +388,7 @@ backup_restore() { fi echo "Restoring backup..." - if ${SUDO_CMD} tar -xf "${FILE}" -C "${SERVER_ROOT}" 2>&1; then + if ${SUDO_CMD} tar -xf "${fname}" -C "${SERVER_ROOT}" 2>&1; then echo -e "\e[39;1mRestoration completed\e[0m" else echo -e "\e[39;1mFailed to restore backup.\e[0m" |