Home Assistant MQTT sensor configuration for klipper/moonraker

Backup de la config klipper

Ces étapes permettent d’automatiser un backup de la configuration de klipper vers un nas (ou tout autre serveur accessible par ssh) à l’extinction du raspbery pi sur lequel tourne klipper. Ici on utilise la commande rsync pour synchroniser le dossier klipper_config sur le nas.

1 – création du script de backup

Se loguer au raspberry pi puis créer un répertoire script dans le répertoire home du user pi :

cd
mkdir scripts

Dans ce répertoire, créer un script backup.sh :

cd /home/pi/scripts
nano backup.sh

Contenu du script :

#!/bin/bash
rsync -a --rsync-path=/usr/bin/rsync /home/pi/klipper_config <user_du_nas>@<ip_du_nas>:/path/du/repertoire/sur/le/nas

Remarque : ici le paramètre –rsync-path est nécessaire pour un NAS synology, il contient le path vers la commande rsync sur le nas. Il peut sans doute être omis dans d’autres cas (à tester).

Valider par ctr + x puis yes et entrée, et mettre les droits en exécution :

chmod +x backup.sh

2 – création de la clef rsa

Il est nécessaire de créer une clef rsa et de l’envoyer au nas pour pouvoir s’y connecter. Lors de la création de la clef valider les étapes par entrée :

cd
ssh-keygen -t rsa
ssh-copy-id <user_du_nas>@<ip_du_nas>

3 – mise en place du service

Sur le raspberry pi, créer le fichier de définition du service dans /etc/systemd/system :

cd /etc/systemd/system
sudo nano klipper.backup.service

Contenu du fichier :

[Unit]
Description=Backup de la config klipper
Requires=network.target
After=network.target
Before=shutdown.target halt.target poweroff.target
DefaultDependencies=no

[Service]
Type=oneshot
RemainAfterExit=true
ExecStop=/bin/bash /home/pi/scripts/backup.sh
User=pi

[Install]
WantedBy=multi-user.target

Enregistrer le fichier et sortir de nano par ctrl + x, valider par yes puis entrée.

Activer et lancer le service :

sudo systemctl enable klipper.backup
sudo systemctl start klipper.backup