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 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 sad

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 sad

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.

krapo a écrit :

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...

krapo a écrit :

(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)

smile

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 wink

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é


é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 wink

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 smile mais ca le sera seulement quand ca sera fini smile

Hors ligne

#9 Le 28/06/2006, à 11:13

cep

Re : Backup de données à l'insertion d'un disque USB.

Gismo a écrit :

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 lol


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 wink

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 smile 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 . . . roll

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 wink )


é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é smile

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.

greg2007 a écrit :

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.

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 ?

Hors ligne

#21 Le 18/03/2009, à 22:48

sebk

Re : Backup de données à l'insertion d'un disque USB.

jofab a écrit :
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 smile


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