banneer

Réducteur d'URL tinad:

Collez l'adresse du site:

Rechercher sur le blog du grouik:

Mot-clé - ftp

Fil des billets - Fil des commentaires

J'ai reçu le kit BytePac ce matin [1]

Je vous présente ce que c'est puis quelques tests.

Le bytepac est un système de boites en carton (ils vendent des versions en chanvre pour les rebelles) qui permet de ranger, protéger (oui ça amorti) et étiqueter 3 disques dur par boite.

P1030249.JPG

Les disques dur sont calés et amortis dans leurs boites. L'espace laissé au dessus permet d'insérer un adaptateur éventuel SCSI - SATA (non fourni, mais vendu à 16€ sur leur site) et d'améliorer probablement la dissipation de chaleur. Une fois fermé. La boite prévoit des aérations pour le disque:

bytepac-devant-derriere.JPG

Pour la connexion, un tout petit boitier qui permet de relier les câbles fournis (alim, USB vers le PC, SATA + ALIM SATA vers le disque):

bytepac-connects.JPG

A gauche; détail sur le cable SATA, vous remarquerez que les parties alim et data sont solidaires. En arrière plan, c'est le cable d'alimentation. A droite, le tout branché sans la boite!

bytepac3.JPG

Comment ça marche?

C'est reconnu comme un lecteur de disques USB, nativement sans logiciel moisi à installer. La freebox V6 accepte de lire sans broncher le bytepac, et ça passe bien avec le design de Stark :p

bytePack-FreeboxV6.JPG

D'ailleurs Je n'ai eu aucun problème ni sur la débian du mini PC, ni sur la fédora

Leurs arguments de vente mis en avant sont:

  • L'emballage écologique "principe de l'informatique verte" etc... Je suis un peu hermétique à ça en fait, passons.
  • La maitrise de ses sauvegardes. Alors ça, je suis un putain de geek qui a un raid 5 dans la tour de son ordinateur sous fedora + un backup-manager qui fait des sauvegardes incrémentielles vers un NAS, donc bah les sauvegardes, pour un usage domestique, chez moi c'est déjà surdimensionné. Mais vous n’êtes peut être pas un gros geek vous?
  • etc...

Ce qui me plait personnellement, c'est que contrairement à un dock; là on peut ajouter n'importe quel périphérique SATA. Si je couple la connectique fournie à un lecteur CD/DVD interne, ça y est j'ai résolu le problème de l’absence de lecteur sur mon mini PC.

Dans mon sac de dépanneur amateur [2] qui contient le netbook, 2 ou 3 câbles et un cruciforme. la présence de la connectique du BytePac me permettra éventuellement de pouvoir sauver les données d'un disque dur sur un système récalcitrant.

Pour l'acheter, c'est par là http://shop.convar.com/fr/8-bytepac. A la date de rédaction de ce billet, il est proposé à 39€95 (kit boites de disques et connectiques) ce qui est loin d'etre excessif.

Je vous laisse comparer avec le prix d'un dock http://www.google.fr/search?q=dock+disque+dur&tbm=shop en sachant qu'avec le bytePack vous serez beaucoup moins limité (format du périphérique), et que ça range/ protege les disques.

Notes

[1] Leur service communication m'a envoyé un e-mail me proposant de me fournir un kit en échange de ce petit billet. J'ai accepté, car le produit est sympa, que le prix du produit pour ce que c'est est abordable (je ne voudrai surtout pas contribuer à un truc pour lequel j'aurai l'impression de participer au pigeonnage des clients)... et puis que le hardware, les trucs et astuces sont relativement dans la ligne éditoriale de ce torchon qui me sert de blog. J'ai, à titre de contre exemple, plusieurs fois dénié de faire des billets intéressés pour des sharewares windows un peu moisis.

[2] Je dépanne pas de PC, mais chez moman ou les frangines, bien obligé parfois


Ce mémo a pour objectif d'expliquer comment automatiser le transfert d'un fichier par FTP. Pratique lors de la création de passerelles.

Prérequis: un serveur FTP. Le compte FTP utilisé est chrooté dans le dossier dans lequel doivent être déposés les fichiers. Pour créer le serveur FTP, ce billet donne la solution.

Pour le moment, on va faire un truc simplissime:

Je crée 3 fichiers scriptFTP.jpeg

  • script.bat est le script qui lancera le transfert. Il sera mis en tâches planifiées (pour ça, je vous laisse trouver comment on fait)
  • plannings_Extranet.ftp est la liste de commandes à éxécuter en FTP pour basculer les fichiers vers le repertoire FTP. Vous l'avez compris, la petite passerelle que je suis en train de faire a pour but de basculer les planings sur notre extranet.
  • Plop.txt est le fichier qui sera transféré; C'est juste pour le test hein!

script.bat

Il contient juste une ligne pour le moment.

  1. ftp -s:planings_Extranet.ftp

Il lance le client dos ftp, qui prendra la liste d'instructions contenues dans le fichier planings_Extranet.ftp

planings_Extranet.ftp

  1. open 192.168.10.253
  2. user
  3. password
  4. prompt
  5. lcd D:\testFtp
  6. put plop.txt
  7. quit

Explication ligne par ligne:

  • 1 Ouvrir la connexion vers le serveur 192.168.10.253
  • 2 Lui indiquer l'user FTP
  • 3 Lui indiquer le mot de passe ftp
  • 4 Attendre le prompt
  • 5 Se placer localement dans le repertoire comprenant le(s) fichiers à transférer
  • 6 envoyer le fichier
  • 7 fermer la connexion

plop.txt

Bah, c'est le fichier à transférer; OSEF?

Lancez script.bat, vérifiez sur le serveur de destination si le fichier a bien été poussé.

Un peu plus compliqué; On va pousser tous les fichiers d'un répertoire et créer un fichier de logs.

Prérequis, télécharger curl

Pour se simplifier un peu la vie, cette fois, on va utiliser curl. Téléchargez l'éxécutable qui correspond à votre version de windows: http://curl.haxx.se/download.html Je me créé l'architecture suivante sur le windows;

  • testFtp
    • script.bat
    • bin
      • curl.exe
      • license_curl.txt
    • toSend
      • fichier1.pdf
      • fichier2.pdf
      • fichier3.pdf

l'objectif est d'envoyer les fichiers (quelque soient leur noms) du dossier toSend sur notre ftp. Par contre si le fichier existe déja sur le serveur; je l'écrase.

Transfert automatique en écrasant les éventuels fichiers sur le serveur

Voici le contenu du scrip.bat

  1. ::Envoie le contenu d un repertoire sur un dossier FTP. Ecrase les fichiers déja existants si des noms sont concordants
  2. ::Ce script utilise Curl (pour le ftp). La licence se situe dans le dossier bin
  3. cls
  4. ::On met un titre au shell
  5. @title Envoie le contenu d un repertoire sur un dossier FTP. Ecrase les fichiers déja existants si des noms sont concordants
  6. ::Supprimer les retours écran
  7. @echo off
  8.  
  9. ::#### VARIABLES####
  10. ::PARTIE FTP
  11. set user_ftp=userFtP
  12. set pwd_ftp=pwdFtp
  13. set ip_ftp=192.168.10.253
  14. set path_ftp=/
  15. ::DOSSIER LOCAL A TRANSFERER
  16. set local_path=%cd%\toSend
  17.  
  18. ::Définition des Chemins
  19. ::répertoire racine
  20. set rep_root=%cd%
  21. ::chemin des binaires
  22. set rep_bin=%cd%\bin
  23. ::chemin des fichiers de journaux
  24. set rep_log=%cd%\log
  25.  
  26. ::Si le ping est négatif, quitter et logguer
  27. ping -n 1 %ip_ftp%
  28. if %errorlevel%==1 goto NO_LINK_SERV
  29.  
  30. ::On envoie
  31. cd %local_path%
  32. ::Eventuellement, remplacez *.* par le filtre de votre choix genre planing-*.pdf dans la partie qui suit
  33. if exist ./*.* (
  34. FOR %%f IN (*.*) DO (
  35. ::Envoi de chaque fichier sur le ftp
  36. %rep_bin%\curl.exe -u %user_ftp%:%pwd_ftp% -Q "+CWD %path_ftp%" -T "%%f" ftp://%ip_ftp%/
  37. ::On logue les infos dans un fichier
  38. echo "%date%|%time:~0,2%h%time:~3,2% : fichier %%f -- envoyé " >>%rep_log%/envois.log
  39. )
  40. ::On supprime les fichiers après l envoi car on en a plus besoin
  41. del/Q *.*)
  42. GOTO FIN
  43.  
  44. :NO_LINK_SERV
  45. ::le serveur ne répond pas au ping
  46. echo "%date%|%time:~0,2%h%time:~3,2% : Le serveur FTP n'est pas joignable - Aucun transfert effectué" >>%rep_log%/connexions.log
  47.  
  48. :FIN
  49. ::On quitte

Plus qu'à mettre le script dans les tâches planifiées.


freebox-v6-revolution.jpgC'est sympa d'avoir un disque accessible par tous les ordinateurs (voire consoles, téléviseurs chaine hifi) du réseau domestique.

Chers lecteurs, vous n'êtes pas tous des admins réseau habitués à faire du mappage de lecteurs toussa, d'où ce petit tutoriel expliquant comment profiter de son NAS, ici celui de la freebox V6.

C'est assez chiant de devoir se connecter manuellement à chaque fois. On va voir sur linux, puis sous windows comment se faire un raccourci, puis mieux comment monter de façon permanente le lecteur.

La freebox supporte plusieurs protocoles:

  • FTP
  • Partages windows (samba)

Le choix de l'un ou l'autre peut être un débat passionné. Je choisis le partage windows même sous linux[1]

Les paramétrages de la freebox.

Sur l'interface de la freebox (http://mafreebox.freebox.fr), NAS > Windows; comme ceci:

freebox-nas-windows.jpg

Linux

Juste un raccourci

la commande

  1. nautilus "smb://freebox/disque dur"

permet d'ouvrir le disque dur de la box.

Cilck droit sur le bureau > créer un lanceur; freebox-lanceur.jpg

C'est cool, à présent d'un double click sur l'icone on accede au NAS.

Oui mais si vous allez un peu au delà d'une utilisation "glisser déposer des fichiers". Genre utiliser des scripts de sauvegardes; il sera préférable de monter cet emplacement réseau de façon permanente.

Emplacement monté de façon permanente sur le système de fichiers.[2]

Les commandes suivantes sont à utiliser en tant que root

  1. #creer le repertoire dans lequel sera monté le NAS
  2. mkdir /media/freebox
  3. #éditer le fichier fstab
  4. vi /etc/fstab

et y ajouter la ligne suivante:

//mafreebox.freebox.fr/disque\040dur/ /media/freebox cifs _netdev,rwx,uid=1000,gid=1000,credentials=/root/.smbcredentials,iocharset=utf8 0 0

Créer le fichier credentials

  1. vi /root/.smbcredentials

y mettre ceci:

username=
password=

(ne pas remplir l'userame et le password)

Monter:

  1. mount /media/freebox

(ce sera monté a chaque démarrage)

Windaube

Juste créer un raccourci

Allez dans démarrer puis exécuter freebox-nas-windaube.jpg entrez:

//FREEBOX

On arrive sur la racine du NAS, plus qu'à créer un raccourci du partage disque dur sur le bureau. freebox-nas-windaube1.jpg

Créer un lecteur réseau, avec une tête de lecteur genre i:

démarrer exécuter

net use i: "\\freebox\Disque dur"

et la freebox apparait dans le poste de travail. Magique non?

Pour les sauvegardes vers le NAS de la freebox;

Sous linux, de façon totalement objective je conseille backup-manager, mais avec un export en FTP.

Sous windows, Freebackup me parait pas mal.

Notes

[1] On reste dans un LAN domestique, la sécurité ne rentre pas en compte pour le choix. Si vous êtes sous windows, le partage windows est beaucoup mieux pris en charge que le ftp (pas toujours la possibilité d'éditer les fichiers directement sur le serveur). Si vous êtes sous linux, le choix devrait dépendre de l'utilisation. Si le NAS vous servira juste à basculer des gros fichiers pour de la sauvegarde, préferez le FTP, ce sera plus efficace. Par contre, si vous déposez des vidéos, préférez le partage samba. Je ne pense pas qu'en FTP, l'OS puisse demander à lire juste un morceau d'un fichier, celui ci doit etre chargé linéairement. Ça empêche de pouvoir naviguer dans un film.

[2] Solution expliquée par philarete sur ce forum


Souvent, les comptes ftp sont les utilisateurs unix. pour la gestion d'un serveur web qu'on veut mutualiser. ce n'est pas super pratique. l'idéal c'est la gestion par mysql. Ce tuto n'est pas très original, on trouve des équivalents sur plusieurs sites. mais ayant eu à réinstaller un serveur ftp, je pensais trouver cette documentation sur mon blog... et po trouvé. Voila c'est fait.

Bases de données:

La database se nome ftp, l'user 'proftpd'@'localhost' y a accès. Dans le prompt mysql pour créer la base et l'user:

CREATE ftp;
GRANT ALL ON ftp.* TO 'proftpd'@'localhost' IDENTIFIED BY 'mot-de-passe';
QUIT

Puis pour créer les tables, télécharger le script sur ce blog.

cd ~
wget http://blog-du-grouik.tinad.fr/public/createtablesftp.sql
mysql -u root -p ftp < createtablesftp.sql

Installation

apt-get install proftpd proftpd-mod-mysql

proftpd-inetd-ou-Indep.jpg je choisis indépendant, (proftp tournera en permanence et pompera un peu plus de ressources. c'est pas bien vu mon utilisation, mais c'est plus stable et plus simple à configurer.)

addgroup proftpd

Activer le module mysql:

Dans le fichier /etc/proftpd/modules.conf dé-commenter les lignes suivantes:

LoadModule mod_sql.c
LoadModule mod_sql_mysql.c

Paramétrage proftpd:

Remplacez le fichier /etc/proftpd/proftpd.conf par celui ci dessous proposé ici:

cd /etc/proftpd
mv proftpd.conf proftpd.conf.old
wget http://blog-du-grouik.tinad.fr/public/proftpd.conf
vi proftpd.conf

Remplacez sdftiluzeioftu!ey par le mot de passe mysql de proftpd dans la ligne SQLConnectInfo ftp@localhost proftpd sdftiluzeioftu!ey

SQLMinUserGID et SQLMinUserUID sont placés à 33 car ça me simplifie la gestion des droits sur les répertoires de les faire tourner comme www-data (qui a l'UID 33).

Mais c'est pas bien, je le conçois, idéalement l'user ftp devrait être le propriétaire des dossiers publics (faisant partie du site) avec des droits en écriture et lecture. tandis que www-data devrait faire partie du groupe de l'user, ce dernier ayant accès en lecture uniquement (sauf dans les répertoires où le site internet a besoin d'écrire).

Une telle organisation pourrait limiter les conséquences de l'exploitation d'une faille dans un script php. mais à gérer site par site, c'est super lourd.

Redémarrer proftpd:

/etc/init.d/proftpd restart

Vous pouvez ajouter des utilisateurs dans la base de données en utilisant phpmyadmin par exemple.


Tous les billets taggués: ftp

Propulsé par Dotclear