Back In Time
版权所有 (C) 2008-2024 Oprea Dan, Bart de Koning, Richard Bailey,
Germar Reitze, Taylor Raack
版权所有 (C) 2022 Christian Buhtz, Michael Büker, Jürgen Altfeld
Back In Time 是一个易于使用的文件和文件夹备份工具。它运行在 GNU/Linux 系统上(不支持 Windows 或 OS X/macOS),提供命令行工具 backintime
和图形界面 backintime-qt
,均使用 Python3 编写。它使用 rsync
进行手动或定时快照,并将其存储在本地或通过 SSH 远程存储。每个快照都在自己的文件夹中,包含原始文件的副本,但快照之间未更改的文件通过硬链接共享,以节省存储空间。它的灵感来源于 FlyBack。
维护状态
自 2022 年夏天新团队加入以来,项目一直在积极开发中。由于开发工作是在业余时间进行的,所以需要对事务进行优先排序。请继续支持我们,我们都热爱 Back In Time。😁
目前的重点是修复主要问题,而不是实现新的功能。详情请阅读战略概述。如果您对开发感兴趣,请查看 CONTRIBUTING 文档,并关注未解决的问题,特别是那些标记为适合新手的问题和需要帮助的问题。
团队
目前的团队始于 2022 年夏天(从 #1232 开始),是项目的第三代维护者。团队由三名来自不同背景的成员组成(@aryoda, @buhtz, @emtiu),并得到前任维护者 @Germar 在幕后的支持。
所有团队成员都参与项目的各个方面,包括代码分析、文档编写、解决问题和实现新功能。这些工作都是在他们有限的业余时间内自愿完成的。
目录
文档、常见问题、支持
- FAQ - 常见问题解答
- 最终用户文档(不完全是最新的)
- 邮件列表 bit-dev 用于讨论 Back In Time 的所有主题、问题和想法。尽管名称如此,它并不仅限于开发主题。
- 使用 Issues 提问和报告错误。
- 开发者源代码文档
安装
Back In Time 已包含在许多 GNU/Linux 发行版中。使用它们的软件源进行安装。如果您想贡献或使用 Back In Time 的最新开发版本,请参阅 CONTRIBUTING.md
中的构建与安装部分。依赖项也在那里描述。
替代安装选项
除了官方 GNU/Linux 发行版的软件源外,还有其他由第三方提供和维护的替代安装选项。
- @Germar 的个人软件包存档(PPA),提供
ppa:bit-team/stable
作为稳定版和ppa:bit-team/testing
作为测试版 PPA。 - @jean-christophe-manciot 的 PPA 发布最新稳定 Ubuntu 版本的 Back In Time。请查看 PPA 要求 和安装说明。
- Arch 用户仓库(AUR)提供一些软件包。
已知问题和解决方法
最新稳定版中的问题:
旧版本中的问题:
- 使用 EncFS 提示用户输入密码时出现错误:"module 'qttools' has no attribute 'initate_translator'" (#1553)
- 托盘图标或其他图标显示不正确
- 密码保险箱不工作,BiT 忘记密码(keyring 后端问题)
- 与 rsync >= 3.2.4 不兼容
更多问题描述请参见此 FAQ 部分。
最新稳定版中的问题
所有版本可在发布列表中找到。
文件权限处理以及可能导致的非增量备份
在 1.2.0 版本中,文件权限的处理发生了变化。
在 <= 1.1.24 版本(直到 2017 年)中,备份目标中的所有文件权限都被设置为 -rw-r--r--
。
在 >= 1.2.0 版本(自 2019 年起)中,rsync
使用 --perms
选项执行,这告诉 rsync
保留源文件权限。
因此,备份可能会变得更大、更慢,特别是在升级到 >= 1.2.0 版本后的第一次备份。
如果您不喜欢新的行为,可以使用 专家选项 -> 粘贴额外的 rsync 选项 来添加 --no-perms --no-group --no-owner
。
请注意,确切的文件权限仍然可以在 fileinfo.bz2
中找到,并在恢复文件时也会被考虑。
通过 cron
以 root
身份运行 BiT 时,qt_probing.py
可能会以高 CPU 使用率挂起
请查看相关问题 #1592。
唯一可靠的解决方法是删除(或移动到另一个文件夹)文件 /usr/share/backintime/common/qt_probing.py
:
mv /usr/share/backintime/common/qt_probing.py /usr/share/backintime/
重命名是无效的!
早于最新稳定版本的问题
托盘图标或其他图标显示不正确
状态:在 v1.4.0 中已修复
缺少 Qt 支持的主题和图标安装可能导致这种情况。在这种情况下,Back In Time 可能会激活错误的主题,导致一些图标缺失。下一个版本的修复正在准备中。
作为彻底的解决方案,请检查您的 Linux 设置(外观、样式、图标),并通过包管理器安装您首选样式的所有主题和图标包。
密码保险箱不工作和 BiT 忘记密码(密钥环后端问题)
状态:在 v1.3.3(大部分)和 v1.4.0 中已修复
Back in Time 仅支持选定的"已知良好"后端,通过使用 keyring
库从用户会话密码保险箱中设置和查询密码。
启用支持的密钥环需要手动配置配置文件,直到有设置 GUI 等功能。
症状是 DEBUG 日志输出(使用命令行参数 --debug
)中的密钥环问题可以通过如下输出识别:
DEBUG: [common/tools.py:829 keyringSupported] No appropriate keyring found. 'keyring.backends...' can't be used with BackInTime
DEBUG: [common/tools.py:829 keyringSupported] No appropriate keyring found. 'keyring.backends.chainer' can't be used with BackInTime
要诊断和解决这个问题,请在终端中按以下步骤操作:
# 显示默认后端
python3 -c "import keyring.util.platform_; print(keyring.get_keyring().__module__)"
# 列出可用后端:
keyring --list-backends
# 查找配置文件文件夹:
python3 -c "import keyring.util.platform_; print(keyring.util.platform_.config_root())"
# 在此文件夹中创建名为 "keyringrc.cfg" 的配置文件,使用上面列出的可用后端之一
[backend]
default-keyring=keyring.backends.kwallet.DBusKeyring
另请参阅问题 #1321
与 rsync 3.2.4 或更新版本不兼容
状态:在 v1.3.3 中已修复
Back In Time 的发布版本(1.3.2
)和早期版本与 rsync >= 3.2.4
不兼容(#1247)。
如果您使用 rsync >= 3.2.4
和 backintime <= 1.3.2
,有一个临时解决方法。在专家选项 / rsync 的附加选项中添加 --old-args
。请注意,一些 GNU/Linux 发行版(如 Manjaro)在其特定于发行版的 Back In Time 软件包中使用环境变量 RSYNC_OLD_ARGS
作为临时解决方法。在这种情况下,您可能不会看到任何问题。
贡献和支持项目的其他方式
有关项目工作流程和策略的概述,请参阅 CONTRIBUTING 文件。
2024年7月