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 |