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:23] – 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:// | ||
| - | ===== Utiliser UUID ===== | ||
| - | Si vous voulez être certain qu'au redémarrage de la machine cette config s' | + | ===== 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 ===== | ||
| + | |||
| + | Si vous voulez être certain qu'au redémarrage de la machine cette config s' | ||
| Tapez la commande | Tapez la commande | ||
| - | ls -l / | + | ls -l / |
| total 0 | total 0 | ||
| - | lrwxrwxrwx 1 root root 15 juin 20 07:17 62ba9ec9-47d9-4421-aaee-71dd6c0f3707 | + | |
| - | lrwxrwxrwx 1 root root 15 janv. 1 1970 C522-EA52 -> ../../mmcblk0p1 | + | lrwxrwxrwx 1 root root 10 janv. 1 1970 ata-ST3120022A_3JT2JDW8-part1 -> ../ |
| - | lrwxrwxrwx 1 root root 10 janv. 1 1970 d7131260-4e2d-413f-a415-9e2d07dd140e | + | lrwxrwxrwx 1 root root 13 janv. 1 1970 memstick-SD02G_0xa9baae34 -> ../ |
| + | lrwxrwxrwx 1 root root 15 janv. 1 1970 memstick-SD02G_0xa9baae34-part1 -> ../ | ||
| + | | ||
| + | lrwxrwxrwx 1 root root | ||
| + | lrwxrwxrwx 1 root root 10 janv. 1 1970 scsi-SST3120022A_J32TDJ8W-part1 -> ../../sda1 | ||
| Dans mon cas, je remplacerai | Dans mon cas, je remplacerai | ||
| - | /dev/sda1 | + | /dev/sda |
| 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 / | ||
| + | * 20min pour les disques de 2To **hdparm -S 120 / | ||
| + | |||
| + | ===== 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 -> ../ | ||
| + | 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> | ||
| + | # | ||
| + | |||
| + | ############################################################################## | ||
| + | # 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 | ||
| + | ./hd-standby & | ||
| + | |||
| + | __Amélioration prévu__ | ||
| + | * Lancer le script comme un service | ||
| + | * Pouvoir renseigner un disk via son id | ||