diff --git a/README.md b/README.md index 581172b..df7493b 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Borg Backup App for Yunohost +# Borg Backup App for YunoHost [![Latest Version](https://img.shields.io/badge/version-1.0.3-green.svg?style=flat)](https://github.com/YunoHost-Apps/borg_ynh/releases) [![Status](https://img.shields.io/badge/status-testing-yellow.svg?style=flat)](https://github.com/YunoHost-Apps/borg_ynh/milestones) @@ -8,20 +8,20 @@ [![Install Borg with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=borg) -A [Borg Backup](https://borgbackup.readthedocs.io/en/stable/index.html#what-is-borgbackup) implementation for yunohost +A [Borg](https://borgbackup.readthedocs.io/en/stable/index.html#what-is-borgbackup) implementation to backup a YunoHost server. This is the Borg Backup App to be installed on a server to backup. It works together with a [Borg Server App](https://github.com/YunoHost-Apps/borgserver_ynh) installed on a host server. # How does it work? Set up Borg Apps You want to backup a critical "guest" Server A onto a remote "host" Server B, you need: -* Domain name of server B: host.serverb -* Name of the server B SSH user (to be created by borgserver_ynh) for connection from Server A: borgservera -* *Strong passphrase* to encrypt your backups on host server B. And to *restore your backups*!! +* Domain name of server B: ``host.serverb`` +* Name of the server B SSH user (to be created by ``borgserver``) for connection from Server A: ``borgservera`` +* *Strong passphrase* to encrypt your backups on host Server B. And to *restore your backups*!! * IDs of YunoHost apps you want to backup * Regular time schedule for your backups, see below * Install Borg Backup App (``borg``) on guest Server A * Install Borg Server App (``borgserver``) on host Server B ## Set up Borg Backup App on guest Server A -Firstly, set up the Borg Backup App (``borg_ynh``) on the guest server A you want to backup: +Firstly, set up the Borg Backup App (``borg``) on the guest Server A you want to backup: ``` $ yunohost app install borg_ynh Indicate the domain name of server B where to upload backups: host.serverb @@ -45,14 +45,14 @@ You can schedule regular backups at specific time. Only one regular time schedul See here for more info : https://wiki.archlinux.org/index.php/Systemd/Timers#Realtime_timer ### Information generated by Borg Backup -At the end of the installation, the Borg Backup App (´´borg´´) displays the public_key and the user to give to the person who has access to the server B. +At the end of the installation, the Borg Backup App (``borg``) displays the SSH public key and the SSH user to give to the person who has access to the host Server B and will set up Borg Server App. ``` You should now install the "Borg Server" app on host.serverb and fill questions like this: User: servera Public key: ssh-ed25519 AAAA[...] root@guest.servera ``` This information is also sent by email to the admin of guest Server A. -If you don't find the mail and you don't see the message in the log bar you can find the public_key with this command: +If you don't find the mail and you don't see the message in the log bar you can find the SSH public key with this command: ``` $ cat /root/.ssh/id_borg_ed25519.pub ssh-ed25519 AAAA[...] root@guest.servera @@ -68,7 +68,7 @@ Indicate the storage quota: 5G ``` # Test the Borg Apps setup -At this step your backup should run at the scheduled time. Note that the first backup can take very long, as many data have to be copied through ssh. Following backup are incremental: only newly generated data since last backup will be copied. +At this step your backup should run at the scheduled time. Note that the first backup can take very long, as much data has to be copied through ssh. Following backups are incremental: only newly generated data since last backup will be copied. If you want to test correct Borg Apps setup before scheduled time, you can start a backup manually on guest Server A: ``` @@ -79,17 +79,17 @@ Next you can check presence of your backup repository on host Server B: ``` $ borg list /home/servera/backup ``` -You will need the passphrase to run ´´borg´´ commands on the backup repository created on the host Server B. +You will need the passphrase to run ``borg`` commands on the backup repository created on the host Server B. -YOU SHOULD CHECK REGULARLY THAT YOUR BACKUP ARE STILL WORKING. +YOU SHOULD REGULARLY RESTORE YOUR BACKUPS TO TEST THEIR VALIDITY. # Usage and documentation -## Edit the YunoHost apps list to backup +## Edit the list of YunoHost apps to backup ``yunohost app setting borg apps -v "nextcloud,wordpress"`` ## Other usefull borg commands -[Get the storage space used by the backup on the remote server](https://borgbackup.readthedocs.io/en/stable/usage/info.html) +[Get the storage space used by the backup repository on the host server](https://borgbackup.readthedocs.io/en/stable/usage/info.html) ``borg info /home/servera/backup`` ## Backup Yunohost apps with different criticallity levels @@ -98,7 +98,7 @@ If you want to backup your guest server: * with different YunoHost apps * at different regular time schedule * on different host servers -Then you can set up multiple instances of the Borg Apps on a same server. +Then you can set up multiple instances of the Borg Apps on same servers. For instance: * Borg Backup instance ``borg``: backup nextcloud daily on host Server B * Borg Backup instance ``borg__2``: backup all other YunoHost apps weekly on host Server C