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.
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
> 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...
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
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
> 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 ;)
# 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.
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
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
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
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" ?
;)
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 ;)
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
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 ;)
Merci encore � vous !
STRyk.