<![CDATA[Forum Ubuntu-fr.org / Script Lecture Variable]]> http://forum.ubuntu-fr.org/viewtopic.php?id=1129681 Fri, 07 Dec 2012 06:25:03 +0000 FluxBB <![CDATA[Réponse à : Script Lecture Variable]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=11779021#p11779021 Il y a même plus simple, si les valeurs ne changent pas. C'est de conserver le fichier modifié dans un coin, et de le copier sur l'original lors du reboot.

]]>
Fri, 07 Dec 2012 06:25:03 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=11779021#p11779021
<![CDATA[Réponse à : Script Lecture Variable]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=11777981#p11777981 Bonjour,

Merci beaucoup pingouinux ta solution fonctionne parfaitement merci encore ! ^^

]]>
Fri, 07 Dec 2012 00:02:10 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=11777981#p11777981
<![CDATA[Réponse à : Script Lecture Variable]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=11777221#p11777221 Bonsoir,
Ce que tu veux faire, est-ce bien de remplacer les lignes 4 à 7 du second fichier (HD0=… à HD3=…) par la sortie de cette commande ?

ls -l /sys/block/sd{a..d}|awk -F"/" '{printf("HD%d=\"/sys/class/scsi_host/%s/device/%s/%s\"\n",NR-1,$8,$9,$10)}'

Ajouté :
Si c'est bien ça, voici comment modifier ton fichier :

head -3 fichier_initial >fichier_modifie

ls -l /sys/block/sd{a..d}|awk -F"/" '{printf("HD%d=\"/sys/class/scsi_host/%s/device/%s/%s\"\n",NR-1,$8,$9,$10)}' >>fichier_modifie

tail -n +8 fichier_initial >>fichier_modifie
]]>
Thu, 06 Dec 2012 22:06:50 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=11777221#p11777221
<![CDATA[Script Lecture Variable]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=11776881#p11776881 Bonjour,

J'ai un serveur NAS le hp EX470 qui par défaut est installé avec windows 2003. Comme je n’apprécie pas ce system d'exploitation j'ai installé ubuntu 12.04 qui fonctionne très bien. Mais il me reste un problème à réglé qui sont les leds en façade, elle me permettent de voir la santé des disques dur.

J'ai trouvé un script sur le net qui me permet de les faire fonctionné, mais je dois modifier manuellement quelques lignes, car à chaque sda,sdb,sdc,sdd change.

Tout d'abord pour avoir les bonnes informations je tappe la commande suivant :
ls -l /sys/block/sd*
Ca me permet de recupere cette information.

lrwxrwxrwx 1 root root 0 déc.   6  2012 /sys/block/sda -> ../devices/pci0000:00/0000:00:05.0/host0/target0:0:0/0:0:0:0/block/sda
lrwxrwxrwx 1 root root 0 déc.   6  2012 /sys/block/sdb -> ../devices/pci0000:00/0000:00:05.0/host0/target0:0:1/0:0:1:0/block/sdb
lrwxrwxrwx 1 root root 0 déc.   6  2012 /sys/block/sdc -> ../devices/pci0000:00/0000:00:05.0/host2/target2:0:0/2:0:0:0/block/sdc
lrwxrwxrwx 1 root root 0 déc.   6  2012 /sys/block/sdd -> ../devices/pci0000:00/0000:00:05.0/host2/target2:0:1/2:0:1:0/block/sdd
lrwxrwxrwx 1 root root 0 déc.   6  2012 /sys/block/sde -> ../devices/pci0000:00/0000:00:03.3/usb1/1-2/1-2:1.0/host4/target4:0:0/4:0:0:0/block/sde

Et voici le script ou je dois modifier les variable HD0 HD1 HD2 HD3
Dans le script  pour le disque dr HD0 je dois modifier le chiffre apres "host"  je dois faire de même pour "target" et remplacer le "3" suivie des 0:0:0:0 par  le chiffre "0" qui est le disque dur "sdA", et je dois faire ca pour HD0 et HD1, alors que pour le HD3 et HD4 je dois utiliser le chiffre 2.

#!/bin/bash

## Here are my 4 disk paths in sysfs
HD0="/sys/class/scsi_host/host3/device/target3:0:0/3:0:0:0"
HD1="/sys/class/scsi_host/host3/device/target3:0:1/3:0:1:0"
HD2="/sys/class/scsi_host/host4/device/target4:0:0/4:0:0:0"
HD3="/sys/class/scsi_host/host4/device/target4:0:1/4:0:1:0"


## First lets check if all drives are responding to hdparm
DRIVES_OK=1
for drive in $(ls /dev/disk/by-id/ata-*|grep -v part)
do
 /sbin/hdparm -i $drive >/dev/null 2>&1 || DRIVES_OK=0
done
if [ 0 -eq $DRIVES_OK ]
then
  # not all drives are talking with hdparm, rescan needed
  echo 0 0 0 > /sys/class/scsi_host/host0/scan
  echo 0 1 0 > /sys/class/scsi_host/host0/scan
  echo 0 0 0 > /sys/class/scsi_host/host1/scan
  echo 0 1 0 > /sys/class/scsi_host/host1/scan
fi

# set default color (faulty drive)
STATE0=red
STATE1=red
STATE2=red
STATE3=red

# check each drive using sysfs. Set LED to blue if disk is ok
if [ -f  "$HD0/state" ]
then
 cat "$HD0/state" | grep -q running && STATE0=blue
fi
if [ -f  "$HD1/state" ]
then
 cat "$HD1/state" | grep -q running && STATE1=blue
fi
if [ -f  "$HD2/state" ]
then
 cat "$HD2/state" | grep -q running && STATE2=blue
fi
if [ -f  "$HD3/state" ]
then
 cat "$HD3/state" | grep -q running && STATE3=blue
fi

# Execute the binary to update LED status <img src="http://blog.sokkar.org/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"> 
/root/bin/e47x_setleds $STATE0 $STATE1 $STATE2 $STATE3
exit 0

Et il possible de modifier le script pour que cela ce face automatiquements ou je suis condamné à le faire la main à chaque reboot.
J'espere avoir était le plus clair possible si vous avez besoin d'autres informations pas à demander.
Merci beaucoup pour toute aide!.

]]>
Thu, 06 Dec 2012 21:26:29 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=11776881#p11776881