Flawedspirit

Valheim Server Backup Script

Nov 12th, 2021 (edited)
432
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.80 KB | None | 0 0
  1. #!/bin/sh
  2. # Make sure a .vhhash file exists even if empty
  3. touch .vhhash
  4.  
  5. BACKUPTIME=`date +%Y-%m-%d_%T`
  6. SOURCE=/home/vhserver/.config/unity3d/IronGate/Valheim
  7. DESTDIR=/mnt/unraidshare/vhbackup
  8. DESTFILE=backup_$BACKUPTIME.tar.gz
  9.  
  10. OLDHASH=`cat .vhhash`
  11. NEWHASH=`md5sum $SOURCE"/worlds/FSDedicated.db" | awk '{print $1}'`
  12.  
  13. if pgrep valheim_server > /dev/null; then
  14.  
  15.     if [ "$OLDHASH" = "$NEWHASH" ]; then
  16.         echo "World has not changed. Exiting."
  17.     else
  18.         # Create actual backup here
  19.         tar -cpzf $DESTDIR"/"$DESTFILE $SOURCE
  20.  
  21.         echo $NEWHASH > .vhhash
  22.  
  23.         # Delete oldest file if there are more than 84
  24.         # (12 backups * 7 days)
  25.         cd $DESTDIR
  26.         ls -1t | tail -n +85 | xargs rm -f        
  27.     fi    
  28. else
  29.     echo "Nothing to do. Exiting."
  30. fi
Add Comment
Please, Sign In to add comment