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 28/10/2008, à 12:26

frco9

Ecrire un script qui verifi, la presence d'un disque.

Bonjour,
Je suis debutant en ubuntu, mais j'ai deja besoin d'un script shell, j'ai commencer a regarder comment faire ce que je veut faire mais j'ai des doutes :
alors enfaite je voudrais faire un script qui au demarrage de ubuntu va :

       - verifier que le disque dur sdb est bien en route, je m'explique ce disque est le disque systeme ou se trouve windows server or il deconne et ne demarre pas forcement (faute de moyens je ne peu le changer)
       
       - ensuite si ce disque est bien en route, le script copie un fichier dans un dossier, sinon il affiche un message comme quoi le disque en question ne marche pas

       -puis il fais reboot le server


Ps: je precise que c'est un server domestique donc je n'est pas besoin d'un faibilité parfaite, et je ne passe malheuresement pas completement sous ubuntu server car je ne maitrise pas encore, ce que home server me permet de faire en un clique ^^.

Donc ne maitrisant pas très bien le shell, je pense qu'il faut que j'utilise la commande fdisk, peut etre ajouter une commande de configuration pour qu'il ne cherche que le disque sdb ? Cependant je ne vois pas trop comment commencer et meme apres pour faire les conditions :
       - disque present > cp fichierX fixhierY
       - disque absent > echo disque sdb pas en route ......

A si enfaite j'ai le debut big_smile :

# !/bin/bash
# Script test disque sdb

Merci

#3 Le 28/10/2008, à 12:45

philou8237

Re : Ecrire un script qui verifi, la presence d'un disque.

Lache fdisk, tu risque de faire une bourde. Vérifie simplement, comme tu le dis, si sdb existe :

#!/bin/bash

# test ([ ... ] ) si le fichier /dev/sdb existe (-e)
if [ -e /dev/sdb ]; then
  # disque present
  # FIXME
else
  # disque absent
  shutdown -r now
fi

plus d'info :
man test
man shutdown

Hors ligne

#4 Le 28/10/2008, à 12:54

frco9

Re : Ecrire un script qui verifi, la presence d'un disque.

Merci pour vos reponses expresses ^^
Sinon frafa merci pour la correction ça commençait bien.
Philou, j'ai une question a quoi correspond

 # FIXME

, sinon merci beaucoup, je vais etudier en detail et je viendrais si j'ai encore des problème !

#5 Le 28/10/2008, à 13:00

xelator

Re : Ecrire un script qui verifi, la presence d'un disque.

en fait le #
signifie que c'est un commentaire :
#!/bin/bash

# test ([ ... ] ) si le fichier /dev/sdb existe (-e)
if [ -e /dev/sdb ]; then
  # disque present
  mkdir /media/win
  mount /dev/sdb1 /media/win -o umask=000 # l'utilisateur a sans doute pas le droit, à voir avec fstab
  # disque monté
  cp le/fichier /media/win/le/dossier
  umount /dev/sdb1
  shutdown -r now
else
  # disque absent
  echo disque absent # par contre ça affiche ça que dans le terminal s'il y en a un...
  shutdown -r now #vérifier qu'un utilisateur à le droit
fi

Hors ligne

#6 Le 28/10/2008, à 13:07

frco9

Re : Ecrire un script qui verifi, la presence d'un disque.

a ok xelator pour le # roll mais j'ai encore deux petites questions big_smile :

-  pourquoi tu monte le disque sdb1 (on est d'accord c'est le disque dont je veux verifier la presence ?), j'ai peut etre mal expliquer,ou j'ai mal compris ^^, le fichier que je vais coller sera dans un dossier de ubuntu en l'occurence boot/grub enfaite je copy le fichier menu.list avec comme disque de demarrage par defaut sdb. Donc j'ai pas besoin de monter le disque ?

#7 Le 28/10/2008, à 13:38

xelator

Re : Ecrire un script qui verifi, la presence d'un disque.

frco9 a écrit :

a ok xelator pour le # roll mais j'ai encore deux petites questions big_smile :

-  pourquoi tu monte le disque sdb1 (on est d'accord c'est le disque dont je veux verifier la presence ?), j'ai peut etre mal expliquer,ou j'ai mal compris ^^, le fichier que je vais coller sera dans un dossier de ubuntu en l'occurence boot/grub enfaite je copy le fichier menu.list avec comme disque de demarrage par defaut sdb. Donc j'ai pas besoin de monter le disque ?

j'avais mal compris wink inutile donc

Hors ligne

#8 Le 28/10/2008, à 14:05

frco9

Re : Ecrire un script qui verifi, la presence d'un disque.

MERCI
ça marche parfaitement, donc pour ceux que ça interesserait je met le script final :

#!/bin/bash

# test ([ ... ] ) si le fichier /dev/sdb existe (-e)
if [ -e /dev/sdb ]; then
  # disque present
  cp le/fichier /media/win/le/dossier
  shutdown -r now
else
  # disque absent
  echo disque absent # par contre ça affiche ça que dans le terminal s'il y en a un...
  shutdown -r now #vérifier qu'un utilisateur à le droit
fi

PS: j'execute le script en root donc pas de pb pour les droit
encore merci a tous

#9 Le 28/10/2008, à 16:01

MrWaloo

Re : Ecrire un script qui verifi, la presence d'un disque.

pour nourrir ma curiosité, tu peux me dire pour quelle raison tu copies le fichier menu.list de grub ?


"De tous ceux qui n'ont rien à dire, les plus agréables sont ceux qui se taisent !!" (Desproges)
UNIX is an operating system, OS/2 is half an operating system, Windows is a shell, MS-DOS is a boot sector virus.

Hors ligne