build files for making podman containers
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

48 lines
1.0 KiB

#!/bin/bash
rm_ife() {
if [[ -e "$1" ]]; then
rm -r "$1"
fi
}
# Check if server is started
status=$(systemctl show valheim -p ActiveState --value)
if [[ $status != active ]]; then
echo "valheim.service is inactive. Exiting."
exit 1
fi
# get time
hour=$(date +%H)
day=$(date +%d)
month=$(date +%m)
year=$(date +%Y)
# hour at which to do daily tasks
dailyhour=4
# cd to backup dir
cd /vol/data/backup
if [[ 10#$hour -eq $dailyhour ]]; then
systemctl stop valheim
sleep 1
fi
# hourly backup
rm_ife worlds-hourly-$hour
vh-backup worlds-hourly-$hour
if [[ 10#$hour -eq $dailyhour ]]; then
systemctl start valheim
# save daily and longterm backups
rm_ife worlds-daily-$day.zip
zip -rT worlds-daily-$day.zip worlds-hourly-$hour
chown "$(stat -c '%U:%G' worlds-hourly-$hour)" worlds-daily-$day.zip
touch -d "$(stat -c '%y' worlds-hourly-$hour)" worlds-daily-$day.zip
if [[ 10#$day -eq 1 ]]; then
cp -a worlds-daily-$day.zip worlds-$year-$month-$day.zip
fi
fi