Forum debian-fr.org

Rechercher:

* Connexion   * M’enregistrer

* FAQ    * Rechercher





Poster un nouveau sujet Répondre au sujet  [ 17 messages ] 
Auteur Message
MessagePosté: 13 Juin 2012 16:50 
Hors ligne
Administrateur du forum
Avatar de l’utilisateur

Inscription: 15 Oct 2004 01:13
Messages: 21414
Localisation: Père.Igor (24)
J'ai ajouté la sauvegarde de mon serveur commandé en SSH, à mon script.
Les tests sont parfaits donc là n'est pas la question qui me préoccupe :
J'ai acheté un second DDext pour doubler mes sauvegardes :roll: :roll: :roll: , je sais !
Les deux DDext sont reliés SATA sur ma machine MAIS je n'ai qu'une prise sata.
D'un côté, ça m'évitera de faire des erreurs puisqu'un seul à la fois des DDext sera relié.
Je peux, bien sûr, doubler mon script en ne modifiant que les données (système de fichier = ext3 sur l'un et ext4 sur l'autre) (partitions différentes des DDext). C'est la méthode de facilité.
Je pense toutefois, qu'il serait plus "propre" de gérer le tout via un même script.

1/
Il y a la méthode des UUIDs qui permettrait de différencier les partitions mais je n'ai pas réussi à la mettre en application. De plus, il me faudrait quand même gérer la différebce de système de fichiers et il me faudrait doubler les choix, ce qui va faire brouillon.

2/
Un choix qui permettrait au script de reconnaître le DDext connecté.

Les lignes du script qui sont concernées par ce choix :
Citation:
# la première donnée, vide, figure le [0], de façon à commencer par [1]
ddext=('' '/dev/sdb10' '/dev/sdb8' '/dev/sdb6' '/dev/sdb1')
systeme_fich=('' 'ext3' 'ext2' 'ext3' 'ext3')

Ensuite, un IF qui dirigerait vers la bonne partition, du genre :

if DD = machin
then
ddext=('' '/dev/sdb10' '/dev/sdb8' '/dev/sdb6' '/dev/sdb1')
systeme_fich=('' 'ext3' 'ext2' 'ext3' 'ext3')
if DD = truc
then
ddext=('' '/dev/sdb2' '/dev/sdb1' '/dev/sdb5' '/dev/sdb3')
systeme_fich=('' 'ext4' 'ext4' 'ext4' 'ext4')
fi

Une idée ?

_________________
.
"L'action est plus efficace que la polémique, mais plus rare." Ricardo (1936-20..)
http://rictux.fr


Haut
 Profil  
 
MessagePosté: 13 Juin 2012 17:37 
Hors ligne
Contributeur
Avatar de l’utilisateur

Inscription: 18 Juil 2007 17:57
Messages: 7794
Localisation: Grenoble
Les labels il n'y a que ça de vrais. C'est des noms logiques que tu choisi donc tu peux faire ce que tu veux.
Tu nome tes partitions SAUV11, SAUV12, SAUV13 pour le premier disque et SAUV21, SAUV22 et SAUV23 pour le second.

Pour savoir quel disque est monté :
Code:
count=$(print -l /dev/disk/by-label/SAUV* | sed -n 's/.*SAUV\(.\).*/\1/p')

count vaudra 1 si c'est le premier et 2 si c'est le second.

Mais tu peut faire des chose plus brutales encore. Si tu nome tes partitions SAUV11-ext3 (etc) :
Code:
ddext=('' /dev/disk/by-label/SAUV* )
systeme_fich=('' $(print -l /dev/disk/by-label/SAUV* | sed -n 's/.*SAUV..-\(ext.\).*/\1/p') )

Te donneras d'emblé les noms partitions et les système de fichiers correspondants sans avoir de contitions (if).
Il faut alors remplacer les
Code:
mount /dev/sdc12 /mnt

par
Code:
mount -L COUCOU /mnt

_________________
Je suis Pitta, cartésien, irritable, irritant et névrosé (de plus je fais de l'entrisme pour zsh), si l'un de mes messages vous insupporte essayez d'y voir de l'ironie ou de ne pas en tenir compte. Bonne journée et gardez le sourire. :)


Haut
 Profil  
 
MessagePosté: 13 Juin 2012 19:38 
Hors ligne
Administrateur du forum
Avatar de l’utilisateur

Inscription: 15 Oct 2004 01:13
Messages: 21414
Localisation: Père.Igor (24)
Intéressant tout ça et j'ai envie de tester tout pour choisir ensuite.
Mais avant tout, j'ai besoin de savoir comment donner des labels à des partitions déjà montées et, pour certaines qui doivent déjà en avoir, comment modifier ces noms de label.
Je crois pouvoir faire ça depuis Gparted mais je me méfie toujours de ce truc donc, s'il y a plus simple en ligne de commande, je suis preneur.

_________________
.
"L'action est plus efficace que la polémique, mais plus rare." Ricardo (1936-20..)
http://rictux.fr


Haut
 Profil  
 
MessagePosté: 14 Juin 2012 00:48 
Hors ligne
Contributeur
Avatar de l’utilisateur

Inscription: 18 Juil 2007 17:57
Messages: 7794
Localisation: Grenoble
voila : http://www.admin-linux.fr/?p=218

_________________
Je suis Pitta, cartésien, irritable, irritant et névrosé (de plus je fais de l'entrisme pour zsh), si l'un de mes messages vous insupporte essayez d'y voir de l'ironie ou de ne pas en tenir compte. Bonne journée et gardez le sourire. :)


Haut
 Profil  
 
MessagePosté: 14 Juin 2012 00:58 
Hors ligne
Administrateur du forum
Avatar de l’utilisateur

Inscription: 15 Oct 2004 01:13
Messages: 21414
Localisation: Père.Igor (24)
Merci mon Doudou, y'a vraiment tout pour m'occuper demain :023
:006

_________________
.
"L'action est plus efficace que la polémique, mais plus rare." Ricardo (1936-20..)
http://rictux.fr


Haut
 Profil  
 
MessagePosté: 14 Juin 2012 16:19 
Hors ligne
Administrateur du forum
Avatar de l’utilisateur

Inscription: 15 Oct 2004 01:13
Messages: 21414
Localisation: Père.Igor (24)
Je n'ai pas donné exactement les mêmes labels que ceux proposés mais il trouve bien deux partoches qui commencent par "sauv".
Par contre, le résultat n'est pas ce que tu disais, Michel
???
Code:
ricardo@sid-sda8:~$ sudo count=$(print -l /dev/disk/by-label/SAUV* | sed -n 's/.*SAUV\(.\).*/\1/p')
Warning: unknown mime-type for "-l" -- using "application/octet-stream"
Warning: unknown mime-type for "/dev/disk/by-label/SAUVESERV110" -- using "application/octet-stream"
Warning: unknown mime-type for "/dev/disk/by-label/SAUVESID18" -- using "application/octet-stream"
Error: no such file "-l"
Error: no read permission for file "/dev/disk/by-label/SAUVESERV110"
Error: no read permission for file "/dev/disk/by-label/SAUVESID18"
usage: sudo [-D level] -h | -K | -k | -V
usage: sudo -v [-AknS] [-D level] [-g groupname|#gid] [-p prompt] [-u user name|#uid]
usage: sudo -l[l] [-AknS] [-D level] [-g groupname|#gid] [-p prompt] [-U user name] [-u user name|#uid] [-g groupname|#gid] [command]
usage: sudo [-AbEHknPS] [-r role] [-t type] [-C fd] [-D level] [-g groupname|#gid] [-p prompt] [-u user name|#uid] [-g groupname|#gid] [VAR=value] [-i|-s] [<command>]
usage: sudo -e [-AknS] [-r role] [-t type] [-C fd] [-D level] [-g groupname|#gid] [-p prompt] [-u user name|#uid] file ...

_________________
.
"L'action est plus efficace que la polémique, mais plus rare." Ricardo (1936-20..)
http://rictux.fr


Haut
 Profil  
 
MessagePosté: 14 Juin 2012 16:43 
Hors ligne
Administrateur du forum
Avatar de l’utilisateur

Inscription: 15 Oct 2004 01:13
Messages: 21414
Localisation: Père.Igor (24)
Comment doit-on porter le LABEL à la place de '/dev/sdx' dans cette ligne en admettant que la correspondance soit : SAUV1 ; SAUV2 ; SAUV3 ; SAUV4
Code:
ddext=('' '/dev/sdb10' '/dev/sdb8' '/dev/sdb6' '/dev/sdb1')

'SAUV1'
ou
'LABEL=SAUV1'
:?:

EDIT : essais tentés = aucune des deux façons :-?
Comment écrire cette ligne, alors ?

_________________
.
"L'action est plus efficace que la polémique, mais plus rare." Ricardo (1936-20..)
http://rictux.fr


Haut
 Profil  
 
MessagePosté: 14 Juin 2012 17:00 
Hors ligne
Contributeur
Avatar de l’utilisateur

Inscription: 18 Juil 2007 17:57
Messages: 7794
Localisation: Grenoble
ricardo a écrit:
Je n'ai pas donné exactement les mêmes labels que ceux proposés mais il trouve bien deux partoches qui commencent par "sauv".
Par contre, le résultat n'est pas ce que tu disais, Michel
???
Code:
ricardo@sid-sda8:~$ sudo count=$(print -l /dev/disk/by-label/SAUV* | sed -n 's/.*SAUV\(.\).*/\1/p')
Warning: unknown mime-type for "-l" -- using "application/octet-stream"
Warning: unknown mime-type for "/dev/disk/by-label/SAUVESERV110" -- using "application/octet-stream"
Warning: unknown mime-type for "/dev/disk/by-label/SAUVESID18" -- using "application/octet-stream"
Error: no such file "-l"
Error: no read permission for file "/dev/disk/by-label/SAUVESERV110"
Error: no read permission for file "/dev/disk/by-label/SAUVESID18"
usage: sudo [-D level] -h | -K | -k | -V
usage: sudo -v [-AknS] [-D level] [-g groupname|#gid] [-p prompt] [-u user name|#uid]
usage: sudo -l[l] [-AknS] [-D level] [-g groupname|#gid] [-p prompt] [-U user name] [-u user name|#uid] [-g groupname|#gid] [command]
usage: sudo [-AbEHknPS] [-r role] [-t type] [-C fd] [-D level] [-g groupname|#gid] [-p prompt] [-u user name|#uid] [-g groupname|#gid] [VAR=value] [-i|-s] [<command>]
usage: sudo -e [-AknS] [-r role] [-t type] [-C fd] [-D level] [-g groupname|#gid] [-p prompt] [-u user name|#uid] file ...

Alors sudo prend un commandes (avec un programme) là tu fait juste une affectation qui n'a pas besoin des droits admin.
print -l est un truc de zsh (pas fait gaffe) tu peut le remplacer par ça en bash
Code:
printf "%s\n" * | ...

Ma commande sed était adapté à mon nommage. Si j'ai bien compris tu les a appelé SAUVSERVNM et SAUVSIDNM (avec N le numéro qui indique le disque et M la partition). Donc Je dirais qu'il faut le remplacer comme ça :
Code:
sed -n 's/.*SAUV[A-Z]*\(.\).*/\1/p'

_________________
Je suis Pitta, cartésien, irritable, irritant et névrosé (de plus je fais de l'entrisme pour zsh), si l'un de mes messages vous insupporte essayez d'y voir de l'ironie ou de ne pas en tenir compte. Bonne journée et gardez le sourire. :)


Haut
 Profil  
 
MessagePosté: 14 Juin 2012 17:01 
Hors ligne
Contributeur
Avatar de l’utilisateur

Inscription: 18 Juil 2007 17:57
Messages: 7794
Localisation: Grenoble
ricardo a écrit:
Comment doit-on porter le LABEL à la place de '/dev/sdx' dans cette ligne en admettant que la correspondance soit : SAUV1 ; SAUV2 ; SAUV3 ; SAUV4
Code:
ddext=('' '/dev/sdb10' '/dev/sdb8' '/dev/sdb6' '/dev/sdb1')

'SAUV1'
ou
'LABEL=SAUV1'
:?:

EDIT : essais tentés = aucune des deux façons :-?
Comment écrire cette ligne, alors ?

Je dirais le premier en remplaçant les mount par mount -L.

_________________
Je suis Pitta, cartésien, irritable, irritant et névrosé (de plus je fais de l'entrisme pour zsh), si l'un de mes messages vous insupporte essayez d'y voir de l'ironie ou de ne pas en tenir compte. Bonne journée et gardez le sourire. :)


Haut
 Profil  
 
MessagePosté: 14 Juin 2012 17:31 
Hors ligne
Administrateur du forum
Avatar de l’utilisateur

Inscription: 15 Oct 2004 01:13
Messages: 21414
Localisation: Père.Igor (24)
Une chose à la fois :
j'ai essayé toutes les possibilité et j'ai un retour à '>' :-?
Donne moi la ligne complète que tu penses être la bonne et qui doit remplacer ça :
Code:
count=$(print -l /dev/disk/by-label/SAUV* | sed -n 's/.*SAUV\(.\).*/\1/p')

en effet, mes labels sont un peu différents et, si j'ai bien compris, ils devraient impérativement commencer par 'SAUV' ? ce qui n'est pas le cas, seuls deux sont OK :
SAUVESID18
SAUVESERV110
S'il le faut, je modifierai.

_________________
.
"L'action est plus efficace que la polémique, mais plus rare." Ricardo (1936-20..)
http://rictux.fr


Haut
 Profil  
 
MessagePosté: 14 Juin 2012 17:51 
Hors ligne
Contributeur
Avatar de l’utilisateur

Inscription: 18 Juil 2007 17:57
Messages: 7794
Localisation: Grenoble
Après réflexion on peut simplifier cette ligne :
Code:
count=$(printf '%s\n' /dev/disk/by-label/* | sed -n 's/.*SAUV\(.\).*/\1/p')

Ça ne marchera pas tel quel il faut que je connaisse tout les label pour pouvoir définir l'expression rationnelle du sed.

Tes labels sont complètement différent ?

_________________
Je suis Pitta, cartésien, irritable, irritant et névrosé (de plus je fais de l'entrisme pour zsh), si l'un de mes messages vous insupporte essayez d'y voir de l'ironie ou de ne pas en tenir compte. Bonne journée et gardez le sourire. :)


Haut
 Profil  
 
MessagePosté: 14 Juin 2012 17:56 
Hors ligne
Administrateur du forum
Avatar de l’utilisateur

Inscription: 15 Oct 2004 01:13
Messages: 21414
Localisation: Père.Igor (24)
Écoute, pour cet essai, je vais les modifiers sur un des deux DDext et les quatre commenceront par SAUVE.

_________________
.
"L'action est plus efficace que la polémique, mais plus rare." Ricardo (1936-20..)
http://rictux.fr


Haut
 Profil  
 
MessagePosté: 14 Juin 2012 18:03 
Hors ligne
Administrateur du forum
Avatar de l’utilisateur

Inscription: 15 Oct 2004 01:13
Messages: 21414
Localisation: Père.Igor (24)
Modif faite mais retour à l'invite sans chiffre :-?

_________________
.
"L'action est plus efficace que la polémique, mais plus rare." Ricardo (1936-20..)
http://rictux.fr


Haut
 Profil  
 
MessagePosté: 14 Juin 2012 18:54 
Hors ligne
Contributeur
Avatar de l’utilisateur

Inscription: 18 Juil 2007 17:57
Messages: 7794
Localisation: Grenoble
Après « SAUV », tu as bien un chiffre ?

_________________
Je suis Pitta, cartésien, irritable, irritant et névrosé (de plus je fais de l'entrisme pour zsh), si l'un de mes messages vous insupporte essayez d'y voir de l'ironie ou de ne pas en tenir compte. Bonne journée et gardez le sourire. :)


Haut
 Profil  
 
MessagePosté: 14 Juin 2012 18:57 
Hors ligne
Contributeur
Avatar de l’utilisateur

Inscription: 18 Juil 2007 17:57
Messages: 7794
Localisation: Grenoble
Sinon tu peux toujours t'en sortir comme ça. Disons que l'un de tes disque a une partition qui s'appelle toto et l'autre tata :

Code:
if [ -f "/dev/disk/by-label/tata" ]
then
    ddext=('' '/dev/sdb10' '/dev/sdb8' '/dev/sdb6' '/dev/sdb1')
    systeme_fich=('' 'ext3' 'ext2' 'ext3' 'ext3')
elif [ -f "/dev/disk/by-label/toto" ]
then
    ddext=('' '/dev/sdb2' '/dev/sdb1' '/dev/sdb5' '/dev/sdb3')
    systeme_fich=('' 'ext4' 'ext4' 'ext4' 'ext4')
fi

_________________
Je suis Pitta, cartésien, irritable, irritant et névrosé (de plus je fais de l'entrisme pour zsh), si l'un de mes messages vous insupporte essayez d'y voir de l'ironie ou de ne pas en tenir compte. Bonne journée et gardez le sourire. :)


Haut
 Profil  
 
MessagePosté: 14 Juin 2012 19:48 
Hors ligne
Administrateur du forum
Avatar de l’utilisateur

Inscription: 15 Oct 2004 01:13
Messages: 21414
Localisation: Père.Igor (24)
Oui, c'est à cela que j'avais pensé.
Je tente ça ce soir.

_________________
.
"L'action est plus efficace que la polémique, mais plus rare." Ricardo (1936-20..)
http://rictux.fr


Haut
 Profil  
 
MessagePosté: 15 Juin 2012 00:28 
Hors ligne
Administrateur du forum
Avatar de l’utilisateur

Inscription: 15 Oct 2004 01:13
Messages: 21414
Localisation: Père.Igor (24)
MisterFreez a écrit:
Sinon tu peux toujours t'en sortir comme ça. Disons que l'un de tes disque a une partition qui s'appelle toto et l'autre tata :

Code:
if [ -f "/dev/disk/by-label/tata" ]
then
    ddext=('' '/dev/sdb10' '/dev/sdb8' '/dev/sdb6' '/dev/sdb1')
    systeme_fich=('' 'ext3' 'ext2' 'ext3' 'ext3')
elif [ -f "/dev/disk/by-label/toto" ]
then
    ddext=('' '/dev/sdb2' '/dev/sdb1' '/dev/sdb5' '/dev/sdb3')
    systeme_fich=('' 'ext4' 'ext4' 'ext4' 'ext4')
fi

Ben non :013
[ -f "/dev/disk/by-label/tata" ]
J'ai bien une (la 1ère) partition qui a pour label "tata", mais il ne reconnait pas la ligne 'ddext=...'
Alors que si je commente tout sauf cette ligne, ça fonctionne :roll:

EDIT :
Ça fonctionne avec '-e' à la place de '-f' :roll:
Faut croire qu'il ne le considère pas comme un fichier "normal", pas comme le Président :lol:

EDIT 2 :
Tout testé = impec :023
Fin de l'épisode :030

_________________
.
"L'action est plus efficace que la polémique, mais plus rare." Ricardo (1936-20..)
http://rictux.fr


Haut
 Profil  
 
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 17 messages ] 

Index du forum » Divers » Programmation


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Aller à:  
Flux RSS Flux RSS Liste des flux Liste des flux
Powered by phpBB® Forum Software © phpBB Group
Traduction par: phpBB-fr.com
SEO
[ Time : 0.078s | 14 Queries | GZIP : Off ]