Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Copie en "automation" lors de l'insertion d'un clef USB...

7 views
Skip to first unread message

STRyk!

unread,
Nov 28, 2009, 7:47:09 AM11/28/09
to
Salut � tous.
Pour le boulot j'ai toujours avec moi ma clef USB qui m'est
imp�rativement obligatoire pour r�aliser mes projets.
Le soir j'aimerai pouvoir en faire une sauvegarde rien qu'en la branche
sur SME. En automatique donc.
Un truc du style copie sur
:"/home/e-smith/files/users/[MOM-USER]/[NOM-CLEF-USB_DATE-HEURE-SAUVEGARDE]/"
Le nom de l'utilisateur peut �tre un truc du genre "CLES USB" que je
peux creer si besoin...

Avez vous d�j� un bout de script pour surveiller l'insertion de la clef
USB ? Ca me permetterai alors de faire mon script de copie ;)

Merci par avance !!!

STRyk.

ecureuil

unread,
Nov 28, 2009, 9:47:00 AM11/28/09
to
STRyk! a �crit :
et si tu payes cher....
;o)

Test� avec jpp
La suite �tait pr�vue pour un peu plus tard

-----------
#!/bin/sh

#--------------------------------------------------------------------
# montage automatique si detection insertion peripherique USB
#
# Il faut rechercher l'uuid du peripherique dont on veut le montage en
automatique
# - inserer le peripherique
# - # nano /etc/fstab
# - vous trouvez une ligne avec
# /dev/xxx /media/yyy zzz
pamconsole,exec,noauto,managed 0 0
# - # /sbin/blkid /dev/xxx
# /dev/xxx: LABEL="YYY" UUID="xxxnum_uuid_peripheriquexxx" TYPE="zzz"
#
# a aublanc (ecureuil) 08/11/2009
# jp pialasse
#--------------------------------------------------------------------

# recherche du device

DEVDIR=/dev
DEVNAME="age-$(echo ${DEVPATH} | sed -e 's;/;:;g')"


# Recheche si le periph�riqe qui vient d'etre ajoutee de type bloc
# ------------------------------------------------------------------

if [ "${ACTION}" == "add" ] && [[ "${DEVPATH}" =~
^/block/sd[a-z]{1}/sd[a-z]{1}[0-9]{1}$ ]]
then

# on recherche le device
lecteur=`expr match "$DEVPATH" '.*\(sd[a-z]*[0-9]*\)'`
lecteur1="/dev/$lecteur"

#sleep 8 # temps necessaire a attendre pour que tout le
processus mette en place le lecteur dans dev
# faire une boucle de sleep 2 avec un exit si > 20 secondes
c=1
for (( c=1; c<=10; c++ ))
do
sleep 2
if [ -b $lecteur1 ]; then
break
fi
logger " starter-$$ attente du lecteur 1 $lecteur"
done

# peripherique de type bloc

if [ -b "$lecteur1" ]
then
sleep 2
UUID=`/sbin/blkid $lecteur1 -s UUID -c /dev/null|sed
-e 's/.*"\(.*\)".*/\1/'`
echo "BANG1 -$UUID-$lecteur1- " >>/tmp/speedtch2.log

# Recherche si disque de sauvegarde insere : si oui, on le monte
#
if [ "$UUID" == "xxxnum_uuid_peripheriquexxx" ]
then
# echo "`date '+%F %T'` starter-$$ lancement du
script de sauvegarde sur $lecteur1 pour -$UUID-" >> /var/log/messages
logger -t hotplug "starter-$$ lecteur detecte,
lancement du script de sauvegarde sur $lecteur1 pour -$UUID-"
mount -U "$UUID" /sauvegarde
fi

fi
fi

# Recheche si peripherique enlev�
# -------------------------------

if [ "${ACTION}" == "remove" ]
then

sleep .2
rm -f /tmp/speedtch2.log

fi
------------------

Script � tester...

et en retour, le script de copie (peut-�tre...)

Anne

STRyk!

unread,
Nov 28, 2009, 11:49:55 AM11/28/09
to
ecureuil a �crit :
> STRyk! a �crit :

>> Avez vous d�j� un bout de script pour surveiller l'insertion de la
>> clef USB ? Ca me permetterai alors de faire mon script de copie ;)
>>
> et si tu payes cher....
> ;o)
Heuuuu toute ma grattitude n'est pas suffisante ? :D

> Script � tester...
>
> et en retour, le script de copie (peut-�tre...)
>
> Anne

Merci beaucoups !
Je me met dedans et je post mon script d�finitif avec la copie bien s�r !!
Je vais mettre un peu de temps car je d�bute tout de m�me ;)

Merci encore !
A suivre...

Jean-Philippe PIALASSE

unread,
Nov 28, 2009, 12:45:14 PM11/28/09
to
STRyk! a �crit :


Allo Stryke,

merci pour ton retour car ce bout de script est encore en test, on ets
pas sur qu'il marche dans toutes les machines, version sme .. le
processus de hotplug ets parfois assez different .

Sinon pour le script de synchro tu en as un tout fait dispo ici :
http://smeserver.pialasse.com/index.php/Rsync#RSYNC_vers_un_disque_dur_USB

il suffit d'inverser au niveau de la ligne de sauvegarde rsync l'ordre
de copie dest /src et ca doit s'adapter rapidement

ensuite tu peux diminuer le nombre de copies de backup que tu veux.

tu auras ainsi un dossier main/ avec la copie a jour, et un dossier
backup avec des sous dossier contenant par jour les versions hors date.


JPP

ecureuil

unread,
Nov 28, 2009, 6:16:56 PM11/28/09
to
Jean-Philippe PIALASSE a �crit :

vi vi
script � tester... pas en prod

bon, une ligne � modifier au niveau du mount

----------
...


if [ "$UUID" == "xxxnum_uuid_peripheriquexxx" ]
then
# echo "`date '+%F %T'` starter-$$ lancement du
script de sauvegarde sur $lecteur1 pour -$UUID-" >> /var/log/messages
logger -t hotplug "starter-$$ lecteur detecte,
lancement du script de sauvegarde sur $lecteur1 pour -$UUID-"

# mount -U "$UUID" /sauvegarde
mount $lecteur1 /sauvegarde
fi
...
---------

$lecteur1 => /dev/sdxx

Avec dd en ext3 pas de soucis avec la ligne :
mount -U "$UUID" /sauvegarde
=> cela monte bien mon dd externe

Par contre, avec ma cl� usb en vfat
mount -U "$UUID" /sauvegarde
=> pas de montage de la cl�

Lanc� en ligne de commande :
# mount -U "648F-A9F8" /sauvegarde
mount: UUID erron�

Anne

STRyk!

unread,
Nov 28, 2009, 6:29:17 PM11/28/09
to
Jean-Philippe PIALASSE a �crit :

> merci pour ton retour car ce bout de script est encore en test, on ets
> pas sur qu'il marche dans toutes les machines, version sme .. le
> processus de hotplug ets parfois assez different .
Je suis sur SME 7.4 ;)
Sur quelle version l'avez vous fait ?

> Sinon pour le script de synchro tu en as un tout fait dispo ici :
> http://smeserver.pialasse.com/index.php/Rsync#RSYNC_vers_un_disque_dur_USB
>
> il suffit d'inverser au niveau de la ligne de sauvegarde rsync l'ordre
> de copie dest /src et ca doit s'adapter rapidement
>
> ensuite tu peux diminuer le nombre de copies de backup que tu veux.
>
> tu auras ainsi un dossier main/ avec la copie a jour, et un dossier
> backup avec des sous dossier contenant par jour les versions hors date.

Merci, j'avais suivi des tutos (sans doute les tiens aussi) et vous
m'aviez aid� pour faire un rsync pour sauvegarder mon server sur HD.
J'avais post� le script complet � l'�poque. J'ai lutt� mais j'y suis
arriv� � finir ce script ;)

Actuellement ce que je ne comprends pas c'est comment fonctionne
totalement votre script. je le lance mais je ne sais pas ce qu'il fait,
donc impossible de savoir si il tourne ou si il est arret�...
D�sol� je d�bute et je ramme pas mal :(
J'ai compris en gros les UUID, mais je n'arrive pas � voir si le script
tourne une fois la clef USB inserr� et ou placer le script de copie (une
fois la clef USB inserr�).

;)
Beaucoups d'interrogations ;)

STRyk!

unread,
Nov 28, 2009, 7:38:53 PM11/28/09
to
Question idiote: que doit renvoyer "DEVPATH" ?
Je ne comprends pas pourquoi apparement sur SME 7.4 on vois bien la clef
arriver (dans le fstab) mais �a ne monte pas en vfat....
Bizarre.

STRyk!

unread,
Nov 28, 2009, 7:46:05 PM11/28/09
to
Encore moi, d�sol�:
Est-ce que cette contrib fonctionne chez vous sur SME 7.4 ?

# smeserver-usbdisksmanager-0.2-0.1.noarch.rpm

Moi �a me dit:

Software error:

Whoops, parse_xml() failed. The data and error messages were
saved to /tmp/FormMagick_XML_14370
at /etc/e-smith/web/panels/manager/cgi-bin/usbdisks line 21

For help, please send mail to the webmaster (admin), giving this error
message and the time and date of the error.

ecureuil

unread,
Nov 29, 2009, 8:08:51 AM11/29/09
to
STRyk! a �crit :

j'ai oubli� de dire ou le mettre

# ls -al /etc/hotplug.d/default/usbdisk.hotplug
-rwxr-xr-x 1 root root 3403 nov 28 23:55
/etc/hotplug.d/default/usbdisk.hotplug

donc faire
chmod 755 /etc/hotplug.d/default/usbdisk.hotplug


# Test si c'est le bon p�riph�rique qui vient d'�tre ins�r�


if [ "$UUID" == "xxxnum_uuid_peripheriquexxx" ]
then

# logger sert � mettre une ligne dans /var/log/messages


logger -t hotplug "starter-$$ lecteur detecte,
lancement du script de sauvegarde sur $lecteur1 pour -$UUID-"

# je monte le mat�riel usb qui vient d'�tre ins�r�
# $lecteur = /dev/sdxx
# /sauvegarde : r�pertoire o� on veut monter le p�riph�rique
# (il faut cr�er le r�pertoire, on peut mettre le nom qu'on veut)
mount $lecteur1 /sauvegarde
fi

anne

ecureuil

unread,
Nov 29, 2009, 8:17:53 AM11/29/09
to
ecureuil a �crit :
# c'est ici qu'il faut mettre l'appel du pgm pour sauvegarde
> fi
>

Il n'y a pas besoin de lancer le script
Avec hotplug, le script tourne.
D�s que le p�riph�rique est ins�r�, il teste et monte le p�riph�rique si
l'uuid correspond.

Donc ne pas oublier de faire un umount � la fin du script de sauvegarde
S'il est mont� dans /sauvegarde, faire
umount /sauvegarde

anne

Jean-Philippe PIALASSE

unread,
Nov 29, 2009, 10:12:46 AM11/29/09
to
STRyk! a �crit :


hum,
usbdiskmanager doit si'nstaller avec yum depuis le repo smecontribs (que
tu dois avoir activ� si tu as mis a jour ta sme depuis une 7.0
progressivement vers 7.4
la version 0.2 n'est pas compatible avec sme >7.2 (environs, le moment
ou ils ont mis le parsage en UTF8)

le script hotplug tel que Ecureuil l'a envoy� il faut mettre l'UUID de
ta clef (que tu peux trouver grace a blkid) au niveau de cette ligne :
"$UUID" == "xxxnum_uuid_peripheriquexxx"

a la place de xxx....xxx

sinon effectivement il ne fait rien, car netrouve pas de periph avec le
bon UUID

JP

STRyk!

unread,
Nov 30, 2009, 6:25:08 PM11/30/09
to
ecureuil a �crit :

> Il n'y a pas besoin de lancer le script
> Avec hotplug, le script tourne.
> D�s que le p�riph�rique est ins�r�, il teste et monte le p�riph�rique si
> l'uuid correspond.
>
> Donc ne pas oublier de faire un umount � la fin du script de sauvegarde
> S'il est mont� dans /sauvegarde, faire
> umount /sauvegarde
>
> anne

Merci pour els pr�cision, �a marche maitenant :)
Je poursuit mon script, d�sol� je ne poste pas car je posterai quand ca
sera propre.
L� j'ai un souci avec les accens au montage de la clef USB en FAT :(
Jene vois pas comment voir les accents correctement, j'imagine que c'est
au moment du montage... Mais comment sp�cifier pour le "codepage" ?

;)

Jean-Philippe PIALASSE

unread,
Nov 30, 2009, 6:37:24 PM11/30/09
to
STRyk! a �crit :
ca se joue avec les option de montage charset ou codepage voir le man de
fstab ... et il faut voir si c'est copi� en utf8 ou iso. Et si ton
filesystem sme est iso ou utf suivant la version de SME au d�part(j'ai
tellement jou� sur les miens avec ca que je pourrais pas te dire)

JP

STRyk!

unread,
Nov 30, 2009, 6:43:16 PM11/30/09
to
Jean-Philippe PIALASSE a �crit :

> ca se joue avec les option de montage charset ou codepage voir le man de
> fstab ... et il faut voir si c'est copi� en utf8 ou iso. Et si ton
> filesystem sme est iso ou utf suivant la version de SME au d�part(j'ai
> tellement jou� sur les miens avec ca que je pourrais pas te dire)
>
> JP

Merci pour la r�ponse ultra rapide ;)
Encore un bon pan pour que je ne dorme que 4h cettre nuit :(
H�h�h�h !
Bon, je sais que j'ai tout mis en faze (SME+Samba+Atalk) de fa�on � ne
pas avoir de souci avec les accents �a fonctionne nickel mais l� pour le
montage de la cl� USB je s�che. Je devrais dormir je pense.... lol

Merci ;)

Jean-Philippe PIALASSE

unread,
Dec 1, 2009, 7:38:37 AM12/1/09
to
STRyk! a �crit :
avec essais erreur ca doit marcher avec un truc du genre dans le mount
au niveau des options -o:
uid=admin,gid=admin,pamconsole,exec,noauto,managed,iocharset=utf8

si c amarche pas essais avec iso (je sais plus s'ilf aut preciser le
numero de l'iso google cette partie)

si ca marche toujours pas, ca doit se jouer au niveau du codepage
(toujours dans les options -o)


JP

STRyk!

unread,
Dec 1, 2009, 2:18:19 PM12/1/09
to
Jean-Philippe PIALASSE a �crit :

> avec essais erreur ca doit marcher avec un truc du genre dans le mount
> au niveau des options -o:
> uid=admin,gid=admin,pamconsole,exec,noauto,managed,iocharset=utf8
>
> si c amarche pas essais avec iso (je sais plus s'ilf aut preciser le
> numero de l'iso google cette partie)
>
> si ca marche toujours pas, ca doit se jouer au niveau du codepage
> (toujours dans les options -o)


Encre merci,
J'ai avanc� j'ai donc mont� la cl� USB en Fat sur SME 7,4 et j'ai les
accents:

# mount -t vfat -o
uid=admin,gid=admin,pamconsole,exec,noauto,managed,iocharset=iso8859-1,codepage=850
/dev/sdd1 /media/usb

Je vais pouvoir continuer mon script ;)

STRyk!

unread,
Dec 2, 2009, 3:36:27 PM12/2/09
to
Voil�, merci le sript est post� dans un nouveau sujet (pour plus de
claret�).

Merci encore � vous !

STRyk.

0 new messages