2.1 Requirements#
- Linux: x86-64 machine with glibc. LVM snapshots need root rights and the
lvm2tools. - Windows: Windows 10 or 11 or Windows Server, administrator rights for backing up volumes and disks (VSS).
- Backup server: a Linux machine with enough storage space and a reachable TCP port (default 9990).
2.2 Installing with bkp_setup#
bkp_setup is the installer. It is small and self-contained (Linux: statically linked, needs only libc; Windows: aegisgrid-setup.exe), downloads the chosen components from the update server, installs them and sets them up. Address, channel and public signing key are built in and can be overridden with options. Only what is listed in the publisher's signed component catalog is installed.
| Component | Contents | Default |
|---|---|---|
core | bkp_updater, bkp_dump, bkp_setup, bkp_license | always |
agent | bkp_agent (backup) | yes |
restore | bkp_restore | yes |
target | bkp_target (backup server, Linux only) | no |
maintenance | bkp_maintenance (Linux only) | no |
monitor | bkp_monitor (Linux only) | no |
sched | bkp_sched, bkp_sched_net (job scheduler with mail and API; Windows: service, only bkp_agent and Hyper-V jobs) | no |
console | bkp_console: management console for the job schedulers of this and other machines (Windows only, Chapter 14) | no |
tconsole | bkp_target_console: target console for backup servers (Windows only) | no |
proxmox, xenv | Backup and restore of whole Proxmox VE or Xen VMs (Linux only; offered on a Proxmox VE host or with the Xen toolstack xl) | no |
hyperv | bkp_hyperV, bkp_hyperV_restore: backup and restore of whole Hyper-V VMs (Windows only; offered when the Hyper-V role is installed; Chapter 20) | no |
site | bkp_sitesrv: your own site server with the service aegisgrid-site (chapter “Site server”) | no |
verifier | bkp_verifier (Linux only) | no |
m365 | bkp_m365, bkp_m365_restore (Linux only) | no |
legacy | bkp_restore_legacy: reading and deleting backups in the old format of version 1 (Chapter 27) | no |
Presets: --preset client (core, agent, restore), --preset server (core, target, maintenance, monitor), --preset all. Dependencies are chosen along automatically. Afterwards the updater updates only the installed components.
2.2.1 Linux: text wizard and silent mode#
# as root in a terminal: the wizard asks for components, update server, client and server settings
./bkp_setup-linux-x86_64
# without questions (script, configuration management)
./bkp_setup --silent --accept-eula --preset client \
--client-server backup.example.com:9990 --client-dir vm1 --client-cert /root/target.crt --client-key-file /root/vm1.key
./bkp_setup --silent --accept-eula --preset server --configure-server \
--server-storage /srv/backups --server-dirs vm1,vm2 --server-cn backup.example.com --enable-target-api
A new installation requires accepting the license terms: the wizard shows them before the choice of components; without questions --accept-eula applies (in the answer file the line accept-eula); --show-eula prints the text. The setup records the acceptance with version, language and time in /etc/bkp/eula-accepted.txt (on Windows in the configuration folder). Modifying, repairing, uninstalling and updates do not ask again.
--answers <file> reads key = value lines with the option names without dashes. The installation creates /opt/aegisgrid/versions/<v> with the link current (like the updater), links the programs into /usr/local/bin, sets up the updater's systemd timer (otherwise cron) and writes /etc/bkp/updater.conf. For the client it puts the server certificate and the key file into /etc/bkp, checks the connection (bkp_restore --list) and shows a ready bkp_agent command. With --configure-server it creates a certificate for bkp_target, the storage directory, the ACL with the first API key (shown only once) and a systemd unit. --enable-target-api (in the wizard the question about the Target API) also turns on the Target API and creates the first access for the target console (name target-konsole, another one with --target-api-token <name>, role admin); port, fingerprint and token are shown in the report at the end (the token only once). The wizard writes the log lines of the installation to the system log instead of the screen; if there were warnings, it gives their number at the end (details: journalctl -t bkp_setup; with --no-syslog they follow the report).
2.2.2 Windows: wizard#
aegisgrid-setup.exe without options opens a wizard (welcome, license terms, components, update server, client settings with a connection test, progress). It requires administrator rights (UAC). With --silent and the same options it runs without a window, for example for software distribution. The installation creates the task “AegisGrid updater”, adds <installation folder>\bin to the PATH, creates an entry in “Apps & features” (modify and uninstall) and in the Start menu the folder “AegisGrid” with “AegisGrid Setup” and, as long as the component console or tconsole is installed, “AegisGrid Management Console” or “AegisGrid Target Console”. On Windows the preset “Client” covers core, backup agent, restore, job scheduler and management console; “Custom” starts with this choice, and there scheduler and console can be deselected. The backup server exists only on Linux.
If job scheduler and management console are chosen, the page “Management console” asks which Windows user uses the console (preset: the signed-in one) and whether it may change, start and cancel jobs or only view them. The setup turns on the scheduler's API, creates the token konsole-<name> for this user and stores the connection; at its next start the console shows “This computer” already connected (Chapter 14). Without a window: --console-user <user> and --console-role admin|read; --no-console-link leaves out the connection, --no-sched-api the API as well.
If the scheduler of this computer has no job yet, the last page offers the check box “Set up the first backup now (opens the management console)” (preset). “Finish” then starts the console as the signed-in user, not with the setup's administrator rights, and with --first-run: it selects “This computer” and opens the wizard for the first backup (section “Wizard for new jobs”). On Linux the report at the end gives the next steps in this case: create a key with openssl, add a destination ([sink:usb]), a profile [computer] and a job with schedule = 0 21 * * * and retention = 30d to bkp_sched.cfg, then bkp_sched validate, list and run.
If the job scheduler is chosen, the page “Release for other computers” follows: with it, the management consoles of the other computers of the same account get this scheduler by themselves (Chapter 14, section “Releasing a scheduler for other consoles”). Without a window: --console-release read|admin|off; without the switch the release stays as it is. The switch exists on Linux too.
2.2.3 Activation during the installation#
If the update server delivers the channel only to activated installations (chapter “Automatic updates”, section “Activating the installation”), the text wizard (Linux) and the Windows wizard ask for the activation code (CB-XXXXX-XXXXX-XXXXX-XXXXX, e.g. the test code of the demo version) after loading the catalog. The setup checks the spelling itself, asks the AegisGrid license server, then loads the catalog again, now with the installation certificate, and installs as usual. Upper and lower case and the dashes do not matter; mix-ups such as O and 0 or I, L and 1 are evened out. If the version knows no license server, the wizards offer only the way by file.
Without an activation code or without an internet connection it works by file: save a request for the activation, send it to AegisGrid support and import its answer. If a request is already open, the wizards suggest importing the answer; a new request replaces the open one only after asking. A failed attempt with an activation code leaves an open request untouched.
On Windows the page “Activation” appears for this: at the top the field “Activation code” with the button “Activate” (also with the Enter key), below it “Save request...” (suggestion: Documents\aegisgrid-anfrage-<computer>.json; “Open folder” shows the file in Explorer) and “Import answer...”. If the license server cannot be reached, the page gives the reason and puts the focus on the way by file. The setup may be closed between request and answer; at its next start it recognizes the open request. Without questions (Linux and Windows):
./bkp_setup --silent --accept-eula --preset client --activation-code-file /root/code.txt # the file holds the activation code
# by file:
./bkp_setup --activation-request /root/request.json # writes the request and ends
# send the file to AegisGrid support, the answer comes back
./bkp_setup --silent --accept-eula --preset client --activation-response /root/answer.json
The activation code is kept in a file instead of on the command line so that it does not end up in the process list or the shell history. --activation-code-file and --activation-response activate before the catalog is loaded; after that, setup and updater send the installation certificate with every request. On Windows WinHTTP sends the certificate; for that it keeps the key in the Windows key store only for the duration of the connection.
2.2.4 Modifying, repairing, removing#
bkp_setup --modify --components core,agent,monitor # add or remove components
bkp_setup --repair # download missing or damaged files again
bkp_setup --uninstall # removes programs, timer/task, entries, frees the license seat
bkp_setup --uninstall --purge # also settings, keys and certificates
# (Windows: all of %ProgramData%\AegisGrid, logs too)
bkp_setup --list-components # show the catalog
Note: The Windows wizard has been checked on Windows 11 and Windows Server 2025 (install, modify components, repair, uninstall). On other Windows versions run scripts/setup_test.ps1 with the checklist there before use.
2.3 First test#
bkp_agent --help | head -3
bkp_updater --status
Output:
bkp_agent 2.0.0-alpha.001 (build <n>)
Usage: bkp_agent --source <path> (--out <dir> | --target <host:port> ... | --sink <name>)
bkp_updater 2.0.0-alpha.001
platform: linux x86_64 debian glibc 2.41
update url: (none: updates are off)
channel: alpha
trusted keys: 0
last manifest sequence: 0
dependencies: auto, package install not allowed