1

我有一个(别人的)软件,如果在运行时硬关机,它会时不时地通过破坏重要文件来破坏其工作空间。

它已经通过包装脚本调用,所以我对此的回应是(因为工作空间不是那么大——小于 100M)tar -czf backups/workspace_$(date +%f_%R).tar.gz workspace/在程序运行之前坚持 a。我可以使用这个解决方案(只需要放置一些东西来清理旧的备份),但它似乎不优雅,因为大多数时候这些工作空间几乎没有改变。大多数有问题的文件都是二进制文件。

是的,我知道正确的备份系统是一个“更好”的选择,但我不想为此使用它。

显而易见的解决方案是使用修订控制:git。我只手动使用过 git,所以我对使用这个自动化系统有点不确定

问题1:设置repo后,是

git add workspace
git commit -m "backup on `date`"

去做我想做的事?

问题2:有没有更好的方法我没有看到?(不使用大规模备份——我想要一个增量修订控制方案)

4

2 回答 2

1

git add不会跟踪已删除的文件,如果您还想跟踪已删除的文件,您可以使用git add -A. 否则,git add workspace+git commit将跟踪workspace.

可以使用 cron 定期备份更改,这样可以更好地防止数据丢失。您不会丢失应用程序启动时发生的更改,而只会丢失最后 15 分钟/小时/天,具体取决于您用于 cron 的时间间隔。

于 2012-08-14T20:06:27.287 回答
1
git add -A -- some/dir

将阶段所有修改仅限于某些/目录

于 2012-08-14T20:32:03.340 回答