Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
raspberry:dd_externe [30-06-2013 09:25] – [Utiliser UUID] edmc73 | raspberry:dd_externe [01-10-2017 21:46] (Version actuelle) – edmc73 | ||
---|---|---|---|
Ligne 40: | Ligne 40: | ||
Pour que tous ces paramètres soient actifs au redémarrage de la machine, il faut écrire dans le fichier de config **/ | Pour que tous ces paramètres soient actifs au redémarrage de la machine, il faut écrire dans le fichier de config **/ | ||
- | Plus d'info sur http:// | + | >Plus d'info sur http:// |
+ | >Man en français http:// | ||
+ | |||
+ | ===== Configuration ===== | ||
+ | |||
+ | Ouvrez le fichier de config et rajoutez les lignes suivantes pour automatiser cette tâche au démarrage de la machine | ||
+ | vi / | ||
+ | | ||
+ | /dev/sda { | ||
+ | spindown_time = 120 | ||
+ | } | ||
+ | |||
+ | service hdparm restart | ||
+ | | ||
===== Utiliser l'ID du disque dur ===== | ===== Utiliser l'ID du disque dur ===== | ||
- | Si vous voulez être certain qu'au redémarrage de la machine cette config s' | + | Si vous voulez être certain qu'au redémarrage de la machine cette config s' |
Tapez la commande | Tapez la commande | ||
Ligne 61: | Ligne 74: | ||
par | par | ||
/ | / | ||
+ | | ||
+ | ===== Particularité ===== | ||
+ | |||
+ | J'ai pu remarquer que sur certain disque, la commande de mise en veille fonctionne mais la commande de timeout ne fonctionne pas. Il y a aurai apparemment un timeout minimum sur certain disque. | ||
+ | |||
+ | * 10min pour les disques de 1To **hdparm -S 60 /dev/...** | ||
+ | * 20min pour les disques de 2To **hdparm -S 120 /dev/...** | ||
+ | |||
+ | ===== Si ça ne marche pas ===== | ||
+ | |||
+ | Dans mon cas, le disque se met bien en veille lorsque je lance la commande de mise en veille mais rien ne se passe avec la commande de timeout. | ||
+ | |||
+ | J'ai donc créé un petit script qui détecte l' | ||
+ | |||
+ | Repérez votre le nom de votre disque | ||
+ | < | ||
+ | [root]# blkid | ||
+ | / | ||
+ | / | ||
+ | /dev/sda1: UUID=" | ||
+ | [root]# ls -l / | ||
+ | total 0 | ||
+ | lrwxrwxrwx 1 root root 9 oct. 1 17:05 336ec491-71d3-4a7b-8a1c-9f3ec44a9ef7 -> ../../sda | ||
+ | lrwxrwxrwx 1 root root 10 oct. 1 17:05 489f7c23-38e0-442f-abaa-10c569e48b0d -> ../../sda1 | ||
+ | lrwxrwxrwx 1 root root 15 oct. 1 17:04 62ba9ec9-47d9-4421-aaee-71dd6c0f3707 -> ../ | ||
+ | lrwxrwxrwx 1 root root 15 janv. 1 1970 C522-EA52 -> ../ | ||
+ | |||
+ | [root@edmchome: | ||
+ | /dev/sda1 | ||
+ | |||
+ | </ | ||
+ | |||
+ | Maintenant que vous avez trouvé votre uuid, vous pouvez renseigner le script suivant. | ||
+ | |||
+ | <file bash sd-standby> | ||
+ | #!/bin/bash | ||
+ | |||
+ | ############################################################################## | ||
+ | # sd-standby | ||
+ | # permet de mettre en standby un disque dur après une durée défini en seconde | ||
+ | # fait par edmc73 le 23-09-2014 | ||
+ | ############################################################################## | ||
+ | |||
+ | # définissez le device (hda, hdb, sda, sda1, sdb...) | ||
+ | DEV=`readlink -f / | ||
+ | |||
+ | # définissez le temps en seconde après lequel le disque doit se mettre en standby | ||
+ | TIMEOUT=600 | ||
+ | |||
+ | ############################################################################## | ||
+ | # Main | ||
+ | STATS=`cat / | ||
+ | |||
+ | # Boucle | ||
+ | while true; do | ||
+ | sleep $TIMEOUT | ||
+ | NEWSTATS=`cat / | ||
+ | |||
+ | if [[ $STATS == $NEWSTATS ]] | ||
+ | then | ||
+ | #Aucune activité | ||
+ | hdparm -y /dev/$DEV | ||
+ | else | ||
+ | #Activité sur le disque | ||
+ | STATS=$NEWSTATS | ||
+ | fi | ||
+ | done | ||
+ | </ | ||
+ | |||
+ | Copiez ce fichier, ajoutez les permissions d' | ||
+ | chmod +x hd-standby | ||
+ | |||
+ | Pensez à ajuster les 2 premières variables | ||
+ | >DEV : le disque à traiter sda, sdb, hda, hdb etc.. | ||
+ | >TIMEOUT : le temps en seconde avant déclenchement de la mise en veille | ||
+ | |||
+ | Lancez le script en tache de fond | ||
+ | ./ | ||
+ | | ||
+ | __Amélioration prévu__ | ||
+ | * Lancer le script comme un service | ||
+ | * Pouvoir renseigner un disk via son id |