Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 01/12/2013, à 00:16

maolareflexion

script pour extraire les donnees d'une cle usb

bonsoir  a vous très chers linuxiens .je suis toujours obliger de faire du copier coller chaque fois que j’insère une clé USB dans le port de mon ordinateur. au fait je souhaite écrire un script qui se charge de copier les fichiers automatiquement  lorsque désormais je  vais brancher sur mon ordinateur .
le script doit scanner périodiquement mes ports ttsysub pour voir si une clé est branché et de la mémé manière que le système monte automatiquement les clés je souhaite en faire de même. je cherche depuis longtemps parce que je n'aime pas réaliser la même tache plus de deux fois . je me tourne vers vous donc toujours comptant sur votre esprit ouvert et vos compétences afin de l'aider a réaliser ce script. merci d'avance .

Hors ligne

#2 Le 01/12/2013, à 00:36

metalux

Re : script pour extraire les donnees d'une cle usb

Bonsoir,
Souhaites-tu obligatoirement passer par un script?
Dans le cas contraire, il existe des solutions logiciels.

Hors ligne

#3 Le 01/12/2013, à 11:15

maolareflexion

Re : script pour extraire les donnees d'une cle usb

pour faire un peut pro l’idéal serait un script big_smile mais a défaut d'un script on peut commencer par un logiciel . si vous pouvez me fournir le nom d'un logiciel. cela sera aussi sympa

Hors ligne

#4 Le 02/12/2013, à 12:45

Postmortem

Re : script pour extraire les donnees d'une cle usb

Salut,
Pour lancer un script à l'insertion d'une clé usb, tu peux te servir de udev. La doc est ici.
Et un exemple pour créer une règle dans le post #4 de cette page.


Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#5 Le 02/12/2013, à 20:40

metalux

Re : script pour extraire les donnees d'une cle usb

maolareflexion a écrit :

pour faire un peut pro l’idéal serait un script big_smile mais a défaut d'un script on peut commencer par un logiciel . si vous pouvez me fournir le nom d'un logiciel. cela sera aussi sympa

freefilesync te permet de faire une copie miroir, une synchronisation ou comme dans ta demande une mise à jour en copiant les fichiers/dossiers d'une clef usb  ver un répertoire de destination. Pour cela il faut faire des règles avec l'outil RealTimeSync fourni avec ce logiciel. La prise en main pour faire les règles est peu intuitive mais une fois que l'on a compris le principe, c'est tout simple. Il faut lancer la règle avec un léger retard après le démarrage sinon l'icône ne se loge pas dans le panel, en ajoutant la commande suivante dans les applis au démarrage:

sh -c "sleep 10 && (RealtimeSync cheminversmasauvegarde)"

Sauf erreur, cela ne marche que lorsque la clef est déterminée. Tu peux créer une règle pour une clef, une autre pour une seconde,etc...Si tu veux le même comportement peu importe quelle clef est insérée et que celles-ci ne sont pas nommées, tourne toi vers la solution de postmortem.

Hors ligne

#6 Le 04/12/2013, à 22:05

maolareflexion

Re : script pour extraire les donnees d'une cle usb

j'ai pus écrire les règles pour la gestion des clés grâce a vos  conseilles. j'ai même réussir a envoyer un message dans /tmp lorsque la clé est brancher automatiquement. je souhaite donc avoir un exemple de script qui pourra m'aider cette fois ci a recuperer les fichiers de la clé automatiquement et de manière  transparente. merci a vous

Hors ligne

#7 Le 07/12/2013, à 09:26

maolareflexion

Re : script pour extraire les donnees d'une cle usb

#ecriture d'une regle a definir pour toute cle usb 
#branchée sur mon ordinateur 
ACTION=="add", SUBSYSTEM=="usb" , RUN+="/usr/bin/insertion_cle.sh" 
#!/bin/bash
echo "Clé insere : $(date)" > /tmp/insertion_cle.log
mkdir /media/bosco/cle
mount -t vfat /dev/sda1 /media/bosco/cle
mkdir /tmp/cle
cp /media/bosco/cle/  /tmp/cle
echo "clé copiée avec succes : $(date)" >/tmp/insertion_cle.log
vlc /home/bosco/Musique/ATITO\ KPATA\ diminakoko\ champion\ en\ titre.mp3

ce qui se passe c'est que : lorsque j'introduis une cle usb , le message  echo "cle inserée" se cree dans le repectoire /tmp
ensuite le dossier cle se cree  ensuite echo "clé copiée avec succes : $(date)" >/tmp/insertion_cle.log .
ce que je souhaite faire c'est de copier le contenu de la clé, j'y travail et j'ai aussi besoin de quelque idees pour realiser ce script. si vous voulez bien m apporter quelques idees et solutions

Hors ligne

#8 Le 07/12/2013, à 18:18

Postmortem

Re : script pour extraire les donnees d'une cle usb

Salut,
Tu devrais lancer ton script comme ça dans la règle udev :

RUN+="/bin/bash -c '/usr/bin/insertion_cle.sh &'"

De la façon que tu le lances, tu bloques udev jusque la fin de ton script, c'est pour ça que tu es obligé de faire un mount dedans.
Sinon, ce qu'il faudrait faire, c'est que ton script attende le montage, détermine le nom du point de montage et ensuite, lance la copie avec le user qui va bien, sinon, les fichiers appartiendront à root.
Je ne peux t'en dire plus pour l'instant, suis sur mon tel.


Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#9 Le 08/12/2013, à 01:36

maolareflexion

Re : script pour extraire les donnees d'une cle usb

ok je vais faire comme tu me l'a conseiller et j’espère que tu reviendra voir une autre fois pour m' éclaircir  d'avantage merci

Dernière modification par maolareflexion (Le 08/12/2013, à 01:39)

Hors ligne

#10 Le 23/12/2013, à 18:59

fleurfanne

Re : script pour extraire les donnees d'une cle usb

Bonjour,
Moi aussi je veux synchroniser une clé USB avec un répertoire local (lui même sur un NAS monté en NFS mais là n'est pas le propos).
Comme j'ai utilisé une méthode inspirée mais un peu différente, je me permets d'apporter ma méthode.

Tout d'abord, j'ai remarqué que Lubuntu montait toujours la clé en utilisant le label de cette dernière. Ainsi, je vois apparaitre un répertoire du genre "/media/macle" a chaque fois que je la branche.
J'ai consulté le forum et les docs en particulier celle de « udev » et celle de« rsync ». Je vous livre ma conclusion.

Le mieux est de faire deux sauvegardes de la clé : une miroir (identique à la source) et une cumulative en cas de mauvaise manipulation sur la source (dans cumulative les fichiers ne sont pas effacés de sorte que si je déplace un fichier sur la source, j'obtiens un doublon mais si je le supprime par erreur, je garde une sauvegarde. Notez que cette méthode ne protège pas contre une un fichier qui aurait été édité, modifié n'importe comment et sauvegardé... là les mauvaises modifications sont prises en compte).

Première étape :
Identification du périphérique que l'on veut synchroniser (dans mon cas, il s'agit d'une clé bien spécifique et toujours la même...)

udevadm info -q all -n /dev/sdc

Je récupère le numéro de série qui me permet de créer un fichier pour udev

Deuxième étape. Dans /etc/udev/rules.d/ j'ai créé un fichier « 99-insert-cle.rules » qui contient une seule ligne qui s'active uniquement quand je rentre cette clé là :

ACTION=="add", ATTRS{serial}=="0798040263B0528F", RUN+="/bin/bash -c '/home/mon_home/synchronisation-cle.sh &'"

Enfin troisième étape le script « synchronisation-cle.sh » hébergé sous mon home contient les quelques lignes suivantes :

#!/bin/bash
echo "Clé insérée : $(date)" >> /home/mon_home/synchronisation-cle.log

sleep 10
rsync -avz --del /media/macle/ /home/mon_home/NAS/Cle-USB/Cle01/Miror >> /home/mon_home/synchronisation-cle.log
rsync -avz /home/mon_home/NAS/Cle-USB/Cle01/Miror /home/mon_home/NAS/Cle-USB/Cle01/Accumulation >> /home/mon_home/synchronisation-cle.log

echo "Fin de synchronisation : $(date)" >> /home/mon_home/synchronisation-cle.log

« synchronisation-cle.log » permet de contrôler le bon fonctionnement de l'ensemble.
J'ai remarqué que si je ne mettais pas un délai (sleep) la clé n'avait pas le temps d'être montée et la synchronisation ne fonctionnait pas. J'aimerais bien améliorer ce point car inutile d'attendre 10 secondes si le montage n'en prend qu'une... Mais comment récupérer l'info du montage effectué ? La solution de maolareflexion monte la clé mais comme elle se monte déjà dans mon cas, je n'ai pas envie de la monter ailleurs juste pour cette manip... Bref, ça marche comme ça et je suis content même si tout peut être amélioré.

Dernière modification par fleurfanne (Le 23/12/2013, à 19:25)

Hors ligne