Recent Changes - Search:
HomePage



Materiel


Photo


Système et réseau

 Sous Debian Gnu Linux...

 ... et Ubuntu


Gestion de projet

 ...informatique


Cours


Divers


Private




 edit SideBar



Deb /

Udev

Deb.Udev History

Hide minor edits - Show changes to output

February 10, 2015, at 10:29 AM by 109.190.35.38 -
Changed lines 63-64 from:
!! Script de backup
to:
NB : en cas d'utilisation de plusieurs disques (sauvegarde tournante) d'un même modèle, il est pratique d'utiliser les attributs "idVendor" et "idProduct" du périphérique USB obtenus avec un simple ''lsusb'' (il est aussi possible d'ajouter le serial si besoin)
Added lines 65-77:
# Création d'un symlink /dev/backupdevice en plus du symlink std /dev/sd...
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1058", ATTRS{idProduct}=="0748", KERNEL=="sd[a-z]", NAME:="%k", SYMLINK:="backupdevice", OPTIONS="last_rule"
# Création d'un symlink pour la partition
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1058", ATTRS{idProduct}=="0748", ACTION=="add", KERNEL=="sd[a-z]1", SYMLINK:="backuppartition", GROUP:="users", NAME:="%k"
# Montage automatique du disque
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1058", ATTRS{idProduct}=="0748", ACTION=="add", KERNEL=="sd[a-z]1", RUN+="/bin/mount -t vfat -o user,umask=000,noauto /dev/%k /mnt/backup"
# Lancement du script de backup
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1058", ATTRS{idProduct}=="0748", ACTION=="add", KERNEL=="sd[a-z]1", RUN+="/home/user/bin/rsync/rsync_backup.sh", OPTIONS="last_rule"
@]

!! Script de backup

[@
March 04, 2009, at 10:40 PM by 90.51.34.183 -
Changed lines 9-12 from:
!! Ajout des règles locales

Créer/modifier le fichier des règles locales :
@@# vim /etc/udev/rules.d/z99_local.rules@@
to:
!! Objectif

Le but est d'utiliser UDEV pour :
* reconnaitre un disque dur (ou un quelconque périphérique de stockage) lorsqu'on le branche à l'ordinateur
* lancer un script qui va créer backup sur ce périphérique automatiquement
* prévenir l'utilisateur que le backup est en cours (boites de dialogue zenity + mail)

Pour ce faire il faudra :
* identifier le périphérique qui servira de support au backup
* créer les règles UDEV pour ce périphérique
* créer le script de backup automatique (utilisation de RSync)

!! Identification du périphérique de sauvegarde

Brancher le périphérique et lancer aussitôt la commande suivante dans un terminal
@@ordinateur:/home/user# dmesg@@

Vous devriez trouver des données sur le périphérique connecté ressemblant à ceci :
Changed lines 28-31 from:
SUBSYSTEMS=="usb", ATTRS{serial}=="00E0010223082", ATTRS{manufacturer}=="LaCie", KERNEL=="sd[a-z]", NAME:="%k", SYMLINK:="backupdevice", OPTIONS="last_rule"
SUBSYSTEMS=="usb", ATTRS{serial}=="00E0010223082", ATTRS{manufacturer}=="LaCie", ACTION=="add", KERNEL=="sd[a-z]1", SYMLINK:="backuppartition", GROUP:="users", NAME:="%k"
SUBSYSTEMS=="usb", ATTRS{serial}=="00E0010223082", ATTRS{manufacturer}=="LaCie", ACTION=="add", KERNEL=="sd[a-z]1", RUN+="/bin/mount -t vfat -o user,umask=000,noauto /dev/%k /mnt/backup"
SUBSYSTEMS=="usb", ATTRS{serial}=="00E0010223082", ATTRS{manufacturer}=="LaCie", ACTION=="add", KERNEL=="sd[a-z]1", RUN+="/home/user/bin/rsync/rsync_backup.sh", OPTIONS="last_rule"
to:
[ 1701.911387] usb 5-1: new high speed USB device using ehci_hcd and address 10
[ 1702.060525] usb 5-1: configuration #1 chosen from 1 choice
[ 1702.063465] scsi6 : SCSI emulation for USB Mass Storage devices
[ 1702.063465] usb-storage: device found at 10
[ 1702.063465] usb-storage: waiting for device to settle before scanning
[ 1702.063465] usb 5-1: New USB device found, idVendor=059f, idProduct=101a
[ 1702.063465] usb 5-1: New USB device strings: Mfr=10, Product=11, SerialNumber=3
[ 1702.063465] usb 5-1: Product: LaCie Hard Drive USB
[ 1702.063465] usb 5-1: Manufacturer: LaCie
[ 1702.063465] usb 5-1: SerialNumber: 00E0010223082
[ 1707.083907] usb-storage: device scan complete
[ 1707.083922] scsi 6:0:0:0: Direct-Access Hitachi HTS543225L9SA00 PQ: 0 ANSI: 2 CCS
Changed lines 42-43 from:
!! Script de backup
to:
Les informations qui vont particulièrement nous intéresser pour identifier le périphérique de manière unique seront les suivantes :
* '''Manufacturer''': LaCie
* '''SerialNumber''': 00E0010223082

Vous pouvez choisir d'autres informations, celles-ci m'ont personnellement suffit.

!! Ajout des règles locales à UDEV

Créer/modifier le fichier des règles locales :
@@# vim /etc/udev/rules.d/z99_local.rules@@
Added lines 53-65:
# Création d'un symlink /dev/backupdevice en plus du symlink std /dev/sd...
SUBSYSTEMS=="usb", ATTRS{serial}=="00E0010223082", ATTRS{manufacturer}=="LaCie", KERNEL=="sd[a-z]", NAME:="%k", SYMLINK:="backupdevice", OPTIONS="last_rule"
# Création d'un symlink pour la partition
SUBSYSTEMS=="usb", ATTRS{serial}=="00E0010223082", ATTRS{manufacturer}=="LaCie", ACTION=="add", KERNEL=="sd[a-z]1", SYMLINK:="backuppartition", GROUP:="users", NAME:="%k"
# Montage automatique du disque
SUBSYSTEMS=="usb", ATTRS{serial}=="00E0010223082", ATTRS{manufacturer}=="LaCie", ACTION=="add", KERNEL=="sd[a-z]1", RUN+="/bin/mount -t vfat -o user,umask=000,noauto /dev/%k /mnt/backup"
# Lancement du script de backup
SUBSYSTEMS=="usb", ATTRS{serial}=="00E0010223082", ATTRS{manufacturer}=="LaCie", ACTION=="add", KERNEL=="sd[a-z]1", RUN+="/home/user/bin/rsync/rsync_backup.sh", OPTIONS="last_rule"
@]

!! Script de backup

[@
March 04, 2009, at 10:28 PM by 90.51.34.183 -
Changed lines 54-55 from:
su - ${USERNAME} -c "$RSYNC -avz --delete-after ${ORIGINPATH} ${DESTPATH}/ 2>&1 >> ${LOGFILE}"
to:
$RSYNC -avz --delete-after ${ORIGINPATH} ${DESTPATH}/ 2>&1 >> ${LOGFILE}
February 12, 2009, at 04:23 PM by 80.13.23.147 -
Changed line 71 from:
STRMAIL="La sauvegarde a retourné une erreur <$?>, une trace a été laissée dans le fichier ${LOGFILE}.\nConsulter cette page pour les messages d erreur lies a Rsync http://www.delafond.org/traducmanfr/man/man1/rsync.1.html#lbAY."
to:
STRMAIL="La sauvegarde a retourné une erreur <$?>, une trace a été laissée dans le fichier ${LOGFILE}.\nAide : http://www.delafond.org/traducmanfr/man/man1/rsync.1.html#lbAY."
February 12, 2009, at 04:22 PM by 80.13.23.147 -
Added lines 8-109:

!! Ajout des règles locales

Créer/modifier le fichier des règles locales :
@@# vim /etc/udev/rules.d/z99_local.rules@@
[@
SUBSYSTEMS=="usb", ATTRS{serial}=="00E0010223082", ATTRS{manufacturer}=="LaCie", KERNEL=="sd[a-z]", NAME:="%k", SYMLINK:="backupdevice", OPTIONS="last_rule"
SUBSYSTEMS=="usb", ATTRS{serial}=="00E0010223082", ATTRS{manufacturer}=="LaCie", ACTION=="add", KERNEL=="sd[a-z]1", SYMLINK:="backuppartition", GROUP:="users", NAME:="%k"
SUBSYSTEMS=="usb", ATTRS{serial}=="00E0010223082", ATTRS{manufacturer}=="LaCie", ACTION=="add", KERNEL=="sd[a-z]1", RUN+="/bin/mount -t vfat -o user,umask=000,noauto /dev/%k /mnt/backup"
SUBSYSTEMS=="usb", ATTRS{serial}=="00E0010223082", ATTRS{manufacturer}=="LaCie", ACTION=="add", KERNEL=="sd[a-z]1", RUN+="/home/user/bin/rsync/rsync_backup.sh", OPTIONS="last_rule"
@]

!! Script de backup

[@
#!/bin/sh

# Déclaration des variables entrant en option dans la commande rsync
USERNAME="user" # utilisateur (pour popups graphiques)
ORIGINPATH="/home/user/data" # chemin du répertoire à sauvegarder, d'origine
DESTMOUNTPOINT="/mnt/backup/" # point de montage du répertoire de destination
DESTREP="backupdir" # répertoire de destination de la sauvegarde

EMAIL="user@domain.fr"

# variables internes au script
RSYNC="/usr/bin/rsync"
DESTPATH=${DESTMOUNTPOINT}${DESTREP} # chemin du répertoire de destination de la sauvegarde
LOGFILE="/home/user/bin/rsync/rsync_${DESTREP}-result.log"

EMAIL_TITLE="Sauvegarde ${ORIGINPATH} vers ${DESTPATH}"

#-----------------------------------
# DEBUT SCRIPT
#-----------------------------------

# Trace du début de la sauvegarde dans le fichier de LOG
echo `date`" - DEBUT DE COPIE RSYNC de ${ORIGINPATH} vers ${DESTPATH}" > ${LOGFILE}
su - ${USERNAME} -c "DISPLAY=:0.0 zenity --info --text='Début de la sauvegarde \nde ${ORIGINPATH} \nvers ${DESTPATH} \n\nLogfile : ${LOGFILE}'"

# Envoi d'un mail pour prévenir du début de la sauvegarde
echo "la sauvegarde vient d etre lancee, un Email vous sera envoye lorsque celle ci sera finie et reussie" | mail -s "[RSync Notification - Start] ${EMAIL_TITLE}" ${EMAIL}

# Lancement de la sauvegarde
if [ -d ${DESTPATH} ]
then
su - ${USERNAME} -c "$RSYNC -avz --delete-after ${ORIGINPATH} ${DESTPATH}/ 2>&1 >> ${LOGFILE}"

# Liste des fichiers sur le repertoire de destination
echo ""
echo "Voici les données contenues dans le répertoire de destination:"
ls -l "${DESTPATH}"
echo ""

# Trace de la fin de sauvegarde dans le fichier de LOG
echo `date`" - FIN DE COPIE RSYNC" >> ${LOGFILE}

# Résultat par mail
if [ $? -eq 0 ]
then
STRMAIL="La sauvegarde de vos données est terminée, une trace a été laissée dans le fichier ${LOGFILE}."
STRMAILSUB="[RSync Notification - OK]"
else
STRMAIL="La sauvegarde a retourné une erreur <$?>, une trace a été laissée dans le fichier ${LOGFILE}.\nConsulter cette page pour les messages d erreur lies a Rsync http://www.delafond.org/traducmanfr/man/man1/rsync.1.html#lbAY."
STRMAILSUB="[RSync Notification - ERROR]"
fi
else
# Trace de la fin de sauvegarde dans le fichier de LOG
echo `date`" - COPIE RSYNC ABANDONNEE" >> ${LOGFILE}

# résultat par mail
STRMAIL="Sauvegarde abandonnée (répertoire de destination inexistant)."
STRMAILSUB="[RSync Notification - ABANDON]"
fi

# TRACE
echo ${STRMAIL}
su - ${USERNAME} -c "DISPLAY=:0.0 zenity --info --text='${STRMAIL}'"
echo ${STRMAIL} | mail -s "${STRMAILSUB} ${EMAIL_TITLE}" ${EMAIL_TITLE} ${EMAIL}

# synchronisation des données
sync

# =============================================================================================================================================================
# Demande de démontage du périphérique
# => on démonte automatiquement car sinon HAL retournera une erreur come quoi c'est pas lui qui a monté ce péiphérique
# => si on veut utiliser le disque après la sauvegarde il suffira de cliquer dessus sur l'IHM => HAL le montera => on pourra le démonter proprement ensuite
# =============================================================================================================================================================
#su - ${USERNAME} -c "DISPLAY=:0.0 zenity --question --text='Sauvegarde terminée, démonter le disque ?'"
#if [ $? = "0" ]
#then
# # démontage du volume externe à la fin de la sauvegarde
# echo "Démontage du disque ${DESTMOUNTPOINT}"
# umount ${DESTMOUNTPOINT}
#fi
# =============================================================================================================================================================
# Démontage automatique du périphérique
echo "Démontage du disque ${DESTMOUNTPOINT}"
umount ${DESTMOUNTPOINT}
su - ${USERNAME} -c "DISPLAY=:0.0 zenity --info --text='Le périphérique a été démonté.'"
# =============================================================================================================================================================
@]
February 06, 2009, at 09:32 PM by 90.17.124.119 -
Changed lines 4-5 from:
* Tutoriel UDEV [[http://doc.ubuntu-fr.org/udev -> sur le forum Ubuntu]], il décrit de manière très détaillée et explicite le fonctionnement de ''udev'', 'sysfs''.
* Post ''automatic usb-backup with udev-rules + script'' [[http://bbs.archlinux.org/viewtopic.php?id=32639 -> sur le forum archlinux.org]]
to:
* Tutoriel UDEV [[sur le forum Ubuntu -> http://doc.ubuntu-fr.org/udev]], il décrit de manière très détaillée et explicite le fonctionnement de ''udev'', 'sysfs''.
* Post ''automatic usb-backup with udev-rules + script'' [[sur le forum archlinux.org -> http://bbs.archlinux.org/viewtopic.php?id=32639]]
February 06, 2009, at 09:32 PM by 90.17.124.119 -
Changed lines 4-5 from:
* Tutoriel UDEV sur le forum Ubuntu : http://doc.ubuntu-fr.org/udev, il décrit de manière très détaillée et explicite le fonctionnement de ''udev'', 'sysfs''.
to:
* Tutoriel UDEV [[http://doc.ubuntu-fr.org/udev -> sur le forum Ubuntu]], il décrit de manière très détaillée et explicite le fonctionnement de ''udev'', 'sysfs''.
* Post ''automatic usb-backup with udev-rules + script'' [[http://bbs.archlinux.org/viewtopic.php?id=32639 -> sur le forum archlinux.org]]
February 06, 2009, at 09:28 PM by 90.17.124.119 -
Changed line 4 from:
* Tutoriel UDEV sur le forum Ubuntu : http://doc.ubuntu-fr.org/udev, il décrit de manière très détaillée et explicite le fonctionnement de ''udev'', 'sysfs''.\\
to:
* Tutoriel UDEV sur le forum Ubuntu : http://doc.ubuntu-fr.org/udev, il décrit de manière très détaillée et explicite le fonctionnement de ''udev'', 'sysfs''.
February 06, 2009, at 09:28 PM by 90.17.124.119 -
Changed lines 4-6 from:
Tutoriel UDEV sur le forum Ubuntu : http://doc.ubuntu-fr.org/udev, il décrit de manière très détaillée et explicite le fonctionnement de ''udev'', 'sysfs''.\\
to:
* Tutoriel UDEV sur le forum Ubuntu : http://doc.ubuntu-fr.org/udev, il décrit de manière très détaillée et explicite le fonctionnement de ''udev'', 'sysfs''.\\
* http://www.debian-administration.org/articles/126
* http://www.debian-administration.org/articles/127
February 06, 2009, at 09:27 PM by 90.17.124.119 -
Added lines 1-4:
! UDev

!! Sources
Tutoriel UDEV sur le forum Ubuntu : http://doc.ubuntu-fr.org/udev, il décrit de manière très détaillée et explicite le fonctionnement de ''udev'', 'sysfs''.\\
Edit - History - Print - Recent Changes - Search
Page last modified on February 10, 2015, at 10:29 AM