Flawedspirit icon

Valheim Server Backup Script

Flawedspirit | PRO | 11/12/21 10:06:03 AM UTC (Edited) | 0 ⭐ | 615 👁️ | Never ⏰ | []
Bash |

800 B

|

None

|

0 👍

/

0 👎

#!/bin/sh
# Make sure a .vhhash file exists even if empty
touch .vhhash
 
BACKUPTIME=`date +%Y-%m-%d_%T`
SOURCE=/home/vhserver/.config/unity3d/IronGate/Valheim
DESTDIR=/mnt/unraidshare/vhbackup
DESTFILE=backup_$BACKUPTIME.tar.gz
 
OLDHASH=`cat .vhhash`
NEWHASH=`md5sum $SOURCE"/worlds/FSDedicated.db" | awk '{print $1}'`
 
if pgrep valheim_server > /dev/null; then
 
    if [ "$OLDHASH" = "$NEWHASH" ]; then
        echo "World has not changed. Exiting."
    else
        # Create actual backup here
        tar -cpzf $DESTDIR"/"$DESTFILE $SOURCE
 
        echo $NEWHASH > .vhhash
 
        # Delete oldest file if there are more than 84
        # (12 backups * 7 days)
        cd $DESTDIR
        ls -1t | tail -n +85 | xargs rm -f        
    fi    
else
    echo "Nothing to do. Exiting."
fi

Comments