J'ai un Raspberry Pi connecté au port USB d'un TP-Link Archer C7 pour son alimentation.
Ce Raspberry me sert de media center et j'aurai bien aimé avoir un interrupteur pour l'éteindre.
Heureusement, SSH et Linux sont là.
Depuis l'Archer C7, grâce à OpenWrt, on peut contrôler l'alimentation du port USB en changeant la valeur des entrées /sys/class/gpio/gpio21/value et /sys/class/gpio/gpio22/value (chacune correspondant à un des ports USB du routeur Wi-Fi).
Ainsi, pour allumer le Raspeberry Pi, il suffit de faire :
ssh root@routeurwifi echo 1 > /sys/class/gpio/gpio22/value
Pour l'éteindre proprement, il faut d'abord faire un shutdown :
ssh root@media shutdown -h now
puis pour l'éteindre électriquement :
ssh root@routeurwifi echo 0 > /sys/class/gpio/gpio22/value
Depuis une tablette sous Android, on peut automatiser ça grâce à Mercury SSH qui permet d'envoyer des commandes pré-définies par SSH.
Dernièrement, j'ai dû récupérer l'ensemble des fichiers .ssh/authorized_keys d'environ 300 utilisateurs, sans recopier le reste de leurs données.
Plutôt que d'écrire un script, on peut réaliser ça facilement grâce à rsync :
rsync -a --include .ssh --include authorized_keys --exclude '*/*' /home /tmp/newhome