#1 Le 27/06/2006, à 14:22
- Gismo
Backup de données à l'insertion d'un disque USB.
Bonjour à tous,
En regardant un peu les possibilités offertes par l'intégration de UDEV dans dapper j'ai vu qu'on pouvait lancer un script ou un programme à l'insertion d'un périphérique.
Je me suis donc mis en tête de faire un backup de mes données à chaque insertion de mon disque dur USB externe.
Le principe est tout bête: il suffit de rajouter une regle dans /etc/udev/rules.d/local.rules
SYSFS{model}=="<model du disque>", RUN+="</chemin/vers/le/programme>"
Je voudrais donc écrire un script qui avec Zenity, me demande si je veux procéder à la sauvegarde lorsque je branche mon disque.
Malheureusement ce script est lancé avec root et donc la fenetre Zenity ne s'affiche pas
Comment faire pour qu'une fenetre Zenity lancé avec root s'affiche sur mon bureau ?
Hors ligne
#2 Le 27/06/2006, à 15:09
- cep
Re : Backup de données à l'insertion d'un disque USB.
Pour "imager" la chose, tu peux t'inspirer de ce script :
http://rob.pectol.com/myscripts/iso-mounter.sh.txt
et de l'utilisation de passresult
Hors ligne
#3 Le 27/06/2006, à 15:32
- Gismo
Re : Backup de données à l'insertion d'un disque USB.
Mmmmm mais ce script est lancé avec les droits d'utilisateur normal et c'est avec sudo qu'il passe en root.
Mon probleme a moi est que le script de sauvegarde est lancé en root
Hors ligne
#4 Le 27/06/2006, à 17:11
- krapo
Re : Backup de données à l'insertion d'un disque USB.
C'est pas possible de lancer la fenêtre zenity avec ton compte, et dans le programme de faire le backup en root?
(P.S: ça m'intéresse ton histoire... je voulais faire un script de sauvegarde aussi mais j'ai pas trop trouvé le temps et ce principe m'a l'air très bon)
Actu krapo: Dexter
Hors ligne
#5 Le 28/06/2006, à 09:43
- Gismo
Re : Backup de données à l'insertion d'un disque USB.
C'est pas possible de lancer la fenêtre zenity avec ton compte, et dans le programme de faire le backup en root?
Ben j'aimerai lancer le prog à l'insertion du disque, donc il est obligatoirement lancé en root apparement...
(P.S: ça m'intéresse ton histoire... je voulais faire un script de sauvegarde aussi mais j'ai pas trop trouvé le temps et ce principe m'a l'air très bon)
En tout cas pour la version de base sans zenity ca devrait marcher sans prob:
SYSFS{model}=="<model du disque>", RUN+="/usr/bin/rdiff-backup /home/<rep à sauvegarder> /media/usb-disk1/<rep de destination>"
Il faut pas oublier d'installer rdiff-backup d'abord
Hors ligne
#6 Le 28/06/2006, à 09:49
- benjou
Re : Backup de données à l'insertion d'un disque USB.
Pluto que d'utiliser udev, il suffit de sauver ton script en le nommant autorun.sh dans le repertoire racine de ton disque USB, ensuite dans prefs->media amovible, cocher l'option "permettre l'execution automatique de programme"
J'en ai parlé là
écrasons l'infâme
Hors ligne
#7 Le 28/06/2006, à 09:50
- Bobbybionic
Re : Backup de données à l'insertion d'un disque USB.
Merci d'utiliser la section Trucs et astuces pour les trucs et astuces
Déplacé
Non à la vente liée. Non au monopole Windows.
Tous ensemble, refusons les logiciels préinstallés et tournons nous vers le libre.
http://bobbybionic.wordpress.com
Hors ligne
#8 Le 28/06/2006, à 11:06
- Gismo
Re : Backup de données à l'insertion d'un disque USB.
A la base ca devait etre une astuce mais ca le sera seulement quand ca sera fini
Hors ligne
#9 Le 28/06/2006, à 11:13
- cep
Re : Backup de données à l'insertion d'un disque USB.
Ben j'aimerai lancer le prog à l'insertion du disque, donc il est obligatoirement lancé en root apparement...
Pas forcément.
En règle générale au branchement d'un disque usb le disque est monté avec les droits user. Voir aussi pmount si nécessaire.
Donc, sauf ensuite à faire des sauvegardes sur des parties où l'user n'a pas de droits, tu ne devrais pas avoir besoin de mot de passe.
Et, avec udev, ton script sera géré et tu pourras aussi si besoin ajouter une ligne dans fstab.
Hors ligne
#10 Le 28/06/2006, à 11:16
- Gismo
Re : Backup de données à l'insertion d'un disque USB.
Excellent benjou, je vais creuser de ce coté.
Par contre en fin de topic j'ai vu que tu avais déjà un script pour les sauvegardes incrémentales. Tu peux le rendre publique ?
Hors ligne
#11 Le 28/06/2006, à 11:32
- benjou
Re : Backup de données à l'insertion d'un disque USB.
A vos ordres
MOUNTPOINT=$(hal-get-property --udi /org/freedesktop/Hal/devices/le_volume_uuid_detrminé_precedemment --key volume.mount_point)
rsync -rtvu --copy-links --delete --stats ~/le/dossier/à/sauvergarder $MOUNTPOINT/le/dossier/où/s/effectue/la/sauvegarde | zenity --text-info --title="Updating Podcasts" --width=600 --height=600
Les options --copy-links font que tu backup les liens en sauvegardant aussi le fichier original
--delete si un fichier est deleté sur ton ordi, il est deleté sur ton backup
--stats pour que zenity affiche kekchose d'interressant
écrasons l'infâme
Hors ligne
#12 Le 28/06/2006, à 11:35
- benjou
Re : Backup de données à l'insertion d'un disque USB.
et j'ai oublié: le volume uuid s'obtient avec cette commande
hal-find-by-property --key block.device --string /dev/sdXX
remplace /dev/sdxx par le nom de ton disque dur (/dev/sda1, /dev/sdb1..)
Dernière modification par benjou (Le 28/06/2006, à 11:35)
écrasons l'infâme
Hors ligne
#13 Le 28/06/2006, à 12:22
- cep
Re : Backup de données à l'insertion d'un disque USB.
Ceci dit, il est aussi possible de faire très simple.
J'ai une clé usb pour une liaison "spéciale".
Il y a un simple script autorun.sh dessus :
#!/bin/bash
SOURCE=~/liaison
DEST=/media/usbdisk/dest
rm -r $DEST/
rsync -a $SOURCE/ $DEST/
Pour certaines raisons j'ai préféré mélanger rm et rsync.
Et c'est tout
Hors ligne
#14 Le 28/06/2006, à 12:39
- Gismo
Re : Backup de données à l'insertion d'un disque USB.
cep> mon prob n'était pas par rapport a la copie de fichiers mais par rapport au lancement d'une fenetre zenity.
Ton script est effecivement très simple mais il plantera si le disque change de nom dans /media
benjou> merci par contre je pense que je vais utiliser rdiff-backup pour faire la sauvegarde.
Hors ligne
#15 Le 28/06/2006, à 13:04
- cep
Re : Backup de données à l'insertion d'un disque USB.
Il ne change de nom que si on branche an série plusieurs disques.
Dans ce cas, il est simple de solutionner le problème avec udev.
Et, encore une fois, comme expliqué plus haut, sudo ne devrait pas être un problème.
Enfin, bref, pourquoi faire simple . . .
Hors ligne
#16 Le 28/06/2006, à 14:15
- benjou
Re : Backup de données à l'insertion d'un disque USB.
Pour certaines raisons j'ai préféré mélanger rm et rsync.
Par curiosité quelles sont ces raisons?
En principe ta manip est plutôt à éviter puisque elle implique de nombreuses réécriture sur ta clé USB et donc tu endommage la mémoire flash (sauf si c'est un DD évidemment )
écrasons l'infâme
Hors ligne
#17 Le 28/06/2006, à 14:50
- cep
Re : Backup de données à l'insertion d'un disque USB.
Elles sont propres à mon utilisation dans ce cas.
Pour le reste, je te remercie de prendre soin de ma clé
Hors ligne
#18 Le 25/01/2009, à 21:05
- omnimax
Re : Backup de données à l'insertion d'un disque USB.
Le principe est tout bête: il suffit de rajouter une regle dans /etc/udev/rules.d/local.rules
SYSFS{model}=="<model du disque>", RUN+="</chemin/vers/le/programme>"
justement comment fait-on pour connaitre {model} et <model du disque> pour une clé usb?
14.04 unity et Linux Mint KDE 13 zsh-meilleur shell script fire
Hors ligne
#19 Le 18/03/2009, à 01:58
- mr_jay_01
Re : Backup de données à l'insertion d'un disque USB.
Le principe est tout bête: il suffit de rajouter une regle dans /etc/udev/rules.d/local.rules
SYSFS{model}=="<model du disque>", RUN+="</chemin/vers/le/programme>"
justement comment fait-on pour connaitre {model} et <model du disque> pour une clé usb?
Dans «SYSFS{model}», «model» correspond à un nom d'attribut. Après quelques recherches sur le même genre de sujets, voici une commande exécutable en utilisateur simple pour interroger udev, en supposant qu'on s'intéresse à un périphérique actuellement connu par le système comme le périphérique bloc "sdb" :
udevadm info --path=/sys/block/sdb --attribute-walk
On trouve (par exemple) : ATTRS{model}=="ST3320820A " (notez les espaces...)
Dernière modification par mr_jay_01 (Le 18/03/2009, à 02:03)
Hors ligne
#20 Le 18/03/2009, à 09:44
- jofab
Re : Backup de données à l'insertion d'un disque USB.
cep> mon prob n'était pas par rapport a la copie de fichiers mais par rapport au lancement d'une fenetre zenity.
Je ne sais pas ce qu'est Zenity mais ce n'est pas simplement ta variable DISPLAY qui n'est pas fixée ?
Hors ligne
#21 Le 18/03/2009, à 22:48
- sebk
Re : Backup de données à l'insertion d'un disque USB.
Gismo a écrit :cep> mon prob n'était pas par rapport a la copie de fichiers mais par rapport au lancement d'une fenetre zenity.
Je ne sais pas ce qu'est Zenity mais ce n'est pas simplement ta variable DISPLAY qui n'est pas fixée ?
Il faut d'un part mettre à jour la variable DISPLAY mais en plus autoriser d'autres users à se connecter à ton interface graphique via la commande xhost.
Iceberg Project : www.iceberg-linux.net
Hors ligne
#22 Le 19/03/2009, à 18:40
- omnimax
Re : Backup de données à l'insertion d'un disque USB.
merci mr jay pour ta réponse
14.04 unity et Linux Mint KDE 13 zsh-meilleur shell script fire
Hors ligne
#23 Le 03/08/2009, à 07:43
- max_mont
Re : Backup de données à l'insertion d'un disque USB.
Bonjour,
Je voudrais lancer un backup lorsque je branche mon DD externe USB.
J'ai cree un fichier /etc/udev/rules.d/80-usb-backup.rules
contenant:
KERNEL=="sd*", SUBSYSTEMS=="usb", SUBSYSTEMS=="scsi", ACTION=="add", RUN+="/usr/local/bin/usb-backup_launcher %k"
J'ai cree un script /usr/local/bin/usb-backup_launcher contenant :
#!/bin/bash
sudo xterm -e /usr/local/bin/usb-backup sdb1
pour lancer le script dans une console afin d'avoir les traces
J'ai cree un script /usr/local/bin/usb-backup contenant :
le process de backup avec rsync ...
Les scripts fonctionnent tres bien manuellement.
Par contre, lorsque je branche le DD externe, le script ne se lance pas.
J'ai mis les autorisation sur les scripts (chmod 700)
Auriez vous une idee du probleme ?
D'avance merci
Maxime
Hors ligne
#24 Le 08/08/2009, à 08:45
- max_mont
Re : Backup de données à l'insertion d'un disque USB.
Bonjour,
Désolé d'etre insistant mais je n'ai toujours pas resolu mon probleme.
Quelqu'un aurait-il une idee ?
Merci d'avance pour votre aide.
Hors ligne