Aller au contenu

Copie Automatique Du Disque Dur Freebox Vers Le Synology


P@t

Messages recommandés

Bonsoir à tous,

J'ai eu beau chercher, je n'ai rien trouvé qui m'aiderait à faire ce que je souhaite. En outre, quand je lis certains posts, je suis carrément largué, car je n'ai pas le niveau nécessaire...Donc soyez indulgents!

L'objectif serait donc de pouvoir copier des enregistrements TV du disque dur d'une freebox de manière automatique vers un dossier du synology.

Merci par avance pour vos idées.

Lien vers le commentaire
Partager sur d’autres sites

Pour une Freebox V5, je verrai ça sous forme de tache programmée de deux lignes utilisant wget:

cd <répertoire de reception sur le NAS>
/usr/syno/bin/wget -m --cut-dirs=1 -nH  "ftp://hd1.freebox.fr/Disque dur/Enregistrements"

Faudra ajouter à wget les argumentrs "--ftp-user=<user>" et "--ftp-password=<mot de passe>" si le ftp de la freebox est protégé par mot de passe.

Lien vers le commentaire
Partager sur d’autres sites

Bon, alors, cela ne marche pas pour l'instant, et je ne vois pas comment régler le problème, car le seul symptôme que j'ai est l'absence de fichiers copiés sur le dossier de destination...

Voilà ce que j'ai fait:

https://www.dropbox.com/s/0ekeq65ufnhp6a0/Capture.JPG

https://www.dropbox.com/s/fn8o2822zydq3fc/Capture2.JPG

Ayant une Freebox Révolution, j'ai légèrement modifié le chemin ftp. J'ai vérifié avec Filezilla que j'arrivais à me connecter à la Freebox.

Et au final, mon dossier de destination reste vide...

Existe-t-il un moyen de voir si la connexion FTP fonctionne?

Merci de ton aide!

Lien vers le commentaire
Partager sur d’autres sites

Existe-t-il un moyen de voir si la connexion FTP fonctionne?

Oui: suffit d'activer ssh dans le panneau de configuration DSM, se connecter en ligne de commande (par putty par exemple, compte "root", meme mot de passe que l'admin DSM) et lancer les deux commandes ainsi, on pourrait voir ou est l'erreur.

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

  • 2 mois après...
  • 4 ans après...

Merci @CoolRaoul ! 

J'ai cependant pas encore réussis a faire de meme comme @P@t car je suis bloqué au niveau de des lignes de commandes.

J'ai essayé de me connecter depuis mon Macbook et son application Terminal et taper cela

 

MacBook-Air-de-Clement:~ Clement$ ssh root@192.168.1.175

root@192.168.1.175's password: 

Permission denied, please try again.

 

Donc j'en deduis qu'il me refuse l'acces meme avec le bon mot de passe... Du coup j'essai la meme mais avec mon ID qui est admin et ca marche jusqu'au moment ou je rentre la ligne de code et la Pouf,  il accepte tes lignes a savoir

 

cd </volume2/PLEX-2/>/usr/syno/bin/wget -m --cut-dirs=1 -nH"ftp://mafreebox.freebox.fr/Freebox/Download/""--ftp-user=<freebox>" "--ftp-password=<monmotdepasse>" 

 

Seulement il indique une erreur -sh: /usr/syno/bin/wget: Permission denied

J'imagine que c'est lié au fait que je me connecte pas via root ?

Aurai tu une idée pourquoi ? Pour ton info, j'ai verifier les chemins d'acces normalement c'est tout bon, et coté freebox aussi, ainsi que les identifiants.

Merci d'avance,

 

Clément

 

Lien vers le commentaire
Partager sur d’autres sites

Il y a 1 heure, Mich Baffle a dit :

cd </volume2/PLEX-2/>/usr/syno/bin/wget -m --cut-dirs=1 -nH"ftp://mafreebox.freebox.fr/Freebox/Download/""--ftp-user=<freebox>" "--ftp-password=<monmotdepasse>" 

Seulement il indique une erreur -sh: /usr/syno/bin/wget: Permission denied

Tu réponds a un très vieux fil déjà (janvier 2014). Sur les version récentes de DSM, wget est désormais dans "/usr/bin" et plus dans "/usr/syno/bin/"

Cela dit je ne m'explique  pas l'erreur que tu rencontres, ce que tu aurais du recevoir en utilisant l'ancien chemin est celle ci:

$ /usr/syno/bin/wget 
-ash: /usr/syno/bin/wget: No such file or directory

et pas "Permission denied".

Citation

J'imagine que c'est lié au fait que je me connecte pas via root ?

wget n''est pas réservé à root, mais il faut bien entendu que le répertoire cible ("/volume2/PLEX-2" ici) soit accessible en écriture au compte utilisé.

 

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

il y a 56 minutes, Mic13710 a dit :

Si. Le compte de connexion root n'est plus valide. Il faut passer par admin puis sudo pour le root.

Ca ne change rien au fait que quand on tape le chemin d'un exécutable inexistant ("/usr/syno/bin/wget" ici) , root ou pas root, c'est pourtant bien le message "No such file or directory" qui est affiché (alors que je n'avais pas le moindre doute j'ai quand même vérifié)

Toute fois la ligne de commande me laisse perplexe:

cd </volume2/PLEX-2/>/usr/syno/bin/wget -m --cut-dirs=1 -nH"ftp://mafreebox.freebox.fr/Freebox/Download/""--ftp-user=<freebox>" "--ftp-password=<monmotdepasse>"

je ne comprend pas ce qui est cherché à faire avec ce "cd"  suivi d'un chemin entre "<" et ">"

Et en effet, si c'est bien ce qui à été tapé, le shell voit ">/usr/syno/bin/wget" qui s'interprète comme une *redirection* et dans ce cas le diagnostic ""Permission denied"  s'explique

**EDIT**

J'ai compris: il y a mauvaise interprétation par @Mich Baffle de mon exemple:

  • il tapé sur une ligne ce qui doit se faire en deux
  • il a conservé tel quels les "<>" qui n'étaient qu'une convention d'écriture pour montrer ce qu'il fallait remplacer
 
Donc il faut écrire textuellement:
cd /volume2/PLEX-2/
wget -m --cut-dirs=1 -nH"ftp://mafreebox.freebox.fr/Freebox/Download/" "--ftp-user=<freebox>" "--ftp-password=<monmotdepasse>" 

En bien entendu substituant <freebox> et <monmotdepasse> par les valeurs adéquates (sans les "<>"!!!)

Mais bon, on doit pouvoir faire bien plus simple (un simple cp) maintenant que FileStation est capable de maintenir un montage permanent du partage de la FreeBox.

**EDIT#2**

J'ai testé sur ma Freebox Mini (c'est forcément identique sur V6). dans l'option "partage windows" de la Freebox, suffit d'activer le partage de fichiers.

image.png.225da3a138bf1fc945459073953b7fb5.png

Ensuite dans Filestation on déclare un montage permanent:

image.png.9ef96966a62319b793fdc6cb71b698cc.png

 

Et le répertoire de la freebox est directement accessible dans un script shell. Plus besoin de passer par un wget et du ftp:

[root@fserv_~]$ df | grep free
\\192.168.1.254\D2   38325228  10468992   27856236  28% /volume2/var/freebox/D2

Et pas besoin d'être root non plus. (

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

Salut @CoolRaoul 

Merci beaucoup pour ta réponse si rapide !

bon j'ai réessayé ta ligne de commande, maintenant j'ai une nouvelle erreur :

En effet, je crois que maintenant il arrive a accéder au volume car il

admin@DS918-Mich:/volume2/PLEX-2$ wget -m --cut-dirs=1 -nH"ftp://mafreebox.freebox.fr/Freebox/Download/" "--ftp-user=<freebox>" "--ftp-password=<*******>" 

wget: illegal option -- `-nf'

Usage: wget [OPTION]... ...

Try `wget --help' for more options.

 

Serai tu pourquoi il me met ça ? apparement il n'accepte pas un partie, il dis que c'est illégal ? ...

J'ai vérifié,  ("/volume2/PLEX-2" ici) est bien accessible en lecture et écriture par admin.

Je tourne un peu en rond... tu parlais d'une autre méthode ? Le but est toujours le meme : automatiser un transfert de fichiers entre la freebox et le nas.

Merci encore 🙂

 

EDIT :

Ce que je dois remplacer a la place de <freebox> et <motdepasse> je dois garder les signes <> ou pas ?

car quand je ne les mets pas et que je valide la commande, j'obtiens ceci : un retour a ligne avec uniquement >

 

admin@DS918-Mich:/$ cd /volume2/PLEX-2/

admin@DS918-Mich:/volume2/PLEX-2$ wget -m --cut-dirs=1 -nH”ftp://mafreebox.freebox.fr/Freebox/Download/" "--ftp-user=freebox” "--ftp-password=M****0”

Modifié par Mich Baffle
Lien vers le commentaire
Partager sur d’autres sites

Merci beaucoup @CoolRaoul 🙂 🙂🙂🙂 

Ca marche impec avec ta façon de faire, le disque dur est monté la ou je souhaite sur mon NAS, et est donc par conséquent lisible 🙂 

 

Dernière question, je souhaiterai dans l'idéal, que ce qui arrive sur mon disque dur de freebox soit transferer automatiquement, ou periodiquement sur le NAS.

Est ce possible ?

 

Merci encore pour ton aide.

Lien vers le commentaire
Partager sur d’autres sites

il y a 28 minutes, Mich Baffle a dit :

je souhaiterai dans l'idéal, que ce qui arrive sur mon disque dur de freebox soit transferer automatiquement, ou periodiquement sur le NAS.

Automatiquement non, périodiquement oui.

Le plus simple est de déclarer dans le planificateur de DSM une tâche programmée :

image.png.965e4bcafa5ae7533b0c9b71d6f5f2e1.png

La planification de cette dernière étant à ajuster suivant le besoin.

Le script se limitera à une simple commande "cp -u" ("-u": update pour ne pas copier deux fois le même fichier), dans ce genre:

cp -v -u -r /chemin/dossier/freebox/monté/  /chemin/dossier/cible/

(à tester à la main avant de la planifier)

Restera sans doute à penser à purger le contenu du disque dur Freebox.

Lien vers le commentaire
Partager sur d’autres sites

Un dernier detail @CoolRaoul

Sachant que les fichiers provenant de la freebox mini sont majoritairement des torrents.

Avec cette ligne de code + la programmation qui indique d'executer cette commande toute les 5minutes, j'ai l'impression que le fichier issus du torrent se fait copier avant meme d'avoir atteint les 100% et du coup le fichiers a des défauts de lecture si c'est un film par exemple.

QUESTION : Il y aurai t'il un code a rajouter qui indiquerai de copier que lorsque que le fichier est completer à 100% ?

Autrement, il y aurai t'il moyen de faire reconnaitre le NAS par la freebox et de pointer le dossier des telechargements sur le  NAS ?

 

Merci d'avance 🙂

Lien vers le commentaire
Partager sur d’autres sites

Il y a 10 heures, Mich Baffle a dit :

Il y aurai t'il un code a rajouter qui indiquerai de copier que lorsque que le fichier est completer à 100% ?

Je ne vois pas à quoi on peut reconnaitre qu'un fichier n'est pas complètement transféré. A moins que le client torrent de la FreeBox (que je ne connais et n'utilise pas) utilise des noms temporaires bien identifiables.

Sinon on peut essayer de filtrer sur la date de modification des fichiers (exclure ceux modifiés dans la dernière heure par exemple). A tester car certains systèmes ne mettent à jour la date-heure de dernière modification à jour qu'à la fermeture du fichier.

Ca se ferait de cette manière: (attention c'est sur 2 lignes)

RepFbx="/chemin/dossier/freebox/monté/" # le / final est important 
( cd $RepFbx ; find . -mmin +60 )  | rsync -rv --files-from=- $RepFbx /chemin/dossier/cible/

"-mmin +60" ne sélectionne que ce qui n'a *pas* été modifié dans les dernières 60mn. A ajuster.

Cela dit, maintenant que tu nous a dis qu'il s'agissait de torrents, je ne comprend pas pourquoi tu te compliques la vie à mettre en place cette usine à gaz avec le client torrent de la Freebox alors que DSM propose nativement un paquet de transfert de fichiers qui contient un client torrent: DownloadStation

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

Hello !

Merci pour ton aide @CoolRaoul, (une fois de plus) 😁

Je vais tester ta ligne de code ce soir et reviens vers toi.

 

Comme tu dis, une usine à gas ^^ Oui en effet cela aurai tout son sens, sauf que j'utilise un VPN. Alors oui, on peux connecter le NAS a internet par un VPN mais mon probleme c'est que j'utilise PLEX Media Server.

Le Probleme c'est que le VPN sous le NAS ne me permet plus d'acceder a distance mon serveur PLEX ( a cause des redirections de ports je suppose ).

Le top serai d'avoir la possibilité depuis le NAS, d'assigner le VPN uniquement pour l'application Download Station. Comme le permet la freebox, ou dans les parametre du VPN, je peux cocher une case qui assigne le VPN uniquement au client torrent et pas au reste.

Si tu as la solution, c'est avec plaisir que je l'appliquerai ! :) 

 

Merci à toi,

Modifié par Mich Baffle
Lien vers le commentaire
Partager sur d’autres sites

@CoolRaoul Ca Marche du tonnerre ta ligne de code. Merci ! 🙂 

 

Le Seul Hic, c'est quand le Torrent est à l'intérieur d'un sous-dossier

/dossier general mis dans le code/SOUS-DOSSIER

: Le sous dossier garde l'heure de base a laquelle le torrent a été lancé et ne bouge plus. 

Cela même si le(s) fichier(s) a l'intérieur eux actualisent en temps réel leur date/heure de modification jusqu'a la fin du téléchargement.

 

Il y aurai t'il une ligne de code supplémentaire pour dire du genre " vérifie si tout les fichiers dans les sous dossier ne sont plus édités depuis + de X minutes "

 

Merci encore,

Lien vers le commentaire
Partager sur d’autres sites

Il y a 1 heure, Mich Baffle a dit :

Le Seul Hic, c'est quand le Torrent est à l'intérieur d'un sous-dossier


/dossier general mis dans le code/SOUS-DOSSIER

: Le sous dossier garde l'heure de base a laquelle le torrent a été lancé et ne bouge plus

Cela même si le(s) fichier(s) a l'intérieur eux actualisent en temps réel leur date/heure de modification jusqu'a la fin du téléchargement.

Et en quoi c'est un problème?

 

Lien vers le commentaire
Partager sur d’autres sites

@CoolRaoul

Pardon j'ai oublier de dire pourquoi

Le script commence le transfert du fichier torrent avant meme que celui-ci soit terminer à 100%

Le résultat est que le fichier transférer de la freebox vers le NAS est corrompu, et présente des moments de bugs voir de coupure dans le cas d'un fichier vidéo.

 

Dans le pire des cas, en mettant une actualisation toutes les 20minutes dans ton script, le torrent est largement arrivé à 100% et donc ca marche bien 🙂 

Merci,

Modifié par Mich Baffle
Lien vers le commentaire
Partager sur d’autres sites

il y a 57 minutes, Mich Baffle a dit :

Le script commence le transfert du fichier torrent avant meme que celui-ci soit terminer à 100%

m'a d'abord semblé contradictoire avec ce que tu as dis juste avant:

Il y a 3 heures, Mich Baffle a dit :

le(s) fichier(s) a l'intérieur eux actualisent en temps réel leur date/heure de modification jusqu'a la fin du téléchargement.

Si les fichiers "actualisent en temps réel leur date/heure de modification", je me disais qu'ils ne devraient n'être capturés par le "find -mmin +60"  qu'une heure *après* la fin de leur téléchargement.

Mais, après vérification, comme le "find" capture aussi les *répertoires*, le "-r" (recursif) de rsync fait que leur contenu est transféré par rsync même si les fichiers contenus dans ces derniers, ont été exclus par la clause "mmin" dans le cas de ceux effectivement récemment modifiés

Suffit donc de supprimer le "-r" de rsync, et tant qu'a faire, rajouter un "-type f" au find (rsync sait créer les répertoires intermédiaire si nécessaire)

Ce qui donne:

( cd $RepFbx ; find . -type f -mmin +60 )  | rsync -v --files-from=- $RepFbx /chemin/dossier/cible/

Note: le -v ne sert qu'à tracer les transferts à l'affichage.

 

**EDIT**

Je m’aperçois qu'il est nécessaire d'ajouter "--times" au rsync sinon les fichiers sont re-transférés à chaque fois, donc:

( cd $RepFbx ; find . -type f -mmin +60 )  | rsync -v --files-from=- --times $RepFbx /chemin/dossier/cible/
Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

Bon et bien c'est un GRAND Merci à toi @CoolRaoul 🙂 

Je viens de faire un essai et tout à l'air de marcher parfaitement maintenant ! 😄 

C'est super cool de ta part, pour des novices complet en script comme moi !  Merci aussi pour le manuel, bon a savoir je le met de coté.

Très bonne continuation à toi !

Mich.

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.