首页 > 服务器 > 一种自动保存游戏记录的方案

作者:ghostry 发布时间:2025-07-07 浏览: 15

转载注明出处: https://blog.ghostry.cn/server/1137.html

最近玩模拟器游戏,有一次不小心把存档搞丢了.于是每天手动保存存档,然后又感觉太麻烦.就萌生了做一个自动保存存档的想法.

因为我有一个git仓库.想到利用git保存所有记录的特性.利用脚本和crontab做一个每天自动提交.
脚本如此,放到存档目录,并且把存档目录做成git仓库.

#!/bin/bash
cd $(dirname $(readlink -f "$0"))
# 变量
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

COMMIT_MESSAGE="自动提交: $(date +'%Y-%m-%d %H:%M:%S')"

# 检查git状态
git status --porcelain >> /tmp/git_push.log 2>&1
if [ $? -ne 0 ]; then
    echo "[$(date +'%Y-%m-%d %H:%M:%S')] git命令执行错误" >> /tmp/git_push.log
    exit 1
fi

if [ -n "$(git status --porcelain)" ]; then
    git add . >> /tmp/git_push.log 2>&1
    git commit -m "$COMMIT_MESSAGE" >> /tmp/git_push.log 2>&1
    git push >> /tmp/git_push.log 2>&1
    echo "[$(date +'%Y-%m-%d %H:%M:%S')] 检测到未提交更改并已自动提交" >> /tmp/git_push.log
else
    echo "[$(date +'%Y-%m-%d %H:%M:%S')] 没有检测到未提交的更改" >> /tmp/git_push.log
fi

在crontab配置每天0点执行.

拓展

如果想多个设备同步,可以脚本加git pull.模拟器启动和关闭时执行.
如果没有git,rsync也能实现类似功能.可以配合alist的dav,samba,nfs等.
或者用rclone

标签: none

上一篇: ubuntu 利用sunshine和虚拟显示器实现副屏扩展
下一篇: 

添加新评论 »

*
*

欢迎评论!歡迎評論!Comments welcome!komentoj bonvenaj!댓글 오신 것을 환영합니다!
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: :cold: :cryy: :cute: :shy: :sleep: :struggle: :tea: :yahou: