mirror of
https://github.com/arcan1s/ahriman.git
synced 2026-03-23 18:03:39 +00:00
61 lines
2.1 KiB
ReStructuredText
61 lines
2.1 KiB
ReStructuredText
Backup and restore
|
|
------------------
|
|
|
|
The service provides several commands aim to do easy repository backup and restore. If you would like to move repository from the server ``server1.example.com`` to another ``server2.example.com`` you have to perform the following steps:
|
|
|
|
#.
|
|
On the source server ``server1.example.com`` run ``repo-backup`` command, e.g.:
|
|
|
|
.. code-block:: shell
|
|
|
|
ahriman repo-backup /tmp/repo.tar.gz
|
|
|
|
This command will pack all configuration files together with database file into the archive specified as command line argument (i.e. ``/tmp/repo.tar.gz``). In addition it will also archive ``cache`` directory (the one which contains local clones used by e.g. local packages) and ``.gnupg`` of the ``ahriman`` user.
|
|
|
|
#.
|
|
Copy created archive from source server ``server1.example.com`` to target ``server2.example.com``.
|
|
|
|
#.
|
|
Install package as usual on the target server ``server2.example.com`` if you didn't yet.
|
|
|
|
#.
|
|
Extract archive e.g. by using subcommand:
|
|
|
|
.. code-block:: shell
|
|
|
|
ahriman repo-restore /tmp/repo.tar.gz
|
|
|
|
An additional argument ``-o``/``--output`` can be used to specify extraction root (``/`` by default).
|
|
|
|
#.
|
|
Rebuild repository:
|
|
|
|
.. code-block:: shell
|
|
|
|
sudo -u ahriman ahriman repo-rebuild --from-database
|
|
|
|
Package rollback
|
|
================
|
|
|
|
If the ``archive.keep_built_packages`` option is enabled, the service keeps previously built package files in the archive directory. These archives can be used to rollback a package to a previous successfully built version.
|
|
|
|
#.
|
|
List available archive versions for a package:
|
|
|
|
.. code-block:: shell
|
|
|
|
ahriman package-archives ahriman
|
|
|
|
#.
|
|
Rollback the package to the desired version:
|
|
|
|
.. code-block:: shell
|
|
|
|
sudo -u ahriman ahriman package-rollback ahriman 2.19.0-1
|
|
|
|
By default, the ``--hold`` flag is enabled, which prevents the package from being automatically updated on subsequent ``repo-update`` runs. To rollback without holding the package use:
|
|
|
|
.. code-block:: shell
|
|
|
|
sudo -u ahriman ahriman package-rollback ahriman 2.19.0-1 --no-hold
|