Étape 5: Notre logique de script
Alors que vous pourriez écrire ce script dans n’importe quel nombre de façons, le plus simple est simplement d’utiliser bash. J’utilise le drapeau -s pour tester (bien que pour le look de celui-ci, j’utilise [] plutôt que de tester— ils sont la même chose et acceptent les mêmes indicateurs) parce qu’il vérifie non seulement si un fichier existe déjà mais aussi si elle n’est pas vide. La raison est que cela prend moins de lignes de code pour effectuer les mêmes résultats en utilisant l’opérateur > pour la redirection de sortie simple, rien écrit avec le fichier .players (et ce qui rend vide) si l’invocation de lsof ne produit aucune sortie, plutôt que d’avoir à invoquer rm pour l’enlever complètement.
Après avoir écrit le script, n’oubliez pas de rendre exécutable en changeant ses autorisations d’accès avec la commande chmod a + x (si ce n’est pas exécutable par le groupe de tous votre crontab peut-être pas en mesure d’automatiser la tâche). Enfin, pop ce chiot dans votre crontab en lieu et place de notre notifiant initial, et la prochaine fois que l’un de vos amis se connecte à votre serveur, vous obtiendrez un message vous dire à ce sujet.
Un simple notifiant de serveur Minecraft à l’aide de lsof et ssmtp pour vérifier les conections joueur actif et envoyer un e-mail si les joueurs sont connectés au serveur depuis la dernière vérification.
12345678910 | #! / bin/bash email = "message d’utilisateur ="Quelqu'un est connecté au serveur Minecraft"si [-s .players]; puis lsof - PICT : 25565 - sTCP : établi > .players d’autre lsof - PICT : 25565 - sTCP : établi > .players & & echo"$message"| fi /usr/sbin/ssmtp "$email" |