A Qt based GUI application for helping with macOS Time Machine. This is a macOS specific application.
- Monitoring of destinations configured for use with Time Machine.
- Monitoring of backup status showing backup phase, percentage completion, and more.
- Tabularization of destinations, source machines, source volumes, and backups.
- Checkbox selectivity of backups to show by destinations, machines, or volumes.
- Configurability and persistence of settings.
- Deletion of backups, an administrative action.
- Verification of backups.
- "Uniquely sizing" backups, their volumes, or their volumes' contained paths.
- Restoring from backups, their volumes, or their volumes' contained paths.
This project minimally needs the following:
- macOS Sonoma (version 14) (or newer).
- C++20 (or higher).
- coroutine library support.
As of November 8, 2023, GitHub doesn't appear to have a runner available for macos-14 yet. So, this project's continuous integration setup is disabled for now and shows up as failed.
If Qt is not in a standard, system installed location, specify where to find Qt with the following setting in front of the usual CMake configuration arguments, for example:
CMAKE_PREFIX_PATH=./Qt/6.6.0/macos/lib/cmake
The usual CMake configuration arguments, are:
cmake -S time-machine-helper -B time-machine-helper-build
cmake --build time-machine-helper-build --config Release
Optionally, if you want to check the code with its clang-tidy configuration:
run-clang-tidy -p time-machine-helper-build time-machine-helper
To use the helper application, it needs to have access to the disks used by Time Machine destinations. This can be enabled by giving Time Machine Helper "full disk access". To do so, go into System Settings > Privacy & Security > Full Disk Access and make sure the toggle slider is in the allow position.
To use administrative commands of the helper, like to delete backups, the user must be allowed to administer the computer.
More specifically, the user needs to be able to use the sudo
command, at least to run the tmutil
program.
If the user is not setup in the configuration of sudo
(in its sudo.conf
file for example) to run tmutil
as root without a password, then the helper will have the user decide whether to enter their password through an external application (via sudo
's SUDO_ASKPASS
mechanism), or to be prompted by the helper for their password.
For more info on sudo
, see:
man 8 sudo
Time machine background by Amy from Pixabay. Gnome foreground by M. Harris from Pixabay. Composition by Louis Langholtz.