PB Sauvegarde SAMBA

Bonjour,
Je n’arrive pas à avoir une sauvegarde SAMBA sans erreur.
Du côté de mon NAS Qnap les services NFS V2/V3 et SMB de 1 A 3 sont activés;
Du côté de la configuration Jeedom je ne pense pas avoir d’erreur car le test de connexion est OK que je définisse le chemin de backup en : backups_freepijdom ou /backups_freepijdom



Le fichier de sauvegarde sur le NAS ne fait que 8Mo alors qu’en local la sauvegarde fait à peu prés dans les 140Mo et ce j’ai ce message d’erreur:
Erreur sur cd /var/www/html/core/php/../../backup;sudo smbclient //192.168.0.9/jeedom -U "jeedompi%xxxxxxxxx" -I 192.168.0.9 -c "cd backups_freepijdom;put backup-FreePiJDom-4.1.20-2021-03-22-08h21.tar.gz" 2>&1 valeur retournée : 1. Détails : cli_push returned NT_STATUS_IO_TIMEOUT NT_STATUS_IO_TIMEOUT closing remote file \backups_freepijdom\backup-FreePiJDom-4.1.20-2021-03-22-08h21.tar.gz

J’ai regardé dans pas mal de sujet traitant du backup su samba mais aucune solutions de trouvées.
Je ne comprends pas où est mon erreur.
Merci de votre aide.

Sujet récurant …

merci ktn
Comme je l’ai dit dans mon message j’ai regardé les différents post traitent de ce sujet notamment le -t 120 et les autres post mais j’ai toujours le soucis.
Je sais que le message et récurent mais apparemment cette solution ne marche pas chez tous et chez moi après avoir essayé d’appliquer cette solution.

Si tu t’y connais un peu, tu peux essayer ma solution en ssh.
Je crois que mon code a un peu évolué. Je peu te fournir la dernière version ce soir.

Oui avec plaisir je veux bien essayer demain matin j’ai ma matinée tranquille impeccable.
Merci d’avance.

Exportation des backups via SSH:

Je pars du principe que Jeedom est installé dans le répertoire /var/www/html. Adaptes les chemins indiqués ci-dessous si ce n’est pas le cas chez toi.

Installation du fichier

  1. Logue toi avec le compte root sur ton serveur jeedom.
  2. Copies le fichier ssh.repo.php ci-joint dans le répertoire /var/www/html/core/repos (Attention, j’ai ajouté .txt au nom du fichier pour pouvoir l’uploader). ssh.repo.php.txt (5,6 Ko)
  3. Changes le propriétaire et le groupe du fichier avec la commande
    chown www-data:www-data /var/www/html/core/ssh.repo.php
  4. Changes les droits du fichier avec la commande
    chmod 775 /var/www/html/core/ssh.repo.php

Gardes une copie du fichier en sécurité car il risque d’être perdu lors d’une mise à jour de jeedom.

Préparation du récepteur ssh

  1. Assures toi que le service ssh tourne sur le serveur.
  2. Choisis un compte existant ou créé en un pour la réception des backups.
  3. Créés un répertoire pour le stockage des backups. Ce répertoire doit naturellement être accessible en écriture par le compte choisi ou créé ci-dessus,

Préparation des clés ssh

Sur le serveur jeedom:

  1. Logues toi avec le compte root.
  2. Tapes la commande cd pour être dans le homedir de root.
  3. Vérifies si le répertoire .ssh existe ou pas avec la commande ls .ssh.
  4. Si le répertoire .ssh existe, vérifie que les fichiers .ssh/id_rsa et .ssh/id_rsa.pub existent.
  5. Si les deux fichiers du point précédent sont absents (peut importe que .ssh existe ou non),if faut les générer avec la commande ssh-keygen (taper simplement <enter> à chaque question posée.
Exécution de `ssh-keygen`

root@jeedom:~# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory ‹ /root/.ssh ›.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:QiCURAhIVuRc4uZQiUt5nTDhki9h7RJ2UQtijzqVyQM root@jeedom
The key’s randomart image is:
±–[RSA 2048]----+
|EXX%Bo. |
|=*&**+. |
|.XOX … |
|+o@. . |
|oo + . S |
| .o . |
| |
| |
| |
±—[SHA256]-----+
root@jeedom:~#

  1. Copies le contenu du fichier .ssh/id_rsy.pub dans le presse-papier.
  2. Déployes de la clé public sur le serveur « récepteur » des backups avec la commande ssh-copy-id -i .ssh/id_rsa.pub <user>@<host> (merci @tco91)
  • <user> : Le compte choisi pour la réception des backups
  • <host> : Le nom DNS ou l’adresse IP du « récepteur ». *!!! Le même nom ou adresse IP devra être utilisé
Exemple de ssh-copy-id

root@jeedom:~# ssh-copy-id -i .ssh/id_rsa.pub @
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: « .ssh/id_rsa.pub »
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed – if you are prompted now it is to install the new keys
@'s password:

Number of key(s) added: 1

Now try logging into the machine, with: « ssh ‹ @ › »
and check to make sure that only the key(s) you wanted were added.

root@jeedom:~#

Vérification et activation de la connection ssh

  1. Logues toi avec le compte root sur le serveur Jedoom.
  2. Ouvres une connection ssh sur le « récepteur » des backups avec la commande ssh <user>@<host> avec
  • <user> : Le compte choisi pour la réception des backups
  • <host> : Le nom DNS ou l’adresse IP du « récepteur ». !!! Le même nom ou adresse IP devra être utilisé pour la configuration dans Jedoom qui sera faites plus loin !!!
  • Réponds yes à la question
  1. Si la connection a réussi, tapes exit pour revenir sur le serveur Jeddom.
Exemple

root@jeedom:~# ssh backupJ@nas1

The authenticity of host ‹ nas1 (192.168.1.120) › can’t be established.
ECDSA key fingerprint is SHA256:6uFKdiIh8MYPIhgVGnUl/dIYRDsJFE1IzSllSxfwdYs.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‹ nas1,192.168.1.120 › (ECDSA) to the list of known hosts.
backupJ@nas1:~$ exit
logout
Connection to nas1 closed.
root@jeedom:~#

Configuration de Jeedom

  1. Connectes toi à Jedom via l’interface WEB.

  2. Vas dans le menu Réglages ==> Système ==> Configuration.

  3. Séletionne le Tab Mises à jour/Market.

  4. Configure et actives le Dépôt Ssh.

  5. Vas dans le menu Configuration ==> Système ==> Sauvegardes.

  6. Configures et actives les sauvegardes SSH.

  7. Quelques incantations :pray: puis lances une sauvegarde pour tester.

1 « J'aime »

Augmente le timeout samba coté jeedom

@iznogood indique dans son message qu’il a déjà tenté d’augmenter le timeout sans succès.

Je lui propose donc la solution que j’ai implémenté chez moi et qui me donne 100% de satisfaction.

Bonsoir,
Je teste demain à nouveau car j’ai une erreur sur le test de connexion j’ai peur d’avoir un souci sur mon n’as🤬

ou un rsync d’en face et osef la conf :slight_smile:
pour simplifier ta procédure si tu veux ex: ssh-copy-id -i id_rsa.pub root@192.168.0.101

1 « J'aime »

Merci @tco91, je ne connaissais pas cette commande qui simplifie beaucoup le déploiement de la clé publique.

J’ai adapté la procédure…

Bonjour,

J’ai pas répondu avant car j’ai voulu refaire la procédure plusieurs fois pou être sur de ne pas me tromper.
A l’étape de Vérification et activation de la connection ssh je n’ai pas :

The authenticity of host ‹ nas1 (192.168.1.120) › can’t be established.
ECDSA key fingerprint is SHA256:6uFKdiIh8MYPIhgVGnUl/dIYRDsJFE1IzSllSxfwdYs.
Are you sure you want to continue connecting (yes/no)? yes

Je saisi : ssh jeedompi@192.168.0.9 (mon compte de connexion et l’ip de mon nas) et j’obtiens directement :

[jeedompi@NASF62441 ~]$

En faisant un ls je n’obtiens que : @Recycle@
Pourtant j’ai bien crée le dossier partagé avec les droits d’écriture et de lecture pour la sauvegarde et le compte utilisateur à les droits nécessaires sur le nas. :confused:
Du coup lorsque je test la connexion côté jeedom via l’interface web j’ai l’erreur :


« Erreur sur sudo ssh jeedompi@192.168.0.9 ls /DataVol1/qnap_rsync 2>&1 valeur retournée : 2. Détails : ls: cannot access /DataVol1/qnap_rsync: No such file or directory »

Merci de votre aide.

A quoi correspond l’adresse 192.168.0.9?

Le message « The authenticity of host <nas1 (192.168.1.120) >… » me laisse penser que le nas à l’adresse 192.168.1.120 mais tu configure 192.168.0.9 dans jeedom comme destination de la copie !?

Bonjour,
Je m’excuse j’ai mal formaté mon message. je citais une partie de ton tuto.

A l’étape de Vérification et activation de la connection ssh je n’ai pas cette étape de confirmation.
Je saisi : ssh jeedompi@192.168.0.9 (mon compte de connexion et l’ip de mon nas) et j’obtiens directement :

[jeedompi@NASF62441 ~]$

En faisant un ls je n’obtiens que : @Recycle@

Pourtant j’ai bien crée le dossier partagé avec les droits d’écriture et de lecture pour la sauvegarde et le compte utilisateur à les droits nécessaires sur le nas. :confused:

Du coup lorsque je test la connexion côté jeedom via l’interface web j’ai l’erreur :


« Erreur sur sudo ssh jeedompi@192.168.0.9 ls /DataVol1/qnap_rsync 2>&1 valeur retournée : 2. Détails : ls: cannot access /DataVol1/qnap_rsync: No such file or directory »

Merci pour l’aide et j’espère avoir été plus clair dans mon message.

OK, je comprend mieux.

Lorsque tu fais ssh jeedompi@192.168.0.9 tu te retrouves dans le répertoire personnel du compte jeedompi ( le HOMEDIR). Le ls te montre le contenu de ce répertoire.

Tentes de faire ls -la /DataVol1 puis ls -la /DataVol1/qnap_rsync
Fait aussi un pwd

Dans les 2 cas j’ai comme réponse :

/bin/ls: cannot access /DataVol1: No such file or directory
/bin/ls: cannot access /DataVol1/qnap_rsync: No such file or directory

Il n’est donc pas possible d’enregistrer des fichiers dans des répertoires qui n’existent pas.

Que donne la commande pwd ?

1 - Quand je me connecte avec la commande ssh jeedompi@192.168.0.9 au début il me demande le password une fois fait j’arrive donc à [jeedompi@NASF62441 ~]$
2 - Quand je saisie pwd en retour j’ai : /share/homes/jeedompi

Le premier soucis est que le password soit demandé. Normalement, un couple de clés privée et public a été généré et la clé public a été déployée sur le nas pour que le password ne soit plus demandé.

Il faut probablement refaire le point 1 à 7 de la « préparation des clé ssh » dans la procédure ci-dessus.

Le but est de pouvoir faire un ssh jeedompi@192.168.0.9 depuis le compte root du jeedom sans qu’un password ne soit demandé. Nous pourrons ensuite allez plus loin dans la config.

J’ai repris les points 1 à 7 comme suivant

jeedompi@FreePiJDom:~$ sudo su
root@FreePiJDom:/home/jeedompi#cd
root@FreePiJDom:~#ls .ssh
id_rsa  id_rsa.pub  known_hosts
root@FreePiJDom:~#ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
/root/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:U7OAYO+aKSWlaAbbiijLBmWallq9ZbO45i6EHf53EVI root@FreePiJDom
The key's randomart image is:
+---[RSA 2048]----+
|    o            |
|   . o .E        |
|.   . o.. o      |
|.++o .. .o o     |
|o@=o. ..S..      |
|X+=o.++ ..       |
|Oo..+= o .       |
|+o..= o .        |
|o. =+o .         |
+----[SHA256]-----+
root@FreePiJDom:~# ssh-copy-id -i .ssh/id_rsa.pub jeedompi@192.168.0.9
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: « .ssh/id_rsa.pub »
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed – if you are prompted now it is to install the new keys
jeedompi@192.168.0.9's password:JE RENTRE MON MDP et enter

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'jeedompi@192.168.0.9'"
and check to make sure that only the key(s) you wanted were added.
root@FreePiJDom:~#exit
jeedompi@FreePiJDom:~$
jeedompi@FreePiJDom:~$ sudo su
root@FreePiJDom:/home/jeedompi#cd
root@FreePiJDom:~#ssh jeedompi@192.168.0.9 
j'obtiens :
[jeedompi@NASF62441 ~]$

[jeedompi@NASF62441 ~]$ ls -la /DataVol1
/bin/ls: cannot access /DataVol1: No such file or directory
[jeedompi@NASF62441 ~]$ ls -la /DataVol1/qnap_rsync
/bin/ls: cannot access /DataVol1/qnap_rsync: No such file or directory
[jeedompi@NASF62441 ~]$ pwd
/share/homes/jeedompi

Si je procède part : (j’obtiens)

jeedompi@FreePiJDom:~ $ sudo su
root@FreePiJDom:/home/jeedompi# ssh jeedompi@192.168.0.9
[jeedompi@NASF62441 ~]$ ls -la /DataVol1
/bin/ls: cannot access /DataVol1: No such file or directory
[jeedompi@NASF62441 ~]$ ls -la /DataVol1/qnap_rsync
/bin/ls: cannot access /DataVol1/qnap_rsync: No such file or directory
[jeedompi@NASF62441 ~]$ pwd
/share/homes/jeedompi

sous l’user : il me demande le mot de passe

jeedompi@FreePiJDom:~ $ ssh jeedompi@192.168.0.9
jeedompi@192.168.0.9's password:

J’ai essayé de te détailler au mieux la façon dont je suis ton tuto.