1 line
2.8 KiB
JSON
1 line
2.8 KiB
JSON
{"uuid":"9fe6633a-57b0-4998-8eb9-068729869330","slug":"controle-des-ordinateurs-distance","title":"Contrôle des ordinateurs à distance","author":"cedric@abonnel.fr","published":true,"published_at":"2023-01-09 22:34:34","created_at":"2023-01-09 22:34:34","updated_at":"2023-01-09 22:34:34","revisions":[],"cover":"","files_meta":[],"external_links":[],"seo_title":"","seo_description":"","og_image":"","category":"Informatique","content":"# Contrôle des ordinateurs à distance\n\n\nÀ 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 ?\n\nÉ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 :\n1. se connecter à la machine distante\n1. envoyer des commandes de maintenance - sauvegarde et mise à jour\n1. envoyer des commandes de contrôle - restriction horaire et modulation du débit réseau\n\nEnfin ç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**.\n\n## - Quelques exemples de commandes\n### - Éteindre le PC à distance\n```\npc_rsync=dskluc001\n\nssh -t root@$pc_rsync 'systemctl poweroff'\n```\n\n### - Limiter le débit de la carte réseau\n```\npc_rsync=dskluc001\n\nssh root@$pc_rsync \"wondershaper eth0 $limit_eth 1000000\"\n```\n\n### - Sauvegarder des documents\nLe 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.\n\nPendant 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.\n\nLa commande `$$` permet d'envoyer le PID actuel du process.\n\n```\nuser_rsync=luc\npc_rsync=dskluc001\n\nif [ ! -f /root/rsync_$pc_rsync_$user_rsync.pid ]; then\n echo $$>>/root/rsync_$pc_rsync_$user_rsync.pid\n rsync --delete -azvPe ssh root@$pc_rsync:/home/$user_rsync/ /media/disk_21/users/$user_rsync/sauvegarde/\n rm /root/rsync_$pc_rsync_$user_rsync.pid\nfi\n```","featured":false,"tags":[]} |