Sponsor-Board.de
Thema geschlossen  Thema schreiben 

TSDNS start/stop/add/del script

Verfasser Nachricht

Beiträge: 408
Bewertung: 9
Registriert seit: Apr 2011
Status: offline


Beitrag: #1
TSDNS start/stop/add/del script

Hallo

habe vor einiger zeit mal nen kleines script gemacht um
einen tsdns server zu starten/stopen
und einträge in der tsdns_settings.ini hinzufügen/entfernen zu können

das ganze war/ist eigetlich nur für mich privat
aber ich poste es mal hier

es ist nichts großes aber es funktioniert
und villeicht hilft es ja einigen ein interface zu erstellen

da es wie gesagt nur für mich privar gedacht war
muss man beim eintragen befehlt die domain und ip manuell an die adresse anhängen Wink

sind bisher auch keine schutz mechanismen drinnen
kann aber noch alles hinzugefügt werden

hier das script

PHP-Code:
<?php

$cmd
=$_GET['cmd'];
$user="ts3";
echo 
"<a href=\"start.php?cmd=start\">start</a><br>";
echo 
"<a href=\"start.php?cmd=ein\">eintrag</a><br>";
echo 
"<a href=\"start.php?cmd=del\">delete</a><br>";
echo 
"<a href=\"start.php?cmd=stop\">stop</a><br>";
echo 
"<a href=\"start.php?cmd=status\">status</a><br>";
if(
$cmd == "start"){
    echo 
"<br>starting server";
    
shell_exec('sudo su '.$user.' -l -c "screen -a -d -m -S tsdns /var/www/tsdns/tsdnsserver_linux_x86"');
}
if(
$cmd == "ein"){
    
$domain=$_GET['domain'];
    
$ip=$_GET['ip'];
    
$text $domain."=".$ip."\n";
    
$dateiname "tsdns_settings.ini";
    
$handler fOpen($dateiname "a+");
    
fWrite($handler $text);
    
fClose($handler);
}
if(
$cmd == "del"){
    
$domain=$_GET['domain'];
    
$ip=$_GET['ip'];
    
$suchen=$domain."=".$ip;
    
$datei=file("tsdns_settings.ini");
    
$l=count($datei);
    for(
$i=0;$i<$l;$i++){
        if(
chop($datei[$i])==$suchen){
            unset(
$datei[$i]);
            break;
        }
    }
    
$datei array_values($datei);
    
$l=count($datei);
    
$fp=fopen("tsdns_settings.ini","w");
    for(
$i=0;$i<$l;$i++){
        
fputs($fp,$datei[$i]);
    }
    
fclose($fp);
}
if(
$cmd == "stop"){
    echo 
"<br>stopping server";
    
shell_exec('sudo su '.$user.' -l -c "screen -r tsdns -X quit"');
}
if(
$cmd == "status"){
    
$otp2 shell_exec('sudo su '.$user.' -l -c "screen -list"');
    if (
stristr($otp2".tsdns") == true) {
        echo 
"TSDNS is running.";
    }else{
        echo 
"TSDNS is NOT running.";
    }
}
?>


MfG

EDIT://
habe nun ein shellscript zum starten/stopen des tsdns server gebaut
damit brauch man screen nichtmehr
hier das shell script

Code:
#!/bin/sh
# Copyright (c) 2012 Terrax2


case "$1" in
    start)
        if [ -e tsdns.pid ]; then
            if ( kill -0 $(cat tsdns.pid) 2> /dev/null ); then
                echo "The server is already running, try restart or stop"
                exit 1
            else
                echo "tsdns.pid found, but no server running. Possibly your previously started server crashed"
                echo "Please view the logfile for details."
                rm tsdns.pid
            fi
        fi
        echo "Starting the TSDNS"
        if [ -e tsdnsserver_linux_x86 ]; then
            if [ ! -x tsdnsserver_linux_x86 ]; then
                echo "tsdnsserver_linux_x86 is not executable, trying to set it"
                chmod u+x tsdnsserver_linux_x86
            fi
            if [ -x tsdnsserver_linux_x86 ]; then            
                "./tsdnsserver_linux_x86" > /dev/null &
                echo $! > tsdns.pid
                echo "TSDNS server started, for details please view the log file"
            else
                echo "tsdnsserver_linux_x86 is not exectuable, cannot start TSDNS"
            fi
        else
            echo "Could not find binary, aborting"
            exit 5
        fi
    ;;
    stop)
        if [ -e tsdns.pid ]; then
            echo -n "Stopping the TSDNS server"
            if ( kill -TERM $(cat tsdns.pid) 2> /dev/null ); then
                c=1
                while [ "$c" -le 300 ]; do
                    if ( kill -0 $(cat tsdns.pid) 2> /dev/null ); then
                        echo -n "."
                        sleep 1
                    else
                        break
                    fi
                    c=$((++c))
                done
            fi
            if ( kill -0 $(cat tsdns.pid) 2> /dev/null ); then
                echo "Server is not shutting down cleanly - killing"
                kill -KILL $(cat tsdns.pid)
            else
                echo "\ndone"
            fi
            rm tsdns.pid
        else
            echo "No server running (tsdns.pid is missing)"
            exit 7
        fi
    ;;
    restart)
        $0 stop && $0 start || exit 1
    ;;
    status)
        if [ -e tsdns.pid ]; then
            if ( kill -0 $(cat tsdns.pid) 2> /dev/null ); then
                echo "Server is running"
            else
                echo "Server seems to have died"
            fi
        else
            echo "No server running (tsdns.pid is missing)"
        fi
    ;;
    *)
        echo "Usage: ${0} {start|stop|restart|status}"
        exit 2
esac
exit 0

Dieser Beitrag wurde zuletzt bearbeitet: 11.12.2012 13:48 von Stricted.

11.12.2012 13:05
 
Alle Beiträge dieses Benutzers finden

Beiträge: 71
Bewertung: 0
Registriert seit: Jul 2012
Status: offline


Beitrag: #2
RE: TSDNS start/stop/add/del script

Sieht schon ganz nett aus aber bei eintragen würde ich den server gleich updaten, dass man ihn nicht neustarten muss also tsdnsserver --update

11.12.2012 13:56
 
Alle Beiträge dieses Benutzers finden

Beiträge: 408
Bewertung: 9
Registriert seit: Apr 2011
Status: offline


Beitrag: #3
RE: TSDNS start/stop/add/del script

danke für das feedback
naja wie gesagt war nur für mich privat gedacht gewesen
da war das eigentlich egal
da ich privat villt max 1mal in 2 monaten was eingetragen habe
war es nicht wirklich schlimm ihn zu stopen und dann zu starten
wer möchte kann es ja umschreiben und eine bessere version des scrips hier posten

11.12.2012 14:01
 
Alle Beiträge dieses Benutzers finden

Beiträge: 255
Bewertung: 5
Registriert seit: May 2012
Status: offline


Beitrag: #4
RE: TSDNS start/stop/add/del script

Ziemlich nettes Script


[Link: Registrierung erforderlich]
[Link: Registrierung erforderlich]

11.12.2012 17:40
 
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Thema geschlossen  Thema schreiben 

Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  TSDNS Webinterface Mave1993 10 7.581 10.09.2017 17:10
Letzter Beitrag: Müllermilch
  TeamSpeak3 Channelvergabe Script Linux-Scout.de 5 3.982 17.12.2016 14:16
Letzter Beitrag: ramazanco
  TS3 Script iTweek 2 2.945 09.09.2016 19:54
Letzter Beitrag: iTweek
  Autorestart script iTweek 2 2.774 11.08.2016 14:01
Letzter Beitrag: iTweek
  Vorstellung: TSDNS Vergabe an eure Benutzer Mave1993 0 1.856 25.05.2015 15:57
Letzter Beitrag: Mave1993

 Druckversion anzeigen
 Thema einem Freund senden
 Thema abonnieren
 Thema zu den Favoriten hinzufügen

Sponsor-Board.de

Community
Über uns
Partner
Powered by Mybb: Copyright 2002-2024 by MyBB Group - Deutsche-Übersetzung von Mybb.de
 
© 2007-2024 Sponsor-Board.de - Hosted by OVH

Willkommen auf SB!   Sie benötigen ein Sponsoring?   1. Anmelden   2. Sponsoring-Anfrage erstellen   3. Nachrichten von Sponsoren erhalten   Kostenlos!   Jetzt registrieren