Back In Time 1.5.3

Back In Time is a simple backup solution for Linux Desktops. It is based on rsync and uses hard-links to reduce space used for unchanged files. It comes with a Qt5 GUI which will run on both Gnome and KDE based Desktops. Back In Time is written in Python3 and is licensed under GPL2. Backups are stored in plain text. They can be browsed with a normal file-browser or in Terminal which makes it possible to restore files even without Back in Time. Files ownership, group and permissions are stored in a separate compressed plain text file (fileinfo.bz2). If the backup drive does not support permissions Back in Time will restore permissions from fileinfo.bz2. So if you restore files without Back in Time, permissions could get lost.

Tags backup restore python
License GNU GPLv3
State stable

Recent Releases

1.5.329 Nov 2024 16:25 minor bugfix: Doc: User manual (build with MkDocs). Doc: User-callback topic in user manual. Feature: Support language Interlingua (Occidental). Feature: Warn if destination directory is formatted as NTFS. Breaking Change: Minimal Python version 3.9 required. Breaking Change: Auto migration of config version 4 or lower not longer supported. : Prevent duplicates in Exclude/Include list of Manage Profiles dialog. : Qt segmentation fault when canceling out of unconfigured BiT. : Correct global flock fallbacks. : Use SSH key password only if it is valid, otherwise request it from user. Feature: Support fcron. Feature: User message about release candidate. Refactor: General tab and its Schedule section. Refactor: Own module for Manage Profiles dialog and separate Generals tab code. Refactor: Remove class OrderedSet. Refactor: Remove os.system() from class Execute. Refactor: Systray notifications send utilize DBUS instead of notify-send. Refactor!: Remove unused config field "user_callback.no_logging". Refactor!: Remove eCryptFS check for home folder. Dependency: Remove libnotify-bin (notify-send). Dependency: PyFakeFS minimal version 5.6. Build: Replace "pycodestyle" linter with "flake8".
1.5.3-rc127 Nov 2024 15:45 minor bugfix: Doc: User manual (build with MkDocs). Doc: User-callback topic in user manual. Feature: Support language Interlingua (Occidental). Feature: Warn if destination directory is formatted as NTFS. Breaking Change: Minimal Python version 3.9 required. Breaking Change: Auto migration of config version 4 or lower not longer supported. : Prevent duplicates in Exclude/Include list of Manage Profiles dialog. : Qt segmentation fault when canceling out of unconfigured BiT. : Correct global flock fallbacks. : Use SSH key password only if it is valid, otherwise request it from user. Feature: Support fcron. Feature: User message about release candidate. Refactor: General tab and its Schedule section. Refactor: Own module for Manage Profiles dialog and separate Generals tab code. Refactor: Remove class OrderedSet. Refactor: Remove os.system() from class Execute. Refactor: Systray notifications send utilize DBUS instead of notify-send. Refactor!: Remove unused config field "user_callback.no_logging". Refactor!: Remove eCryptFS check for home folder. Dependency: Remove libnotify-bin (notify-send). Build: Replace "pycodestyle" linter with "flake8".
1.5.214 Sep 2024 21:25 minor bugfix: : Ensure crontab with ending newline. (translation): Correct corrupt translated strings in Basque, Islandic and Spanish causing application crashes. Build(translation): Language helper script processing syntax checks on po-files.
1.5.123 Aug 2024 02:25 minor bugfix: : Use correct port to ping SSH Proxy.
1.5.021 Aug 2024 13:05 major bugfix: Dependency: Migration to PyQt6. Breaking Change: EncFS deprecation warning. Breaking Change: GUI started with --dedoes no longer add --deto the crontab for scheduled profiles. Use the new "enable logging for demessages" in the 'Schedule' section of the 'Manage profiles' GUI instead. Feature: Warn if Cron is not running. Feature: Profile and GUI allow to activate deoutput for scheduled jobs by adding '--de' to crontab entry. Feature: Support SSH proxy (jump) host. Feature: Support rsync '--one-file-system' in Expert Options. Feature: "*-dev" version strings contain last commit hash. : Global flock fallback to single-user mode if insufficient permissions. : Qt segmentation fault with uninstall ExtraMouseButtonEventFilter when closing main window. : Names of weekdays and months translated correct. : Global flock for multiple users. : "Backup folders" list does reflect the selected snapshot. : Validation of diff command settings in compare snapshots dialog. : Open symlinked folders in file view. : Respect dark mode using color roles. : "Highly recommended" exclusion pattern in "Manage Profile" dialog's "Exclude" tab show missing only. : `make install` ignored (DEST) in file migration part. Removed: Context menu in LogViewDialog. Removed: Field "filesystem_mount" and "snapshot_version" in "info" file. Refactor: Replace Config.user() with getpass.getuser(). Chore!: Remove "debian" folder. Build: Enable several PyLint rules. Build: Add AppStream meta data. Build: PyLint unit test is skipped if PyLint isn't installed, but will always run on TravisCI. Build: Git commit hash is presevered while "make install". Build: bash-completion symlink creation while installing adding --diagnostics. Build: TravisCI use PyQt (except arch "ppc64le").
1.4.302 Feb 2024 02:50 minor bugfix: * Feature: Exclude 'SingletonLock' and 'SingletonCookie' (Discord) and 'lock' (Mozilla Firefox) files by default (part of #1555) * Work around: Relax `rsync` exit code 23: Ignore instead of error now (part of #1587) * Feature (experimental): Add new snapshot log filter `rsync transfer failures (experimental)` to find them easier (they are normally not shown as "error"). This feature is experimental because it is based on hard-coded error message strings in the rsync source code and may possibly not find all rsync messages or show false positives. * Fix bug: 'qt5_probing.py' hangs when BiT is run as root and no user is logged into a desktop environment (#1592 and #1580) * Fix bug: Launching BiT GUI (root) hangs on Wayland without showing the GUI (#836) * Improve: Launcher for BiT GUI (root) does not enforce Wayland anymore but uses same settings as for BiT GUI (userland) (#1350) * Fix bug: Disabling suspend during taking a backup ("inhibit suspend") hangs when BiT is run as root and no user is logged into a desktop environment (#1592) * Change of semantics: BiT running as root never disables suspend during taking a backup ("inhibit suspend") even though this may have worked before in BiT
1.4.129 Dec 2023 11:08 major bugfix: Dependency: Add "qt translations" to GUI runtime dependencies (#1538) Build: Unit tests do generically ignore all instead of well-known warnings now (#1539). Build: Warnings about missing Qt translation now are ignored while testing (#1537). Fix bug: GUI didn't start when "show hidden files" button was on (#1535).