Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| homeserver:olinolinux [2021/09/05 16:32] – [Installer **pflogsumm** , un analyseur de mails] cyrille | homeserver:olinolinux [2025/08/31 07:21] (Version actuelle) – [Script de test service] cyrille | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== Installer un serveur Olimex A20, LIME 2 ====== | + | ====== Installer un serveur Olimex A20 LIME 2 / ORANGE PI 3B ====== |
| + | |||
| + | <WRAP center round important 60%> | ||
| + | Page plus maintenue | ||
| + | Serveur remplacé par un ORANGE PI 3B | ||
| + | [[homeserver: | ||
| + | </ | ||
| {{: | {{: | ||
| Ligne 425: | Ligne 432: | ||
| * suivre les conseils de mail-tester avec le hostname (cette dernière solution ne semble pas porter ses fruits...) | * suivre les conseils de mail-tester avec le hostname (cette dernière solution ne semble pas porter ses fruits...) | ||
| + | |||
| + | ==== rDNS Free AJOUT DU 10 OCTOBRE 2023 ==== | ||
| + | Free a corrigé le bug du reverseDNS sur l'IPv4 | ||
| + | |||
| + | ça fonctionne dès lors | ||
| + | |||
| + | <code | download> | ||
| + | nslookup 82.65.208.68 | ||
| + | 68.208.65.82.in-addr.arpa name = crust.ovh. | ||
| + | |||
| + | Authoritative answers can be found from: | ||
| + | </ | ||
| ==== NO_FM_NAME_IP_HOSTN ==== | ==== NO_FM_NAME_IP_HOSTN ==== | ||
| Alors là, je comprends très peu la situation. Car pour un autre nom de domaine réglé exactement pareil, pas de soucis. | Alors là, je comprends très peu la situation. Car pour un autre nom de domaine réglé exactement pareil, pas de soucis. | ||
| Ligne 447: | Ligne 466: | ||
| {{: | {{: | ||
| + | |||
| + | Et 10/10 depuis que le reverseDNS en ipv4 est fonctionnel ! | ||
| ===== Divers ===== | ===== Divers ===== | ||
| Ligne 507: | Ligne 528: | ||
| ==== Outils yunohost essentiels (CLI) ==== | ==== Outils yunohost essentiels (CLI) ==== | ||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | Tableau ci dessous obsolète. Utiliser ce lien https:// | ||
| + | </ | ||
| + | |||
| |sudo yunohost firewall list |Liste les ports ouverts| | |sudo yunohost firewall list |Liste les ports ouverts| | ||
| Ligne 513: | Ligne 539: | ||
| |sudo yunohost domain list| Liste les domaines gérés par l' | |sudo yunohost domain list| Liste les domaines gérés par l' | ||
| |sudo yunohost tools update| Mise à jour de la liste des paquets| | |sudo yunohost tools update| Mise à jour de la liste des paquets| | ||
| - | |sudo yunohost tools upgrade| Mise à jour du système| | + | |sudo yunohost tools upgrade |
| + | |sudo yunohost tools upgrade apps | Mise à jour des applications | | ||
| + | |sudo yunohost tools app upgrade NAME_APP | Mise à jour de l' | ||
| |sudo yunohost diagnosis run| Lancer un diagnostique système| | |sudo yunohost diagnosis run| Lancer un diagnostique système| | ||
| |sudo yunohost diagnosis run --force| Force la réitération d'un diagnostic système| | |sudo yunohost diagnosis run --force| Force la réitération d'un diagnostic système| | ||
| Ligne 523: | Ligne 551: | ||
| |sudo yunohost backup create --system data_mail |Crée une sauvegarde des mails| | |sudo yunohost backup create --system data_mail |Crée une sauvegarde des mails| | ||
| |sudo yunohost backup list|Liste les sauvegardes effectuées| | |sudo yunohost backup list|Liste les sauvegardes effectuées| | ||
| + | |yunohost tools basic-space-cleanup|Nettoyage basic du sytème (cache apt, logs, etc.)| | ||
| Ligne 748: | Ligne 777: | ||
| <code | download> | <code | download> | ||
| - | sudo nano redirect_to_admin.conf | + | sudo nano / |
| </ | </ | ||
| Ligne 769: | Ligne 798: | ||
| + | ==== Envoyer un mail à tous les utilisateurs du système ==== | ||
| + | |||
| + | Voici un script (minimal) qui fonctionne | ||
| + | |||
| + | Créer un fichier **mail-all-users.sh** | ||
| + | |||
| + | <code | download> | ||
| + | #!/bin/bash | ||
| + | |||
| + | # Test validité des arguments | ||
| + | if [[ $# -ne 2 ]]; then | ||
| + | echo " | ||
| + | echo "2 arguments nécessaires : le sujet et le nom du fichier du corps du mail" | ||
| + | exit | ||
| + | else | ||
| + | echo " | ||
| + | |||
| + | # Test que le second argument soit un fichier | ||
| + | if [[ -f $2 ]]; then | ||
| + | echo " | ||
| + | else | ||
| + | echo "Le fichier indiqué n'est pas valide" | ||
| + | exit | ||
| + | fi | ||
| + | fi | ||
| + | |||
| + | corps=$(cat $2) | ||
| + | users=$(ldapsearch | ||
| + | |||
| + | |||
| + | for line in $users | ||
| + | do | ||
| + | | ||
| + | done | ||
| + | </ | ||
| + | |||
| + | Il suppose que le corps du mail soit saisi dans un fichier au même niveau d’arborescence que le script | ||
| + | |||
| + | Lancement du script | ||
| + | |||
| + | <code | download> | ||
| + | mail-all-users.sh parametre1 parametre2 | ||
| + | </ | ||
| + | |||
| + | Avec **paramètre 1** le __sujet du mail__ et **paramètre 2** __le nom du fichier contenant le corps du mail | ||
| + | __ | ||
| + | Exemple pour un fichier corps se nommant test_corps.txt au même niveau d’arborescence que le script, ça donnerait | ||
| + | |||
| + | <code | download> | ||
| + | mail-all-users.sh "sujet du jour" test_corps.txt | ||
| + | </ | ||
| + | |||
| + | ==== Script de reboot si perte réseau ==== | ||
| + | |||
| + | Voici un script (minimal) qui fonctionne | ||
| + | |||
| + | Créer un fichier **server-down.sh** | ||
| + | |||
| + | <code | download> | ||
| + | #!/bin/bash | ||
| + | |||
| + | if ping -c1 www.lemonde.fr | ||
| + | echo " | ||
| + | exit 1 | ||
| + | else | ||
| + | echo " | ||
| + | echo " | ||
| + | echo " | ||
| + | / | ||
| + | fi | ||
| + | |||
| + | </ | ||
| + | |||
| + | Le positionner sur un cron (ici toutes les 5 minutes) | ||
| + | |||
| + | <code | download> | ||
| + | # Server Down | ||
| + | */5 * * * * / | ||
| + | </ | ||
| + | |||
| + | Ebentuellement positonner un second script sur un cron qui envoie un mail en cas de reboot du serveur | ||
| + | |||
| + | Le script **server-down-mail.sh** | ||
| + | |||
| + | <code | download> | ||
| + | # Rapport de reboot | ||
| + | @reboot sleep 120 && / | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Script de test service ==== | ||
| + | |||
| + | Pour navidrome à la base ;), mais adaptable aux autres services | ||
| + | <code | download> | ||
| + | / | ||
| + | </ | ||
| + | Le script | ||
| + | <code | download># | ||
| + | SERVICE=$1 | ||
| + | DATE=$(date) | ||
| + | CORPS=" | ||
| + | SUJET_UP=" | ||
| + | SUJET_DOWN=" | ||
| + | SUJET_UP_2=" | ||
| + | SUJET_DOWN_2=" | ||
| + | DESTINATAIRE=" | ||
| + | ADMIN=" | ||
| + | |||
| + | |||
| + | |||
| + | if (/ | ||
| + | # Un processus d' | ||
| + | echo " | ||
| + | exit 1 | ||
| + | |||
| + | else | ||
| + | # Sinon, on teste | ||
| + | |||
| + | if (systemctl is-active --quiet " | ||
| + | exit 1 | ||
| + | # Le serice est actif, on passe | ||
| + | # echo -e $SUJET_UP | ||
| + | # echo " | ||
| + | # mail DEBUG | ||
| + | # echo " | ||
| + | |||
| + | else | ||
| + | # Le service est planté, on inscrit dans le log | ||
| + | # echo -e $SUJET_DOWN | ||
| + | # echo " | ||
| + | # On envoie mail alerte service down | ||
| + | echo " | ||
| + | # On tente de redémarrer le service | ||
| + | / | ||
| + | # On attend 10 secondes avant nouvel essai | ||
| + | sleep 10 | ||
| + | |||
| + | # On resteste voir si le service a bien été redémarré, | ||
| + | if (systemctl is-active --quiet " | ||
| + | # Le service a bien redémarré, | ||
| + | # echo -e $SUJET_UP_2 | ||
| + | echo " | ||
| + | # mail DEBUG | ||
| + | echo " | ||
| + | else | ||
| + | # Le service est toujours planté, on inscrit le reboot du serveur dans les logs | ||
| + | # echo -e $SUJET_DOWN_2 | ||
| + | echo " | ||
| + | |||
| + | # mail alerte du reboot du serveur | ||
| + | echo " | ||
| + | |||
| + | # On attend 5 secondes et on redémarre le serveur | ||
| + | sleep 5 | ||
| + | / | ||
| + | fi | ||
| + | fi | ||
| + | fi | ||
| + | </ | ||
| + | |||
| + | A positionner sur cron root, toutes les 10 minutes | ||
| + | <code | download> | ||
| + | # # Si navidrome plante | ||
| + | */10 * * * * / | ||
| + | </ | ||