51 lines
1.5 KiB
Bash
51 lines
1.5 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
function reset() {
|
|
if [[ ! -d "$(getValueByKey 'PODMAN_DIRECTORY')/${1}" ]]; then
|
|
log e "Directory '${1}' does not exist!"
|
|
exit 1
|
|
fi
|
|
|
|
local dir="$(getValueByKey 'PODMAN_DIRECTORY')/${1}"
|
|
local datapack_dir="${dir}/data/world/datapacks"
|
|
|
|
while [[ ! ${deleteDataDir} =~ [YyNn] ]]; do
|
|
read -p "Do you want to reset the complete data dir located in ${dir}/data ? (This is an unrecoverable process): " deleteDataDir
|
|
case "${deleteDataDir}" in
|
|
"N"|"n")
|
|
log e "Aborted by user!"
|
|
exit 1
|
|
;;
|
|
esac
|
|
done
|
|
|
|
local backedup=false
|
|
if [[ -n $(find "${datapack_dir}" -maxdepth 1 -type f) ]]; then
|
|
while [[ ! ${backupDatapacksAns} =~ [YyNn] ]]; do
|
|
read -p "Do you want to backup the datapack .zip found in ${datapack_dir} ?: " backupDatapacksAns
|
|
case "${backupDatapacksAns}" in
|
|
"Y"|"y")
|
|
local backedup=true
|
|
local tempdir=$(mktemp -d /tmp/pms-cli.XXXXXX)
|
|
mv ${datapack_dir}/*.zip ${tempdir}/
|
|
;;
|
|
esac
|
|
done
|
|
fi
|
|
|
|
rm -rf "${dir}/data"
|
|
mkdir -p "${dir}/data/world/datapacks"
|
|
|
|
if [[ "${backedup}" == true ]]; then
|
|
while [[ ! ${restoreDatapacksAns} =~ [YyNn] ]]; do
|
|
read -p "You have some backed up datapack .zip in ${tempdir}. Do you want to restore them now?: " restoreDatapacksAns
|
|
case "${restoreDatapacksAns}" in
|
|
"Y"|"y")
|
|
mv ${tempdir}/*.zip "${dir}/data/world/datapacks/"
|
|
rm -rf "${tempdir}"
|
|
;;
|
|
esac
|
|
done
|
|
fi
|
|
log s "Server '${1}' resetted!"
|
|
}
|