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
 |