informatique:linux:cfp:controle-des-ordinateurs-distance

Contrôle des ordinateurs à distance

Scripts de Contrôle des ordinateurs à distance À la maison, chaque enfant à au moins un ordinateur Linux (ordinateur fixe et Rapsberry Pi). Le contrôle à distance s'est posé pour deux raisons : comment moduler à volonté le débit de leur carte réseau et comment arrêter leur ordinateur en dehors des horaires autorisés ?

Évidemment que j'ai un accès administrateur sur leur machine et qu'il met possible de m'y connecter avec ssh en root. Mais me connecter sur chaque machine enfin d'envoyer les commandes nécessaires systématiquement, cela devient rébarbatif et lassant. Donc, j'ai développer un script qui me permet de :

  1. se connecter à la machine distante
  2. envoyer des commandes de maintenance - sauvegarde et mise à jour
  3. envoyer des commandes de contrôle - restriction horaire et modulation du débit réseau

Enfin ça, c'est l'idéal. Pour l'instant c'est plutôt une ébauche mais qui est riche d'enseignement. Pour une connexion à distance réussie, il faut déjà avoir réalisé une connexion ssh par clé sur les machines désirées. Ensuite, toutes les commandes envoyées au PC s’exécutent par ssh.

pc_rsync=dskluc001

ssh -t root@$pc_rsync 'systemctl poweroff'
pc_rsync=dskluc001

ssh root@$pc_rsync "wondershaper eth0 $limit_eth 1000000"

Le sauvegarde est une sauvegarde incrémentielle : le programme copie toutes les nouveautés et modifications de la source et efface tous les dossiers et fichiers plus présent sur la source.

Pendant le processus de sauvegarde, un fichier .pid est créé afin de ne pas avoir plusieurs sauvegarde en cours, de manière simultanée. Le dossier /media/disk_21/users/ correspond à l'espace de stockage des sauvegarde sur le NAS.

La commande $$ permet d'envoyer le PID actuel du process.

user_rsync=luc
pc_rsync=dskluc001

if [ ! -f /root/rsync_$pc_rsync_$user_rsync.pid ]; then
   echo $$>>/root/rsync_$pc_rsync_$user_rsync.pid
   rsync --delete -azvPe ssh root@$pc_rsync:/home/$user_rsync/ /media/disk_21/users/$user_rsync/sauvegarde/
   rm /root/rsync_$pc_rsync_$user_rsync.pid
fi
  • informatique/linux/cfp/controle-des-ordinateurs-distance.txt
  • Dernière modification : 2023/01/09 23:34
  • de Cédric ABONNEL