installation/nextcloud_itopie.md: add calcardbackup authored by Luca Capello's avatar Luca Capello
This fixes <https://odoo.itopie.ch/web#model=helpdesk.ticket&id=HT01279>.

Thanks to Samuel Chenal <schenal@itopie.ch> for the help.
......@@ -728,6 +728,64 @@ local:~$
```
#### Sauvegarde des données CalDAV/CardDAV
**NB**, this originates from <https://odoo.itopie.ch/web#model=helpdesk.ticket&id=HT01279>!
Bien que la base de données PostgreSQL soit sauvegardée de façon indépendante par [`cronjob` système](#sauvegarde-de-la-base-des-données-postgresql), la récupération de donnée spécifiques à un seul utilisateur serait compliquée, car il faudrait restaurer le système entière, ou alors parser le dump de la base de données en sachant pertinemment où sont les données que nous intéressent.
Pour cette raison, le script <https://codeberg.org/BernieO/calcardbackup> est utilisé, toujours par `cronjob` système et toutes les heures, pour exporter les données CalDAV/CardDAV par utilisateur sont exportés de l'instance et sauvegardées dans des fichiers `.ics`/`.vcf`.
Voici les étapes d'installation :
1. télécharger le dépôt Git du script :
```
nextcloud:~$ su -
nextcloud:~# su -l -s /bin/bash www-data
www-data@nextcloud:~$ cd /srv/nextcloud-storage/
www-data@nextcloud:/srv/nextcloud-storage$ git clone https://codeberg.org/BernieO/calcardbackup.git
www-data@nextcloud:/srv/nextcloud-storage$ cd calcardbackup
www-data@nextcloud:/srv/nextcloud-storage/calcardbackup$ exit
nextcloud:~# CALCARD_BIN_DIR="/srv/nextcloud-storage/calcardbackup"
nextcloud:~#
```
1. configurer les dossiers pour les sauvegardes et pour les logs :
```
nextcloud:~# CALCARD_BACKUP_DIR="/srv/backup/nextcloud/calcard"
nextcloud:~# mkdir -m 0755 -p "${CALCARD_BACKUP_DIR}"
nextcloud:~# chown www-data: "${CALCARD_BACKUP_DIR}"
nextcloud:~# CALCARD_LOG_FILE="/var/log/nextcloud/calcardbackup.log"
nextcloud:~# touch "${CALCARD_LOG_FILE}"
nextcloud:~# chown www-data: "${CALCARD_LOG_FILE}"
nextcloud:~#
```
1. tester le fonctionnement :
```
nextcloud:~# NEXTCLOUD_BIN_DIR="/srv/nextcloud"
nextcloud:~# CALCARD_CMDLINE_FULL="${CALCARD_BIN_DIR}/calcardbackup ${NEXTCLOUD_BIN_DIR} -o ${CALCARD_BACKUP_DIR} >${CALCARD_LOG_FILE} 2>&1"
nextcloud:~# su -s /bin/sh -c "${CALCARD_CMDLINE_FULL}" www-data
nextcloud:~#
```
1. configurer le `cronjob` système : \
**ATTENTION**, en exécutant le tout avec l'utilisateur `root` (et donc via `su -c...`), il n'y a pas besoin de configurer la livraison des mails locaux pour l'utilisateur `www-data` !
```
nextcloud:~# cat <<EOF >>/etc/cron.d/local_nextcloud
### <https://codeberg.org/BernieO/calcardbackup>
0 * * * * root su -s /bin/sh -c '${CALCARD_CMDLINE_FULL}' www-data
EOF
nextcloud:~#
```
Et voici comment utiliser les sauvegardes :
1. récupérer l'[UUID de l'utilisateur Nextcloud](#déverminage)
1. copier dans un dossier temporaire le tarball correspondant à la date de la sauvegarde souhaitée
1. décompresser les fichiers voulus :
```
# tar axvf calcardbackup-YYYY-MM-DD.tar.gz --wildcards \*${UUID}\*.[ics|vcf]
# ls -l calcardbackup-YYYY-MM-DD/
#
```
### TOTP
- Configurer le TOTP pour l'utilisateur \
......
......