restore-config-revision

Restore configuration files from Git revisions This command restores configuration files from the Git repository under /etc/.git. The required --target flag controls where files are written. If the target is /etc, restore will happen directly into the live working tree. That is often the most useful mode when /etc is clean and committed, because you can move to an older revision, test or inspect it, and then restore the newer revision again while keeping the benefits of revision control.

Restore configuration files from Git revisions#

This command restores configuration files from the Git repository under /etc/.git. The required --target flag controls where files are written. If the target is /etc, restore will happen directly into the live working tree. That is often the most useful mode when /etc is clean and committed, because you can move to an older revision, test or inspect it, and then restore the newer revision again while keeping the benefits of revision control.


This command was previously named restore-config-backups. If you see the older name in changelog entries or examples, use restore-config-revision instead.

If the target is any other directory, files are written into date-stamped subdirectories instead. This is mainly useful when you want exported copies outside the live tree, or when you need to inspect revisions on a system where /etc is not clean.

Use --module to limit the restore to a single Webmin module. When a module is selected, each --file value is treated as relative to that module directory. Without --module, file paths are treated as relative to /etc, unless an absolute path is given. The --file option may be repeated for multiple files or directories.

By default the command restores only the most recent revision. With --depth, older revisions are also considered. When restoring to /etc, only the oldest revision at the selected depth is applied. Use --dry-run to preview what would be restored before writing any files.

Examples#

Restore the latest Virtualmin module revision into a separate directory for inspection:

virtualmin restore-config-revision --module virtual-server --target /root/config-revisions

Preview restoring the last five revisions of the main module config file:

virtualmin restore-config-revision --depth 5 --module virtual-server \
 --file config --target /root/config-revisions --dry-run

Restore the main module config file from ten revisions ago directly into /etc:

virtualmin restore-config-revision --depth 10 --module virtual-server \
 --file config --target /etc/

Command line help#

virtualmin restore-config-revision --target <dir> [--dry-run]
 [--depth <n>]
 [--file file]*
 [--module module]
 [--git-repo </path/to/.git>]

Source: https://www.virtualmin.com/docs/development/api-programs/restore-config-revision/

  • virtualmin, webmin, virtual-server, backup, restore, log, command line, module, config, revision
  • 1 Users Found This Useful
Was this answer helpful?

Related Articles

Pre and Post Domain Modification Scripts

Virtualmin allows the use of custom scripts (Shell, Perl, Python and etc.) to automate tasks...

OS Support

Virtualmin runs on top of Webmin. Webmin works on almost every UNIX-like OS, so with some manual...

Professional Features

Virtualmin GPL is already an extremely powerful and flexible virtual hosting control panel, so...

How to Configure Secondary DNS

This guide provides administrators with a quick overview of setting up automatic DNS secondary...

How to Configure Cloudflare DNS

For users looking to integrate Cloudflare with Virtualmin Pro, the process is straightforward and...