MCPcopy Index your code
hub / github.com/bit-team/backintime

github.com/bit-team/backintime @v1.6.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.6.1 ↗ · + Follow
2,286 symbols 8,334 edges 121 files 1,089 documented · 48%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Mailing list bit-dev@python.org Mastodon @backintime@fosstodon.org

Build Status User manual Status Translation status REUSE status

Back In Time

Back In Time is a comfortable and well-configurable graphical frontend for incremental backups using rsync, with a command-line version also available. Modified files are transferred, while unchanged files are linked to the new folder using rsync's hard link feature, saving storage space. Restoring is straightforward via file manager, command line or Back In Time itself.

It is written in Python3 and available for all major GNU/Linux distributions as command line tool backintime and GUI backintime-qt. Backups can be scheduled and stored locally or remotely through SSH.

More background info in CONTRIBUTING and HISTORY.

Maintenance status

The project is in active development since the new team joined in summer 2022. Development is done voluntarily in spare time so things need to be prioritized. Stick with us, we all ♥️ Back In Time. 😁

Current focus is on fixing major issues instead of implementing new features. Stabilize the code base and its test suite is also a matter. Read the strategy outline for details. Please see CONTRIBUTING if you are interested in the development and have a look on open issues especially those labeled as good first issues and help wanted.

The team

Since around 2024, @buhtz, part of the projects third generation of maintainers, has been the sole maintainer. He handles all core tasks, from code analysis and documentation to issue resolution and feature implementation. The work is carried out voluntarily during spare time. The project continues to benefit from an active and engaged community that provides advice, expertise, and contributions, ensuring it thrives and evolves.

The project was reactivated in 2022) and thanks in large part to @emtiu and @aryoda, who helped relaunch and shape its direction. See HISTORY for more details.

Index


Documentation

Contact & Social

Installation

Back In Time is included in many GNU/Linux distributions. Use their repositories to install it. If you want to contribute or using the latest development version of Back In Time please see section Build & Install in CONTRIBUTING.md. Also the dependencies are described there.

Known Problems and Workarounds

In the latest stable release: - File permissions handling and therefore possible non-differential backups - qt_probing.py may hang with high CPU usage when running BiT as root via cron

More problems described in this FAQ section.

File permissions handling and therefore possible non-differential backups

  • In version 1.2.0, the handling of file permissions changed.
  • In versions <= 1.1.24 (until 2017) all file permissions were set to -rw-r--r-- in the backup target.
  • In versions >= 1.2.0 (since 2019) rsync is executed with --perms option which tells rsync to preserve the source file permission.

Therefore backups can be larger and slower, especially the first backup after upgrading to a version >= 1.2.0.

If you don't like the new behavior, you can use Expert Options -> Paste additional options to rsync to add --no-perms --no-group --no-owner to it. Note that the exact file permissions can still be found in fileinfo.bz2 and are also considered when restoring files.

qt_probing.py may hang with high CPU usage when running BiT as root via cron

See the related issue #1592.

The only reliable work-around is to delete (or move into another folder) the file /usr/share/backintime/common/qt_probing.py:

mv /usr/share/backintime/common/qt_probing.py /usr/share/backintime/

Renaming does not work!

Contributing and other ways to support the project

See CONTRIBUTING file for an overview about the projects workflow and strategy.

Licenses

Please read LICENSES.md.


February 2026


Copyright © 2008-2024 Oprea Dan, Bart de Koning, Richard Bailey, Germar Reitze, Taylor Raack

Copyright © 2022 Christian Buhtz, Michael Büker, Jürgen Altfeld

Core symbols most depended-on inside this repo

append
called by 213
common/tools.py
exists
called by 106
common/snapshots.py
error
called by 102
common/pluginmanager.py
write
called by 82
common/password_ipc.py
path
called by 69
common/snapshots.py
split
called by 67
common/snapshots.py
read
called by 61
common/password_ipc.py
remove
called by 47
common/snapshots.py

Shape

Method 1,753
Function 253
Class 229
Route 51

Languages

Python100%

Modules by API surface

common/config.py204 symbols
qt/app.py102 symbols
common/snapshots.py100 symbols
common/test/test_tools.py88 symbols
common/tools.py85 symbols
common/test/test_snapshots.py66 symbols
common/test/test_configfile.py59 symbols
common/configfile.py57 symbols
common/test/test_storagesize.py54 symbols
common/test/test_remove_retention.py53 symbols
common/test/test_sshtools.py48 symbols
common/cliarguments.py45 symbols

For agents

$ claude mcp add backintime \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact