Add a world sync script.
parent
cc3eccf36f
commit
4e90ec054e
|
@ -0,0 +1,77 @@
|
||||||
|
#!/bin/bash
|
||||||
|
if [ -z "$CONF_PATH" ]; then
|
||||||
|
CONF_PATH="$HOME/.config/EnlivenMinetest/remote.rc"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "$CONF_PATH" ]; then
|
||||||
|
. "$CONF_PATH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
_is_conf_ok=true
|
||||||
|
if [ -z "$REMOTE_HOST" ]; then
|
||||||
|
echo "* REMOTE_HOST...not set."
|
||||||
|
_is_conf_ok=false
|
||||||
|
else
|
||||||
|
echo "* REMOTE_HOST...OK (\"$REMOTE_HOST\")."
|
||||||
|
fi
|
||||||
|
if [ -z "$REMOTE_USER" ]; then
|
||||||
|
echo "* REMOTE_USER...not set."
|
||||||
|
_is_conf_ok=false
|
||||||
|
else
|
||||||
|
echo "* REMOTE_USER...OK (\"$REMOTE_USER\")."
|
||||||
|
fi
|
||||||
|
if [ -z "$REMOTE_WORLD" ]; then
|
||||||
|
echo "* REMOTE_WORLD...not set."
|
||||||
|
_is_conf_ok=false
|
||||||
|
else
|
||||||
|
echo "* REMOTE_WORLD...OK (\"$REMOTE_WORLD\")."
|
||||||
|
fi
|
||||||
|
if [ -z "$REMOTE_WORLD_PATH" ]; then
|
||||||
|
echo "* REMOTE_WORLD_PATH...not set."
|
||||||
|
_is_conf_ok=false
|
||||||
|
else
|
||||||
|
echo "* REMOTE_WORLD_PATH...OK (\"$REMOTE_WORLD_PATH\")."
|
||||||
|
fi
|
||||||
|
if [ -z "$LOCAL_WORLD_COPY_PATH" ]; then
|
||||||
|
echo "* LOCAL_WORLD_COPY_PATH...not set."
|
||||||
|
_is_conf_ok=false
|
||||||
|
else
|
||||||
|
echo "* LOCAL_WORLD_COPY_PATH...OK (\"$LOCAL_WORLD_COPY_PATH\")."
|
||||||
|
fi
|
||||||
|
if [ -z "$LOCAL_UNPRIV_USER" ]; then
|
||||||
|
echo "* LOCAL_UNPRIV_USER...not set."
|
||||||
|
_is_conf_ok=false
|
||||||
|
else
|
||||||
|
echo "* LOCAL_UNPRIV_USER...OK (\"$LOCAL_UNPRIV_USER\")."
|
||||||
|
fi
|
||||||
|
if [ "@$_is_conf_ok" != "@true" ]; then
|
||||||
|
cat << END
|
||||||
|
Error: You must set the following in "$CONF_PATH" or the environment first (any that are blank below are not set):
|
||||||
|
|
||||||
|
REMOTE_HOST="$REMOTE_HOST"
|
||||||
|
REMOTE_USER="$REMOTE_USER"
|
||||||
|
REMOTE_WORLD="$REMOTE_WORLD"
|
||||||
|
REMOTE_WORLD_PATH="$REMOTE_WORLD_PATH"
|
||||||
|
LOCAL_WORLD_COPY_PATH="$LOCAL_WORLD_COPY_PATH"
|
||||||
|
LOCAL_UNPRIV_USER="$LOCAL_UNPRIV_USER"
|
||||||
|
END
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
ssh $REMOTE_USER@$REMOTE_HOST "/opt/minebest/mtbin/minetest-stop $REMOTE_WORLD"
|
||||||
|
ssh $REMOTE_USER@$REMOTE_HOST "/opt/minebest/mtbin/minetest-list"
|
||||||
|
echo "* running 'rsync -rt --info=progress2 $REMOTE_USER@$REMOTE_HOST:$REMOTE_WORLD_PATH/ $LOCAL_WORLD_COPY_PATH'..."
|
||||||
|
rsync -rt --info=progress2 $REMOTE_USER@$REMOTE_HOST:$REMOTE_WORLD_PATH/ $LOCAL_WORLD_COPY_PATH
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
echo "OK"
|
||||||
|
else
|
||||||
|
echo "FAILED"
|
||||||
|
fi
|
||||||
|
printf "* setting owner of \"$LOCAL_WORLD_COPY_PATH\" to $LOCAL_UNPRIV_USER:$LOCAL_UNPRIV_USER..."
|
||||||
|
chown $LOCAL_UNPRIV_USER:$LOCAL_UNPRIV_USER -R "$LOCAL_WORLD_COPY_PATH"
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
echo "OK"
|
||||||
|
else
|
||||||
|
echo "FAILED"
|
||||||
|
fi
|
||||||
|
ssh $REMOTE_USER@$REMOTE_HOST "/opt/minebest/mtbin/minetest-start $REMOTE_WORLD"
|
||||||
|
ssh $REMOTE_USER@$REMOTE_HOST "/opt/minebest/mtbin/minetest-list"
|
Loading…
Reference in New Issue