From 220d4096623216f07ec4d1dbd3a0d16476c9328c Mon Sep 17 00:00:00 2001 From: Kojfer13 Date: Thu, 9 Jan 2025 21:17:28 +0100 Subject: [PATCH 1/2] added backup --- README.md | 3 +++ minecraftd | 26 +++++++++++++++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7e50637..135caa4 100644 --- a/README.md +++ b/README.md @@ -46,6 +46,9 @@ Minecraftd is also available in the [AUR][aur]. `connect` : Launch interactive minecraft server stdin prompt. +`backup` +: Create a backup of the server folder + `-H`, `--help` : Display help and exit. diff --git a/minecraftd b/minecraftd index 084d01e..f4c162d 100755 --- a/minecraftd +++ b/minecraftd @@ -54,6 +54,7 @@ flg_cmd=false flg_con=false flg_srt=false flg_stp=false +flg_backup=false jar='/usr/share/java/minecraft-server.jar' mem='2g' mem_srt='1g' @@ -61,6 +62,26 @@ mem_tmp= reqs=(java) srv='/srv/minecraft' +if [ "$flg_backup" = true ]; then + msg 'Starting backup!' + #printf 'save-all' >"$fifo" + #sleep 4 + #printf 'save-off' >"$fifo" + #sleep 4 + $bck = '/backup' + if [ ! -d $bck ]; then + mkdir $bck + fi + cd $bck + name=$(date '+%H_%M_%S_%d_%m_%Y') + name="backup_$name.tar" + msg 'Starting backup' + tar -cvf $name $srv + gzip $name + #printf 'save-on' >"$fifo" + msg 'Backup complete!' +fi + ## functions :: error() { msg_error "$@"; exit 5 ;} msg() { printf "\e[1;38;5;12m=> \e[0;38;5;15m$1\e[0m\n" "${@:2}" ;} @@ -103,6 +124,7 @@ case "$1" in con|connect) flg_con=true ;; srt|start) flg_srt=true ;; stp|stop) flg_stp=true ;; + bck|backup) flg_backup=true ;; -H|--help) print_help; exit 0 ;; *) error "unknown option: $1" ;; esac @@ -172,7 +194,9 @@ if [ "$flg_con" = true ]; then done fi -# TODO: backup command +#create a backup + + # stop server: if [ "$flg_stp" = true ]; then From 47bb07bcc4eaea1a1d9c869334213f08d17c5a8b Mon Sep 17 00:00:00 2001 From: Kojfer13 Date: Thu, 9 Jan 2025 21:47:39 +0100 Subject: [PATCH 2/2] tested --- minecraftd | 41 +++++++++++++++++++---------------------- 1 file changed, 19 insertions(+), 22 deletions(-) diff --git a/minecraftd b/minecraftd index f4c162d..2525b5e 100755 --- a/minecraftd +++ b/minecraftd @@ -25,7 +25,8 @@ COMMANDS connect, con Launch interactive minecraft server input prompt. - + bck, backup + Create a backup of the server folder. -H, --help Display help text and exit. @@ -54,7 +55,7 @@ flg_cmd=false flg_con=false flg_srt=false flg_stp=false -flg_backup=false +flg_bck=false jar='/usr/share/java/minecraft-server.jar' mem='2g' mem_srt='1g' @@ -62,25 +63,6 @@ mem_tmp= reqs=(java) srv='/srv/minecraft' -if [ "$flg_backup" = true ]; then - msg 'Starting backup!' - #printf 'save-all' >"$fifo" - #sleep 4 - #printf 'save-off' >"$fifo" - #sleep 4 - $bck = '/backup' - if [ ! -d $bck ]; then - mkdir $bck - fi - cd $bck - name=$(date '+%H_%M_%S_%d_%m_%Y') - name="backup_$name.tar" - msg 'Starting backup' - tar -cvf $name $srv - gzip $name - #printf 'save-on' >"$fifo" - msg 'Backup complete!' -fi ## functions :: error() { msg_error "$@"; exit 5 ;} @@ -196,7 +178,22 @@ fi #create a backup - +if [ "$flg_bck" = true ]; then + msg 'Starting backup!' + printf 'save-all' >"$fifo" + sleep 4 + printf 'save-off' >"$fifo" + sleep 4 + bck="/backups" + if [ ! -d $bck ]; then + mkdir $bck + fi + name="$bck/$(date '+%H_%M_%S_%d_%m_%Y').tar" + tar -cvf $name $srv + gzip $name + printf 'save-on' >"$fifo" + msg 'Backup complete!' +fi # stop server: if [ "$flg_stp" = true ]; then