版权所有 © 2008-2024 Oprea Dan、Bart de Koning、Richard Bailey、Germar Reitze、Taylor Raack
版权所有 © 2022 Christian Buhtz、Michael Büker、Jürgen Altfeld
Back In Time是一款易于使用的文件和文件夹备份工具。它在 GNU/Linux 上运行(而不是在 Windows 或 OS X/macOS 上),并提供命令行工具backintime
和 GUI backintime-qt
两者都是用 Python3 编写的。它使用rsync
来手动或计划快照并通过 SSH 将其存储在本地或远程。每个快照都位于其自己的文件夹中,其中包含原始文件的副本,但未更改的文件在快照之间硬链接以节省存储空间。它的灵感来自于 FlyBack。
自 2022 年夏季新团队加入以来,该项目一直在积极开发中。开发是在业余时间完成的,因此需要优先考虑事情。坚持我们,我们大家
当前的重点是解决主要问题,而不是实现新功能。阅读策略大纲了解详细信息。如果您对开发感兴趣并查看未解决的问题,尤其是那些标记为良好的首要问题和需要帮助的问题,请参阅贡献。
目前的团队于 2022 年夏天开始(#1232),构成该项目的第三代维护者。该团队由三名具有不同背景的成员(@aryoda、@buhtz、@emtiu)组成,受益于前维护者 @Germar 的帮助,他在幕后做出了贡献。
所有团队成员都参与项目的各个方面,包括代码分析、文档记录、解决问题和新功能的实现。这项工作是他们利用有限的业余时间自愿进行的。
Back In Time包含在许多 GNU/Linux 发行版中。使用他们的存储库来安装它。如果您想贡献或使用Back In Time的最新开发版本,请参阅CONTRIBUTING.md
中的构建和安装部分。那里还描述了依赖关系。
除了官方 GNU/Linux 发行版的存储库之外,还有第三方提供和维护的其他替代安装选项。
ppa:bit-team/stable
作为稳定版本,提供ppa:bit-team/testing
作为测试 PPA。在最新的稳定版本中:
cron
以root
运行 BiT 时, qt_probing.py
可能会因 CPU 使用率过高而挂起在旧版本中:
此常见问题解答部分描述了更多问题。
所有版本都可以在版本列表中找到。
在版本 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 支持的主题和图标可能会导致这种情况。在这种情况下, “回到过去”可能会激活错误的主题,从而导致一些图标丢失。下一版本的修复正在准备中。
作为干净的解决方案,请检查您的 Linux 设置(外观、样式、图标)并通过包管理器安装您喜欢的样式的所有主题和图标包。
请参阅问题 #1306 和 #1364。
状态:已在 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
要诊断并解决此问题,请在终端中执行以下步骤:
# Show default backend
python3 -c "import keyring.util.platform_; print(keyring.get_keyring().__module__)"
# List available backends:
keyring --list-backends
# Find out the config file folder:
python3 -c "import keyring.util.platform_; print(keyring.util.platform_.config_root())"
# Create a config file named "keyringrc.cfg" in this folder with one of the available backends (listed above)
[backend]
default-keyring=keyring.backends.kwallet.DBusKeyring
另请参阅问题#1321
状态:在 v1.3.3 中修复
Back In Time的发行版 ( 1.3.2
) 和早期版本与rsync >= 3.2.4
(#1247) 不兼容。
如果您使用rsync >= 3.2.4
且backintime <= 1.3.2
则有一个解决方法。在专家选项/附加选项中添加--old-args
到 rsync 。请注意,某些 GNU/Linux 发行版(例如 Manjaro)在其发行版特定包中使用环境变量RSYNC_OLD_ARGS
的解决方法来实现Back In Time 。在这种情况下,您可能看不到任何问题。
有关项目工作流程和策略的概述,请参阅贡献文件。
2024 年 7 月