Page 1 sur 1

Création de script

Publié : jeu. 25 nov. 2010, 22:43
par martou26
Bonjour à tous,
Je vous confronté un problème depuis une semaine à propos de la création d'un script qui permet gérer la configuration de machines. En gros, le script doit pouvoir rétablir la bonne configuration du fichier snmpd.conf se trouvant sur /etc/init.d/snmpd.conf

Re: Création de script

Publié : jeu. 25 nov. 2010, 23:58
par tuxce
Elle est où la question?
Sinon, le forum est un forum à propos d'archlinux

Re: Création de script

Publié : ven. 26 nov. 2010, 12:17
par martou26
Salut, la question c'est écrire un script qui permet de restaurer la configuration snmpd.conf en quelque sorte une sorte de mise du de la configuration snmpd.conf ci-dessous:

#! /bin/sh -e
### BEGIN INIT INFO
# Provides: snmpd snmptrapd
# Required-Start: $network $local_fs
# Required-Stop: $network $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: SNMP agents
# Description: NET SNMP (Simple Network Management Protocol) Agents
### END INIT INFO
#
# Author: Jochen Friedrich <jochen@scram.de>
#
set -e

export PATH=/sbin:/usr/sbin:/bin:/usr/bin

test -x /usr/sbin/snmpd || exit 0
test -x /usr/sbin/snmptrapd || exit 0

# Defaults
export MIBDIRS=/usr/share/snmp/mibs
SNMPDRUN=yes
SNMPDOPTS='-Lsd -Lf /dev/null -p /var/run/snmpd.pid'
TRAPDRUN=no
TRAPDOPTS='-Lsd -p /var/run/snmptrapd.pid'

# Reads config file (will override defaults above)
[ -r /etc/default/snmpd ] && . /etc/default/snmpd

# Cd to / before starting any daemons.
cd /

# Create compatibility link to old AgentX socket location
if [ "$SNMPDCOMPAT" = "yes" ]; then
ln -sf /var/agentx/master /var/run/agentx
fi

case "$1" in
start)
echo -n "Starting network management services:"
if [ "$SNMPDRUN" = "yes" -a -f /etc/snmp/snmpd.conf ]; then
start-stop-daemon --quiet --start --oknodo --exec /usr/sbin/snmpd \
-- $SNMPDOPTS
echo -n " snmpd"
fi
if [ "$TRAPDRUN" = "yes" -a -f /etc/snmp/snmptrapd.conf ]; then
start-stop-daemon --quiet --start --oknodo --exec /usr/sbin/snmptrapd \
-- $TRAPDOPTS
echo -n " snmptrapd"
fi
echo "."
;;
stop)
echo -n "Stopping network management services:"
start-stop-daemon --quiet --stop --oknodo --exec /usr/sbin/snmpd
echo -n " snmpd"
start-stop-daemon --quiet --stop --oknodo --exec /usr/sbin/snmptrapd
echo -n " snmptrapd"
echo "."
;;
restart)
echo -n "Restarting network management services:"
start-stop-daemon --quiet --stop --oknodo --exec /usr/sbin/snmpd
start-stop-daemon --quiet --stop --oknodo --exec /usr/sbin/snmptrapd
# Allow the daemons time to exit completely.
sleep 2
if [ "$SNMPDRUN" = "yes" -a -f /etc/snmp/snmpd.conf ]; then
start-stop-daemon --quiet --start --exec /usr/sbin/snmpd -- $SNMPDOPTS
echo -n " snmpd"
fi
if [ "$TRAPDRUN" = "yes" -a -f /etc/snmp/snmptrapd.conf ]; then
# Allow snmpd time to start up.
sleep 1
start-stop-daemon --quiet --start --exec /usr/sbin/snmptrapd -- $TRAPDOPTS
echo -n " snmptrapd"
fi
echo "."
;;
reload|force-reload)
echo -n "Reloading network management services:"
if [ "$SNMPDRUN" = "yes" -a -f /etc/snmp/snmpd.conf ]; then
start-stop-daemon --quiet --stop --signal 1 \
--pidfile /var/run/snmpd.pid --exec /usr/sbin/snmpd
echo -n " snmpd"
fi
echo "."
;;
*)
echo "Usage: /etc/init.d/snmpd {start|stop|restart|reload|force-reload}"
exit 1
esac

exit 0

Re: Création de script

Publié : ven. 26 nov. 2010, 12:23
par martou26
Le script se fait sur ubuntu pour plus de précision

Re: Création de script

Publié : ven. 26 nov. 2010, 12:29
par martou26
J'ai pas une grande connaissance en script et j'ai essayé ça même si je pense que y a pas de logique:


#!/bin/sh
# Mise à jour du fichier snmpd.conf
# /etc/snmp/snmptrapd.conf

lancement ()
{

case "$1" in
start)
echo -n "Starting network management services:"
if [ "$SNMPDRUN" = "yes" -a -f /etc/snmp/snmpd.conf ]; then
start-stop-daemon --quiet --start --oknodo --exec /usr/sbin/snmpd \
-- $SNMPDOPTS
echo -n " snmpd"
fi
if [ "$TRAPDRUN" = "yes" -a -f /etc/snmp/snmptrapd.conf ]; then
start-stop-daemon --quiet --start --oknodo --exec /usr/sbin/snmptrapd \
-- $TRAPDOPTS
echo -n " snmptrapd"
fi
echo "."
;;
stop)
echo -n "Stopping network management services:"
start-stop-daemon --quiet --stop --oknodo --exec /usr/sbin/snmpd
echo -n " snmpd"
start-stop-daemon --quiet --stop --oknodo --exec /usr/sbin/snmptrapd
echo -n " snmptrapd"
echo "."
;;
restart)
echo -n "Restarting network management services:"
start-stop-daemon --quiet --stop --oknodo --exec /usr/sbin/snmpd
start-stop-daemon --quiet --stop --oknodo --exec /usr/sbin/snmptrapd
# Allow the daemons time to exit completely.
sleep 2
if [ "$SNMPDRUN" = "yes" -a -f /etc/snmp/snmpd.conf ]; then
start-stop-daemon --quiet --start --exec /usr/sbin/snmpd -- $SNMPDOPTS
echo -n " snmpd"
fi
if [ "$TRAPDRUN" = "yes" -a -f /etc/snmp/snmptrapd.conf ]; then
# Allow snmpd time to start up.
sleep 1
start-stop-daemon --quiet --start --exec /usr/sbin/snmptrapd -- $TRAPDOPTS
echo -n " snmptrapd"
fi
echo "."
;;
reload|force-reload)
echo -n "Reloading network management services:"
if [ "$SNMPDRUN" = "yes" -a -f /etc/snmp/snmpd.conf ]; then
start-stop-daemon --quiet --stop --signal 1 \
--pidfile /var/run/snmpd.pid --exec /usr/sbin/snmpd
echo -n " snmpd"
fi
echo "."
;;
*)
echo "Usage: /etc/init.d/snmpd {start|stop|restart|reload|force-reload}"
exit 1
esac

exit 0

Re: Création de script

Publié : ven. 26 nov. 2010, 12:44
par tuxce
1. c'est un forum archlinux pas ubuntu
2. c'est bien de respecter les règles du forum et d'utiliser les bbcode
3. /etc/init.d/snmpd.conf n'existe sur aucune distrib, c'est /etc/snmpd/snmpd.conf ou alors /etc/init.d/snmpd (pas un mix des 2)
4. ce que tu montres est le script de (re)démarrage/arret du service
5. ce que t'as modifié, c'est pas une question de logique, t'as supprimé des lignes au pif et rajouté "lancement () {" ... :?
6. et dans tout ça on sait toujours pas ce que tu cherches à faire:
martou26 a écrit :quelque sorte une sorte de mise du de la configuration
:|

Bref, faudrait reposer la question mieux que ça.

Re: Création de script

Publié : ven. 26 nov. 2010, 14:04
par martou26
C'est exacte tu as en effet raison, c'est bien /etc/init.d/snmpd
Ma question reformulée: J'ai une bonne configuration qui existe et qui se trouve sur /etc/init.d/snmpd/, il me faut la copier/adapter sur les autres machines ou la conf snmpd.conf sont en défauts, mais idéalement en créant un sript qui permettra de copier la conf directement sur les différentes machines hd et ldapzero.

Bonne configuration /etc/init.d/snmpd



#! /bin/sh -e
### BEGIN INIT INFO
# Provides: snmpd snmptrapd
# Required-Start: $network $local_fs
# Required-Stop: $network $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: SNMP agents
# Description: NET SNMP (Simple Network Management Protocol) Agents
### END INIT INFO
#
# Author: Jochen Friedrich <jochen@scram.de>
#
set -e

export PATH=/sbin:/usr/sbin:/bin:/usr/bin

test -x /usr/sbin/snmpd || exit 0
test -x /usr/sbin/snmptrapd || exit 0

# Defaults
export MIBDIRS=/usr/share/snmp/mibs
SNMPDRUN=yes
SNMPDOPTS='-Lsd -Lf /dev/null -p /var/run/snmpd.pid'
TRAPDRUN=no
TRAPDOPTS='-Lsd -p /var/run/snmptrapd.pid'

# Reads config file (will override defaults above)
[ -r /etc/default/snmpd ] && . /etc/default/snmpd

# Cd to / before starting any daemons.
cd /

# Create compatibility link to old AgentX socket location
if [ "$SNMPDCOMPAT" = "yes" ]; then
ln -sf /var/agentx/master /var/run/agentx
fi

case "$1" in
start)
echo -n "Starting network management services:"
if [ "$SNMPDRUN" = "yes" -a -f /etc/snmp/snmpd.conf ]; then
start-stop-daemon --quiet --start --oknodo --exec /usr/sbin/snmpd \
-- $SNMPDOPTS
echo -n " snmpd"
fi
if [ "$TRAPDRUN" = "yes" -a -f /etc/snmp/snmptrapd.conf ]; then
start-stop-daemon --quiet --start --oknodo --exec /usr/sbin/snmptrapd \
-- $TRAPDOPTS
echo -n " snmptrapd"
fi
echo "."
;;
stop)
echo -n "Stopping network management services:"
start-stop-daemon --quiet --stop --oknodo --exec /usr/sbin/snmpd
echo -n " snmpd"
start-stop-daemon --quiet --stop --oknodo --exec /usr/sbin/snmptrapd
echo -n " snmptrapd"
echo "."
;;
restart)
echo -n "Restarting network management services:"
start-stop-daemon --quiet --stop --oknodo --exec /usr/sbin/snmpd
start-stop-daemon --quiet --stop --oknodo --exec /usr/sbin/snmptrapd
# Allow the daemons time to exit completely.
sleep 2
if [ "$SNMPDRUN" = "yes" -a -f /etc/snmp/snmpd.conf ]; then
start-stop-daemon --quiet --start --exec /usr/sbin/snmpd -- $SNMPDOPTS
echo -n " snmpd"
fi
if [ "$TRAPDRUN" = "yes" -a -f /etc/snmp/snmptrapd.conf ]; then
# Allow snmpd time to start up.
sleep 1
start-stop-daemon --quiet --start --exec /usr/sbin/snmptrapd -- $TRAPDOPTS
echo -n " snmptrapd"
fi
echo "."
;;
reload|force-reload)
echo -n "Reloading network management services:"
if [ "$SNMPDRUN" = "yes" -a -f /etc/snmp/snmpd.conf ]; then
start-stop-daemon --quiet --stop --signal 1 \
--pidfile /var/run/snmpd.pid --exec /usr/sbin/snmpd
echo -n " snmpd"
fi
echo "."
;;
*)
echo "Usage: /etc/init.d/snmpd {start|stop|restart|reload|force-reload}"
exit 1
esac

exit 0

Re: Création de script

Publié : ven. 26 nov. 2010, 14:33
par benjarobin
Sérieusement, tu y fait exprès ou quoi ??? As tu au moins lu les remarque de tuxce :|
Et si on résume bien, la question c'est "comment on fait un copier coller ?", ou j'ai loupé un truc

Re: Création de script

Publié : ven. 26 nov. 2010, 14:38
par martou26
Oui en gros c'est ça comment mettre en place qui permettra de copier la conf snmpd sur les autres autres machines

Re: Création de script

Publié : ven. 26 nov. 2010, 15:00
par tuxce
Bon en gros, c'est du grand n'importe quoi...
Je verrouilles sinon on risque d'avoir le script snmpd collé une 3ème fois :/