Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#26 Le 19/03/2018, à 11:48

MicP

Re : Script bash : générer un dhcpd.conf a partir d'un CSV

Vérifie bien ce que tu as entré dans ton script, surtout la ligne N°2 de ton script,
ou donne nous une copie de ton script pour qu'on puisse vérifier.

Dernière modification par MicP (Le 19/03/2018, à 12:19)

Hors ligne

#27 Le 19/03/2018, à 12:25

pingouinux

Re : Script bash : générer un dhcpd.conf a partir d'un CSV

Le script de MicP doit être exécuté en bash et non en sh.

Hors ligne

#28 Le 19/03/2018, à 12:27

MicP

Re : Script bash : générer un dhcpd.conf a partir d'un CSV

Merci pingouinux smile
J'étais en train de me creuser la tête pour essayer de comprendre ce qui pouvait bien se passer… hmm

Dernière modification par MicP (Le 19/03/2018, à 13:55)

Hors ligne

#29 Le 19/03/2018, à 12:48

GuillaumeBTS

Re : Script bash : générer un dhcpd.conf a partir d'un CSV

Merci ! En effet en lancant en bash il n'y a pas d'erreur mais je suis pas sur que la condition soit bonne, je m'embrouille un peu dans tout ça je vais vérifier et je vous tiens au courant

Dernière modification par GuillaumeBTS (Le 19/03/2018, à 12:48)

Hors ligne

#30 Le 19/03/2018, à 13:31

GuillaumeBTS

Re : Script bash : générer un dhcpd.conf a partir d'un CSV

Après réflexion j'ai trouvé mon problème, dans mon contexte ou je lance un script toutes les heures pour vérifier si mon fichier CSV est récent de la dernière heure il faut mettre une condition supérieur :

if [[ "$(stat -c %Y 1934995.csv)" > "$(date +%s -d 'today - 1 hour')" ]]

Du coup il faudrait que je combine mes deux script pour insérer les vrais actions en rajoutant dans le cas ou mon fichier s'écrit à la place de l'ancien la commande systemctl restart isc-dhcp-server.service :

#!/bin/bash

echo "authoritative;

failover peer "\"test"\" {
        primary;
        address 192.168.1.x;
        port xxx;
        peer address 192.168.1.x;
        peer port xxx;
        max-response-delay 60;
        max-unacked-updates 10;
        mclt 3600;
        split 255;
        load balance max seconds 3;
}
" > /chemin

echo "subnet 192.168.1.x netmask 255.255.255.0 {
        default-lease-time 900;
        max-lease-time 1200;
        option routers 192.168.1.x;
        option domain-name-servers 192.168.1.x;
        pool {
        failover peer "\"test"\";
                range xxxxx;
                deny unknown-clients;" >> /chemin

while IFS=";" read Nom MAC IP
do
echo "
                host $Nom {
                        hardware ethernet $MAC;
                        fixed-address $IP
                }"
done < fichier.csv >> /chemin

echo "  }
}
" >> /chemin

Après ça tout devrait être bon. Je vous remercie déjà pour votre aide car j'ai vraiment des compétences réseaux mais très peu en script mais grâce à votre aide j'ai compris pas mal de chose

Dernière modification par GuillaumeBTS (Le 19/03/2018, à 13:32)

Hors ligne

#31 Le 19/03/2018, à 14:41

GuillaumeBTS

Re : Script bash : générer un dhcpd.conf a partir d'un CSV

Ok j'ai réussi à combiner les deux et ça fonctionne, en revanche j'ai inséré la commande : systemctl restart isc-dhcp-server.service à la fin de l'écriture du fichier de conf en sautant une ligne mais je ne sais pas si c'est bien pris en compte, cela suffit ?

Hors ligne

#32 Le 19/03/2018, à 14:48

MicP

Re : Script bash : générer un dhcpd.conf a partir d'un CSV

…j'ai inséré la commande : systemctl restart isc-dhcp-server.service à la fin de l'écriture du fichier de conf …

Si la commande est dans un script, et que le déroulement du script le permet,
le lancement du script permettra à l'interpréteur de lancer les commandes contenues dans ce script..

Par contre, si la commande est dans un fichier de configuration,
je ne crois pas que l'application qui utilise ce fichier de configuration pourra interpréter la commande et l'exécuter.

Donc, il faut que ce soit le script qui, une fois qu'il a créé le nouveau fichier de configuration,
relance l'application qui va prendre en compte le nouveau fichier de configuration.

Dernière modification par MicP (Le 19/03/2018, à 14:54)

Hors ligne

#33 Le 19/03/2018, à 14:53

GuillaumeBTS

Re : Script bash : générer un dhcpd.conf a partir d'un CSV

Je me suis mal exprimé, dans la condition qui écris le fichier de configuration il faut ensuite redémarré le service, j'ai mis la commande après l'écriture du fichier, pas dedans. Je croyais que ça fonctionnait pas, enfin ça ne fonctionnait pas mais seulement car j'ai testé quelques chose pour le script et j'ai mis que deux conditions devaient être respectées or pour que ça fonctionne actuellement il fallait juste que l'une ou l'autre soit OK. J'ai donc changé "&&" par "||" que j'avais mis pendant mes tests et tout fonctionne il semblerait.

Je vous remercie tous pour votre aide précieuse, j'espère que votre aide m'aidera à devenir meilleur !

Hors ligne

#34 Le 20/03/2018, à 11:40

GuillaumeBTS

Re : Script bash : générer un dhcpd.conf a partir d'un CSV

Bonjouur (Quand on pense que c'est fini, il y en a encore)

J'ai lancé mes scripts manuellement sur mes serveurs tout fonctionne impeccable , en revanche le but étant de lancer le script toutes les heures j'ai voulu l'automatiser via crontab en mettant la commande chaque heure : bash /ScriptDHCP/monscript.sh. Cependant je pensais que tout allait fonctionnait sans problème et voila qu'en testant je reçois un mail à chaque fois de crontab disant ceci :

stat: impossible d'évaluer 'monreseau.csv': Aucun fichier ou dossier de ce type
stat: impossible d'évaluer 'mon2ereseau.csv': Aucun fichier ou dossier de ce type

Je ne comprends pas pourquoi j'ai essayé de mettre des " "  dans mon script autour de mes noms de fichiers CSV car j'ai vu ça sur internet cependant ça ne fonctionne toujours pas.

Quelqu'un aurait une petite idée ? Mercii

Hors ligne

#35 Le 20/03/2018, à 13:17

MicP

Re : Script bash : générer un dhcpd.conf a partir d'un CSV

Bonjour

Essaye en utilisant le chemin absolu (depuis la racine du système) du fichier monreseau.csv

Dernière modification par MicP (Le 20/03/2018, à 13:18)

Hors ligne

#36 Le 27/03/2018, à 11:55

GuillaumeBTS

Re : Script bash : générer un dhcpd.conf a partir d'un CSV

Oups, j'ai oublié de répondre mais en effet c'était la solution.

Un peu en dehors du sujet mais on reste sur du crontab, je veux faire les mises à jour a heure fixe chaque jour, l'apt update fonctionne mais l'apt upgrade -y me retourne ceci :

Lecture des listes de paquets…
Construction de l'arbre des dépendances…
Lecture des informations d'état…
Calcul de la mise à jour…
Les paquets suivants seront mis à jour :
  libicu57
debconf: Impossible d'initialiser l'interface : Dialog
debconf: (La variable TERM n'a pas de valeur, l'interface dialog est donc inutilisable.)
debconf: Utilisation de l'interface Readline en remplacement
debconf: Impossible d'initialiser l'interface : Readline
debconf: (Cette interface a besoin d'un terminal de contrôle.)
debconf: Utilisation de l'interface Teletype en remplacement
dpkg-preconfigure: impossible de réouvrir stdin :
1 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 0 o/7 700 ko dans les archives.
Après cette opération, 0 o d'espace disque supplémentaires seront utilisés.
dpkg: avertissement: « ldconfig » introuvable dans la variable PATH ou non exécutable
dpkg: avertissement: « start-stop-daemon » introuvable dans la variable PATH ou non exécutable
dpkg: erreur: 2 programmes attendus non trouvés dans la variable PATH ou non exécutables
Note : la variable PATH du superutilisateur doit normalement contenir /usr/local/sbin, /usr/sbin et /sbin
E: Sub-process /usr/bin/dpkg returned an error code (2)

Une petite idée ?

Edit : pardon je pensais pas qu'il fallait les mettre pour ça

Dernière modification par GuillaumeBTS (Le 27/03/2018, à 12:07)

Hors ligne

#37 Le 27/03/2018, à 12:01

xubu1957

Re : Script bash : générer un dhcpd.conf a partir d'un CSV

Bonjour,

Pour ajouter toi-même les balises code à ton précédent message #36 :  Merci     wink

  • Cliquer sur  le lien « Modifier » en bas à droite du message

  • Sélectionner le texte

  • Cliquer sur le <> de l'éditeur de message

1485703524.png

_ _ _

Voir règles du forum > balises BB code

Balise CODE :

C'est la balise à utiliser pour donner de longs messages d'erreurs, des contenus de fichiers de configuration, des commandes à taper, etc … Elle permet des messages plus "compacts", et est moins ambiguë que d'autres polices sur certains caractères.

Dernière modification par xubu1957 (Le 27/03/2018, à 12:30)


Conseils pour les nouveaux demandeurs et pas qu'eux
Important : Pensez à passer vos sujets en [Résolu] lorsque ceux-ci le sont, au début du titre en cliquant sur Modifier sous le premier message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.                   Membre de Linux-Azur

En ligne

#38 Le 27/03/2018, à 12:46

GuillaumeBTS

Re : Script bash : générer un dhcpd.conf a partir d'un CSV

Une partie du problème résolu, les erreurs debconf ne sont plus présentent. Pour cela j'ai fait un Script comme ceci (la deuxième ligne a corrigée les erreurs debconf)

#!/bin/bash
export DEBIAN_FRONTEND=noninteractive
apt-get upgrade -y

Donc les messages d'erreurs restant sont les suivants :

Après cette opération, 0 o d'espace disque supplémentaires seront utilisés.
dpkg: avertissement: « ldconfig » introuvable dans la variable PATH ou non exécutable
dpkg: avertissement: « start-stop-daemon » introuvable dans la variable PATH ou non exécutable
dpkg: erreur: 2 programmes attendus non trouvés dans la variable PATH ou non exécutables
Note : la variable PATH du superutilisateur doit normalement contenir /usr/local/sbin, /usr/sbin et /sbin
E: Sub-process /usr/bin/dpkg returned an error code (2)

Hors ligne

#39 Le 29/03/2018, à 04:54

MicP

Re : Script bash : générer un dhcpd.conf a partir d'un CSV

Bonjour

Effectivement, la variable PATH n'a pas la même valeur suivant le contexte.

Vu les commandes apt l'utilisation de crontab et les messages d'erreurs cités dans tes messages,
je pense que le paquetage cron-apt pourrait peut-être t'intéresser.

Hors ligne