Skip to content

Instantly share code, notes, and snippets.

@cindyker
Last active August 29, 2015 14:07
Show Gist options
  • Save cindyker/2ada11c77780ee2fd497 to your computer and use it in GitHub Desktop.
Save cindyker/2ada11c77780ee2fd497 to your computer and use it in GitHub Desktop.
Backup / Restart script for Minecraft spigot server
#!/bin/bash
SCREENNAME=$"creative"
BACKUPPATH=$"/home"
SERVERPATH=$"/home/minecraft/creative"
###
echo "$SCREENNAME"
screen -S $SCREENNAME -X stuff $'\nsay **********************************\n'
screen -S $SCREENNAME -X stuff $'\nsay --**Scheduled Restart Incoming--** \n'
screen -S $SCREENNAME -X stuff $'\nsay --**Scheduled Restart Incoming--** \n'
screen -S $SCREENNAME -X stuff $'\nsay ---- in 30 seconds \n'
sleep 10
screen -S $SCREENNAME -X stuff $'\nsay --**Scheduled Restart Incoming--** \n'
screen -S $SCREENNAME -X stuff $'\nsay --**Scheduled Restart Incoming--** \n'
screen -S $SCREENNAME -X stuff $'\nsay ---- in 20 seconds \n'
sleep 10
screen -S $SCREENNAME -X stuff $'\nsay --**Scheduled Restart Incoming--** \n'
screen -S $SCREENNAME -X stuff $'\nsay --**Scheduled Restart Incoming--** \n'
screen -S $SCREENNAME -X stuff $'\nsay ---- in 10 seconds \n'
sleep 10
screen -S $SCREENNAME -X stuff $'\nsay --**Scheduled Restart Incoming--** \n'
screen -S $SCREENNAME -X stuff $'\nsay --**Scheduled Restart Incoming--** \n'
screen -S $SCREENNAME -X stuff $'\nsay ********************************** \n'
screen -S $SCREENNAME -X stuff $'\nsay --**Rejoin in ***THREE**** minutes--** \n'
sleep 2
screen -S $SCREENNAME -X stuff $'\nsendall lobby \n'
sleep 2
screen -S $SCREENNAME -X stuff $'\nstop \n'
sleep 90
#
mv $SERVERPATH/logs/latest.log $BACKUPPATH/logs/$SCREENNAME.$(date +%m%d%y%H).log
#make a backup of creative
tar -zcvf $BACKUPPATH/backup/$SCREENNAME.$(date +%m%d%y%H).tar.gz $SERVERPATH --exclude=/minecraft/creative/plugins/dynmap/web
sleep 5
#delete files older than 5 days.
find $BACKUPPATH/backup/$SCREENNAME* -mtime +5 -exec rm {} \;
sleep 3
screen -S $SCREENNAME -X stuff $'./start.sh \n'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment