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 18/10/2011, à 19:04

renaud07

créer script shell pour le parcage des têtes de disque dur

Bonjour,

Je voudrais écrire un script shell pour le parcage des têtes de disque dur, qui se lance à chaque fois que je branche ou débranche la prise secteur.

Pour le moment  je dois taper cette commande manuellement et j'aimerais que ça soit automatique, comme fait le logiciel quietHDD sous win :

sudo hdparm -B 255 /dev/sda

j'ai essayé de créer un script, il a l'air de fonctionner mais je ne sais pas si c'est pris en compte par le système et il me faudrait une commande pour vérifier.

#!/bin/sh
gksudo hdparm -B 255 /dev/sda

C'est bien gksudo qu'il faut utiliser pour lancer des programmes en root sans mot de passe ?

Par contre il me manque la partie pour dire quand le secteur est branché ou non.

Merci pour les réponses


Fixe : AMD FX 8350 4Ghz - Asus M5A97 R2.0 - nVidia GT610 - RAM 8 Go - triple boot Ubuntu 18.04 MATE 64 bits / Manjaro MATE 17 64 bits / Windows 7 64 bits
Portable : Dell vostro 3550 - Intel core i5 2410M 2.30Ghz  - HD Gaphics 3000 - RAM 4 Go - dualboot Xubuntu 18.04 64 bits / Windows 7 64 bits

Hors ligne

#2 Le 18/10/2011, à 22:44

TraGiKomiK

Re : créer script shell pour le parcage des têtes de disque dur

salut

C'est bien gksudo qu'il faut utiliser pour lancer des programmes en root sans mot de passe ?

Alors gksudo permet de lancer les applications graphiques en sudo wink Pour lancer un programme sans avoir a rentrer le mot de passe il faut passer par l'edition du fichier sudoers ->

sudo visudo

Pour le secteur: secteur de l'ordinateur portable (le plus logique car sda)? un morceau de code pour detecter si la batterie est en charge/decharge et faire executer une commande selon le cas:

    bat_acpi=`cat /sys/class/power_supply/BAT0/status`
    if [ "$bat_acpi" = "Discharging" ]; then
echo "discharging"
    elif [ "$bat_acpi" = "Charging" ]; then
echo "charging"
    fi

acpi doit etre installé wink

Dernière modification par TraGiKomiK (Le 18/10/2011, à 22:44)


Merci de mettre [RESOLU] dans le titre de votre post une fois le  probleme reglé!

GNU/Linux -> \o/

Hors ligne

#3 Le 19/10/2011, à 07:48

serged

Re : créer script shell pour le parcage des têtes de disque dur

Pour vérifier qu'il a été lancé :
- Tu peux ajouter un son à chaque lancement :

mplayer /home/toto/Music/coucou.mp3

- Plus sérieux, tu peux écrire dans un fichier log :

echo Tetes parquees a `date`>>/var/log/parcage.log

Sinon, je ne pense pas que les "sudo" soient nécessaire si le script est lancé par un événement.


LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)

Hors ligne

#4 Le 19/10/2011, à 13:16

renaud07

Re : créer script shell pour le parcage des têtes de disque dur

salut,

merci pour les réponses

@serged : mon but n'était pas de savoir s'il à été lancé, enfin si c'est logique (je veux dire par là que si je mets n'importe quoi dans le ficher, il a beau se lancer ile ne me dit pas si ce que j'ai marqué est correct) mais de vérifier que la désactivation de la gestion de l'énergie du disque est effective.

donc du coup ça donnerai ça ? :

#!/bin/sh
hdparm -B 255 /dev/sda
 bat_acpi=`cat /sys/class/power_supply/BAT0/status`
    if [ "$bat_acpi" = "Discharging" ]; then
echo "discharging"
    elif [ "$bat_acpi" = "Charging" ]; then
echo "charging"
    fi

Par contre si je veux qu'il fonctionne faut le rajouter au démarrage ?

Dernière modification par renaud07 (Le 19/10/2011, à 13:19)


Fixe : AMD FX 8350 4Ghz - Asus M5A97 R2.0 - nVidia GT610 - RAM 8 Go - triple boot Ubuntu 18.04 MATE 64 bits / Manjaro MATE 17 64 bits / Windows 7 64 bits
Portable : Dell vostro 3550 - Intel core i5 2410M 2.30Ghz  - HD Gaphics 3000 - RAM 4 Go - dualboot Xubuntu 18.04 64 bits / Windows 7 64 bits

Hors ligne

#5 Le 19/10/2011, à 21:55

TraGiKomiK

Re : créer script shell pour le parcage des têtes de disque dur

re,

donc du coup ça donnerai ça ? :

Le code etait a reinterpreter, il avait juste pour but de donner une possibilitée et la structure de celle ci, mais pas le contenu wink
En l'etat actuel le script ne fait que d'executer la premiere commande (hdparm) et indiqué si la batterie est en charge...

Si le but est bien de lancer la premiere commande lors du brancheent du secteur le script pourrait etre (a ameliorer, lignes en trop, que la commande se lance le nombre de fois voulue, ma syntaxe etant peut etre fausse d'ailleurs, etc):

#!/bin/bash
 bat_acpi=`cat /sys/class/power_supply/BAT0/status`
    if [ "$bat_acpi" = "Charging" ]; then
hdparm -B 255 /dev/sda
    elif [ "$bat_acpi" = "Discharging" ]; then
echo '' > /dev/null
    fi

Voila


Merci de mettre [RESOLU] dans le titre de votre post une fois le  probleme reglé!

GNU/Linux -> \o/

Hors ligne

#6 Le 20/10/2011, à 20:25

renaud07

Re : créer script shell pour le parcage des têtes de disque dur

Merci pour les précision, ce sont les premiers scripts que je crée donc je sais pas trop pour les commandes (je vais bien fini par le savoir lol).
Pour ce qui est du fonctionnement, en fait je voudrais que la script se lance au démarrage et qu'il surveille ce qui ce passe et si besoin exécuter la commande pour désactiver le parcage des têtes, en fait c'est plus utile que qd je débranche le secteur car le APM_level se met à 128 ce qui à tendance a faire parquer plus souvent les têtes, alors que sur secteur c'est 254 donc quasi inactif. D'ailleurs je me souviens que sur mon premier portable (dell inspiron 1525) avec hardy dessus j’entendais les têtes se parquer toutes les 5-6 sec !

Je suis retourné sur la page de la doc ou ils en parlent et je me rappelais plus mais ils proposent un script est-ce qu'il peut fonctionner ?

doc.ubuntu-fr.org a écrit :

Créez le fichier 99-hdd-spin-fix.sh ( ne pas modifier le nom de fichier ) et mettez-y :

Pensez à modifier le chiffre en fonction de la chaleur que pourrait dégager votre disque dur. Le chemin du disque dur peut-être soit, /dev/hda soit, /dev/sda. Si l'un des deux ne fonctionne pas, essayez l'autre.

#!/bin/sh
hdparm -B 254 /dev/hda

Enfin, copiez le fichier créé dans les 3 emplacements suivants:

sudo install 99-hdd-spin-fix.sh /etc/acpi/start.d/
sudo install 99-hdd-spin-fix.sh /etc/acpi/suspend.d/
sudo install 99-hdd-spin-fix.sh /etc/acpi/resume.d/

Dernière modification par renaud07 (Le 20/10/2011, à 20:27)


Fixe : AMD FX 8350 4Ghz - Asus M5A97 R2.0 - nVidia GT610 - RAM 8 Go - triple boot Ubuntu 18.04 MATE 64 bits / Manjaro MATE 17 64 bits / Windows 7 64 bits
Portable : Dell vostro 3550 - Intel core i5 2410M 2.30Ghz  - HD Gaphics 3000 - RAM 4 Go - dualboot Xubuntu 18.04 64 bits / Windows 7 64 bits

Hors ligne