init: données initiales abonnel.fr
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# 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
|
||||
1. envoyer des commandes de maintenance - sauvegarde et mise à jour
|
||||
1. 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**.
|
||||
|
||||
## - Quelques exemples de commandes
|
||||
### - Éteindre le PC à distance
|
||||
```
|
||||
pc_rsync=dskluc001
|
||||
|
||||
ssh -t root@$pc_rsync 'systemctl poweroff'
|
||||
```
|
||||
|
||||
### - Limiter le débit de la carte réseau
|
||||
```
|
||||
pc_rsync=dskluc001
|
||||
|
||||
ssh root@$pc_rsync "wondershaper eth0 $limit_eth 1000000"
|
||||
```
|
||||
|
||||
### - Sauvegarder des documents
|
||||
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
|
||||
```
|
||||
Reference in New Issue
Block a user