VJ7BLK6E5K5M42UBEDLNHWGR33XWOMUISVQHSDX3JNEJPDA45PLQC
- git-annex pour les disque durs locaux (voir
[[file:Git-annex.md][Discussion sur git-annex]] )
- sauvegarde avec restic sur google drive/mega (voir
[[file:Restic%20vs%20Borg][restic vs borg]])
- Attention, pour que restic prennent les symlink dans la sauvegarde, on
fait plusieurs dépoots
| Repo | Taille (Gb) | Archivage /annex oui oui oui oui | laptop:~/annex oui oui oui oui | raspberry:/media/annex oui oui oui oui | Sauvegarde drive | Mega |
* Stratégie: tout est géré avec git-annex.
Dans un dossier local "annex", il y a 2 dépôts
- data: contient les données sensibles, non sauvegardées en dehors du PC portable
- documents : tout le reste (photos, cours...)
La sauvegarde est faite sur Google Drive et Mega (avec rclone)
NB: hubic n'existe plus.
** Justification
git-annex est très lent pour un nombre important de fichiers car il gère chaque fichier individuellement. Mais il permet de gérer plusieurs destination d'archivage (dossier local, ssh...).
Google Drive et Mega ne sont pas très adaptées car le protocole git n'est pas supporté.
** Maintenance
:PROPERTIES:
:CUSTOM_ID: maintenance
:END:
Dans chaque dossier
#+begin_src nu
rsync -avz raspberry:Downloads/torrents private/
cd public ; git annex sync --content ; cd ..
cd private ; git annex sync --content ; cd ..
cd data ; git annex sync --content ; cd ..
$env.RESTIC_PASSWORD = (pass show Backup/restic-private)
restic -r rclone:gdrive:restic-private backup private
restic -r rclone:mega:restic-private backup private
Restic est une bonne alternative pour de la sauvegarde seule (voir )
* Configuration
** Dépendances
- git-annex
- rclone
- installer [[https://github.com/git-annex-remote-rclone/git-annex-remote-rclone]]
(copier exécutable dans $PATH)
- ajouter un symlink ([[https://rclone.org/commands/rclone_gitannex/][source]] )
#+begin_src sh
ln -s /usr/bin/rclone ~/.local/bin/git-annex-remote-rclone-builtin
#+end_src
*** Configuration des remote avec rclone (public + private)
:PROPERTIES:
:CUSTOM_ID: configuration-des-remote-avec-rclone-public-private
:END:
Installer
[[https://github.com/git-annex-remote-rclone/git-annex-remote-rclone]]
(copier exécutable dans $PATH)
Créer un remote megaremote qui pointe vers le remote mega dans rclone. Pas d'encryption:
#+begin_src sh
git annex initremote megaremote type=external externaltype=rclone target=mega prefix=annex-public chunk=50MiB encryption=none rclone_layout=lower
#+end_src
cd documents; git annex sync --content ; cd ..
cd data ; git annex sync --content ; cd ..
Pour googledrive, il faut un client id et un client secret selon les
consignes ici : [[https://rclone.org/drive/#making-your-own-client-id]].
On encrypte mais avec la clé dans le dépôt git donc ne pas mettre les
dépôts n'importe où !
#+begin_src sh
git annex initremote gdriveremote type=external externaltype=rclone target=gdrive prefix=annex-private chunk=50MiB encryption=shared rclone_layout=lower
cd /annex
doas git clone ~/annex/private
doas git clone ~/annex/public
doas git clone ~/annex/data
doas git clone ~/annex/papers
doas chown -R alex private public/ papers/ data
cd private; git annex init
cd data ; git annex init ; cd ...
cd papers ; git annex init
#+end_src
Puis on ajoute les remote dans ~/annex
#+begin_src sh
cd ~/annex
git remote add zfs /annex/private
cd data ; git remote add zfs /annex/data; cd ..
cd private ; git remote add zfs /annex/private; cd ..
cd public ; git remote add zfs /annex/public; cd ..
cd papers ; git remote add zfs /annex/papers; cd ..
#+end_src
On synchronize avec
#+begin_example
cd private
git annex sync --content
#+end_example
Ne pas oublier de le faire dans l'autre sens !
#+begin_src sh
cd /annex/public
git annex add remote ~/annex/public
cd papers
git init
git annex init
git annex add
git annex initremote github-lfs type=git-lfs url=git@github.com:apraga/papers.git encryption=none
git lfs track "*.pdf"
** Mots de passe
:PROPERTIES:
:CUSTOM_ID: mots-de-passe
:END:
Stratégie : une partie est gérée par Pass mais on utilise maintenant
proton
** Google Drive avec encryption
Pour googledrive, il faut un client id et un client secret selon les
consignes ici : [[https://rclone.org/drive/#making-your-own-client-id]].
On encrypte mais avec la clé dans le dépôt git donc ne pas mettre les
dépôts n'importe où !
* Configuration
:PROPERTIES:
:CUSTOM_ID: configuration-1
:END:
** Gentoo
#+begin_src sh
git annex initremote gdriveremote type=external externaltype=rclone target=gdrive prefix=annex-private chunk=50MiB encryption=shared rclone_layout=lower
#+end_src
* Gentoo