Script: se connecter au réseau de la livebox

Tags: #<Tag:0x00007f63f22a76e8>

Bonjour,
Pour automatiser une sauvegarde avec rsync,
je cherche à ouvrir/(se connecter sur) le réseau de la livebox dans un script bash, qui se contenterait de me demander le mot de passe, autrement dit, quelle commande en ligne de commandes permet d’activer le réseau indiqué sans avoir à passer par un navigateur?

Peut-être que la commande rsync ouvre elle-même l’adresse réseau, mais j’ignore la syntaxe pour désigner l’adresse du répertoire source sur le réseau.

Par exemple, sur le serveur ftp d’android, je trouve:
Serveur disponible à ftp://192.168.1.12:2221
Utilisateur anonyme activé
Nom d’utilisateur: cestmoi
Mot de passe: quiça,moi?
Répertoire racine: /storage/741D-742D

Comment indiquer à rsync cette adresse comme répertoire source à synchroniser sur le répertoire destination local?

PS
je poste ici, car c’est pour faire un script, peut-être que ça serait plus judicieux sur «Debian»?

rsync synchronise des fichiers et répertoire entre deux repertoires. le répertoire destination peut être sur une autre machine.

rsync répertoire_source/ répertoire_de_destination/
ou
rsync -a répertoire_source/ login@serveur.org:/répertoire_de_destination/

Tu as pas mal d’infos sur https://wiki.debian-fr.xyz/Rsync

Dans tous les cas, entre deux machines, la machine d’où partent les fichiers est la machine source, la machine qui reçoit les fichiers la machine destination. Si la commande est lancée d’une machine alors l’autre machine doit avoir un service compatible rsync (une application qui est sous forme de daemon).
Ensuite un simple cron suffit à faire une synchro à intervalle régulier, ou avec les outils inotify.

@Zargos
Merci beaucoup, je ne connaissais pas cette doc en français.
Mon problème actuel n’est pas rsync que je fréquente régulièrement, mais le fonctionnement et la syntaxe des adresses réseaux.
En l’occurence, je pensai que @serveur.com était soit

  • livebox, soit
  • livebox.home, soit
  • 192.168…1.1, soit
  • 192.168.1.12, soit
  • HUAWEI…, (le nom d’hôte)

mais aucun de ces choix n’aboutit, ni avec filezilla, ni avec rsync, ni avec wget -m

Par exemple:
$wget -m http://192.168.1.12/*
Avertissement : les jokers ne sont pas permis en HTTP.
–2021-01-24 11:03:59-- http://192.168.1.12/*
Connexion à 192.168.1.12:80… échec : Connexion refusée.

ou

$wget -m http://192.168.1.12/
--2021-01-24 11:05:39--  http://192.168.1.12/
Connexion à 192.168.1.12:80… échec : Connexion refusée.

ou

$rsync -avr -e ftp monUser@HUAWEI_P8_lite_2017-f285f:/  ./
sending incremental file list
rsync: link_stat "/jessie/laguilde/tmp/huawei/ericCoucy@HUAWEI_P8_lite_2017-f285f" failed: No such file or directory (2)

sent 18 bytes  received 12 bytes  60.00 bytes/sec
total size is 0  speedup is 0.00
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1207) [sender=3.1.3]

[EDIT]
$rsync -avr monUser@192.168.1.12:2221 ./
ssh: connect to host 192.168.1.12 port 22: Connection refused
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: unexplained error (code 255) at io.c(235) [Receiver=3.1.3]

J’ai trouvé ceci:

$arp  -a  HUAWEI_P8_lite_2017-f285f
pc-33.home (192.168.1.12) at b0:e1:7e:a8:10:82 [ether] on enp3s0f1

peut-être pc-33.home ?
ou
enp3s0f1?

mais le message est alors:
failed: No such file or directory (2)

Si tu veux fait un wget sur un appareil, il faut qu’il y ait un serveur web sinon ça ne peut pas marcher. Donc si ton mobile android est 192.168.1.12, alors il faut qu’il y ait un serveur web d’installer dessus, ce qui ne vaut mieux pas (pas sur un smartphone).

Pareil si tu veux faire un ssh sur l’android, il lui faut un serveur ssh. A éviter aussi.

Considéroins que 192.168.1.12 soit l’Android, quelle est l’adresse du serveur?
192.168.1.1 est la livebox, mais elle n’intervient pas dans l’échange entre le serveur et l’Android. Elle n’est qu’un simple routeur/switch dans ce qui nous interesse, donc tu l’ignores pour le moment.
Qui plus est, la livebox ne reconnais aucun nom de machine, uniquement des IP, à moins de les avoir configuré dans la livebox, mais ça ne sert à rien ici.

Si tu veux synchroniser il te faudra donc le faire à partir de l’android vers le serveur.
Donc:

  1. Adresse IP du serveur
  2. Répertoire sur le serveur
  3. Adresse de l’android (192.168.1.12 à priori) pour ouvrir ls ports nécessaires.

Tu peux utiliser Syncopoli sur F-Droid (une alternative à google app store) qui permet de faire du rsync à partir de ton mobile vers le serveurs rsync. Il te suffit ensuite de créer un profile dans Syncopoli. Pas de script à faire.

Si tu installe un serveur sur ton Mobile Android, tu as un gros risque de te faire pirater. La sécurité sur les smartphone étant quasi inexistante.

Le serveur, c’est le PC ?

Oui, il vaut toujours mieux éviter d’avoir un serveur sur un smartphone. Ce qui fait que c’est l’Android qui va se connecter au PC et non le PC sur l’Android.

Merci beaucoup,
Il me reste à maîtriser Syncopoli (faut-il utiliser un mot de passe, comment indiquer le répertoire source et le répertoire cible?)

Pour l’instant, «Verify connexion» me renvoie:
failed to vérify host

En premier, il faut que sur ton PC tu aies configuré un serveur rsync qui marche (teste le avec une deuxième machine sous linux c’est plus facile).
Ensuite pour configurer dans Syncopili, il te faut créer un nouveau profile.
je crois qu’en premier il te faut définir le chemin d’accès (path) des fichiers en local (le répertoire source) et ensuite le rsync module du serveur distant (ton pc).
j’ai trouvé ce tout petit howto : https://blog.gnu-designs.com/howto-backup-your-android-device-over-wifi-with-rsync-no-root-needed/

Répertoire sur le serveur, c’est donc la destination; on l’indique avec l’adresse du serveur? comme ça, par exemple:
192.168.1.10:/home/usr/backupHuawei/

Normalement oui. désolé je n’utilise pas cette application sur mon smartphone, donc je ne peux pas tester.
Pour sauvegarder j’utilise Titanium backup ou mybackup et je dépose le fichier de sauvegarde sur mon NAS.

Grand merci pour toutes ces explications et informations.
Je vous tiens au courant de la suite.