51 lines
1.1 KiB
Bash
51 lines
1.1 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
SAVE_DIR="/home/torjus/.local/share/Steam/steamapps/compatdata/881100/pfx/drive_c/users/steamuser/AppData/LocalLow/Nolla_Games_Noita"
|
|
|
|
RESTIC_REPOSITORY="/home/$(whoami)/tmp/noita-backup"
|
|
export RESTIC_REPOSITORY
|
|
export RESTIC_PASSWORD="noita"
|
|
|
|
function start {
|
|
echo "Doing initial backup"
|
|
restic backup -q "$SAVE_DIR"
|
|
echo "Backup done"
|
|
|
|
echo "Mounting tmpfs for save folder..."
|
|
sudo mount -o size=2G,noswap -t tmpfs none "$SAVE_DIR"
|
|
|
|
echo "Restoring initial backup..."
|
|
restic restore "latest:$SAVE_DIR" --target "$SAVE_DIR"
|
|
|
|
echo "Ready to play Noita!"
|
|
echo "Remember to run $0 stop when done."
|
|
|
|
while true
|
|
do
|
|
restic backup -q "$SAVE_DIR"
|
|
echo "Periodic backup done..."
|
|
sleep 10m
|
|
done
|
|
}
|
|
|
|
function stop {
|
|
restic backup -q $SAVE_DIR
|
|
sudo umount $SAVE_DIR
|
|
restic restore latest:$SAVE_DIR --target $SAVE_DIR
|
|
echo "Backup and unmount done..."
|
|
}
|
|
|
|
if [ "$#" -ne 1 ]; then
|
|
echo "Usage: $0 {start|stop}"
|
|
exit 1
|
|
fi
|
|
|
|
if [ "$1" == "start" ]; then
|
|
start
|
|
elif [ "$1" == "stop" ]; then
|
|
stop
|
|
else
|
|
echo "Usage: $0 {start|stop}"
|
|
exit 1
|
|
fi
|