Skip to content

A Qt based GUI application for helping with macOS Time Machine

License

Notifications You must be signed in to change notification settings

louis-langholtz/time-machine-helper

Repository files navigation

Time Machine Helper Logo

Time Machine Helper

A Qt based GUI application for helping with macOS Time Machine. This is a macOS specific application.

Features

Time Machine Helper App

  • 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.

Prerequisites

This project minimally needs the following:

Please Note

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.

Configure

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

Build

cmake --build time-machine-helper-build --config Release

Code Check

Optionally, if you want to check the code with its clang-tidy configuration:

run-clang-tidy -p time-machine-helper-build time-machine-helper

System Settings

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.

Administrative Setup

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

Imagery Credits

Time machine background by Amy from Pixabay. Gnome foreground by M. Harris from Pixabay. Composition by Louis Langholtz.