Switch pour serveur LTSP

Publié le par Levi59

Voici un script pour pouvoir arrêter/redémarrer un serveur LTSP afin de pourvoir utiliser la carte ethernet lorsqu'il n'y a pas de réseau wifi.

 

Télécharger le script

 

La configuration initiale doit etre:

/etc/network/interfaces

/etc/default/dhcp3-server

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address xxx.xxx.xxx.xxx
netmask xxx.xxx.xxx.xxx
broadcast xxx.xxx.xxx.xxx
gateway xxx.xxx.xxx.xxx

# Defaults for dhcp initscript
# sourced by /etc/init.d/dhcp
# installed at /etc/default/dhcp3-server by the maintainer scripts

#
# This is a POSIX shell fragment
#

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth0"

 

 

 

il suffit de creer le script:

code:

sudo gedit /usr/bin/switchltsp

et puis coller y ceci:

code:

#!/bin/bash
# script pour arrêter/redémarrer un serveur LTSP afin de liberer la carte ethernet
# Copyright (C) 04 dec. 2010, Rombeaut Rodolphe
# http://scriptam.over-blog.com/
# Released into the public domain.

# fichiers de conf
    export netint="/etc/network/interfaces"
    export dhcpserv="/etc/default/dhcp3-server"

# recuperer ligne de config des fichiers
    netintconf=`cat $netint | grep "auto eth0"`
    dhcpservconf=`cat $dhcpserv | grep "INTERFACES="`

# numero de la première ligne a modifier
    linenetint=`grep -n "auto eth0" $netint | awk -F ":" '{print $1}'`
    linedhcpserv=`grep -n "INTERFACES=" $dhcpserv | awk -F ":" '{print $1}'`

case "$1" in

start)
    sudo sed -i ''$linenetint',+5 s/^#*//g' $netint
    sudo sed -i ''$linedhcpserv' s/""/"eth0"/g' $dhcpserv
    sudo service networking start
    echo "service networking start"
    sudo service dhcp3-server start
    echo "service dhcp3-server start"
    sudo service network-manager restart
    echo "service network-manager restart"
    sudo service ssh restart
    echo "service ssh restart"
;;

stop)
    if [ "$netintconf" == "#auto eth0" ] && [ "$dhcpservconf" == "INTERFACES=\"\"" ]
    then
        echo "Serveur inactif"
    else
        sudo sed -i ''$linenetint',+5 s/^/#/g' $netint
        sudo sed -i ''$linedhcpserv' s/"eth0"/""/g' $dhcpserv
        sudo service networking stop
        echo "service networking stop"
        sudo service dhcp3-server stop
        echo "service dhcp3-server stop"
        sudo service network-manager restart
        echo "service network-manager restart"
        sudo service ssh restart
        echo "service ssh restart"
    fi
;;

status)
    if [ "$netintconf" == "auto eth0" ] && [ "$dhcpservconf" == "INTERFACES=\"eth0\"" ]
    then
        echo "Serveur actif"
    else
        if [ "$netintconf" == "#auto eth0" ] && [ "$dhcpservconf" == "INTERFACES=\"\"" ]
        then
            echo "Serveur inactif"
        else
            echo "Configuration erronee, l'un des fichier presente une erreur"
        fi
    fi
;;

restart)
    sudo service networking stop
    sudo service networking start
    echo "service networking restart"
    sudo service dhcp3-server stop
    sudo service dhcp3-server start
    echo "service dhcp3-server restart"
    sudo service network-manager restart
    echo "service network-manager restart"
    sudo service ssh restart
    echo "service ssh restart"
;;

*)
    echo "erreur : mauvaise option ou option absente"
    echo "le script s'utilise de cette facon:"
    echo "switchltsp [option]"
    echo "les commandes sont: start|stop|restart|status"
    exit

esac
exit

Enfin rendre exécutable:

code:

sudo chmod +x /usr/bin/switchltsp

 

Publié dans Internet et réseaux

Commenter cet article