• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Internet einwahl über Konsole mit at oder ähnlichem?

Yehudi

Guru
Ich suche eine Möglichkeit in der Konsole einen Befehl einzufügen, der Bsp jeden Tag um 7:59 die Verbindung zum Internet trennt, um sie um 8:00Uhr wieder aufzubauen. Damit kann der Suse Linuxrechner als Router und Server stets mit dem Netz verbunden bleiben, und seinen Clients eine Verbindung zum Netz bieten.
Ich habe über die Möglichkeit von Zeitgesteuerten Befehlen in der Konsole über at gelesen. Leider habe ich keine Komandozeile gefunden, die diese Funktion dann ausführt.
 
Moin Yehudi,

wenn Du mit Modem oder ISDN unterwegs bist, schau mal ob bei SuSE die Befehle 'pon' und 'poff' dabei sind. Dann sollte 'pon Provider' die Verbindung herstellen und 'poff' diese wieder beenden. Zumindest unter Debian läuft es so.
 

oc2pus

Ultimate Guru
Bei SuSE macht das der Konsolenbefehl: cinternet.

kinternet für kde
ginternet für gnome
cinternet für Console

dazu gibt es eine wunderhübsche man-page in deinem System ;)
falls du sie nicht finden solltest oder etwas unklar sein sollte hier ein paar Beispiele für die shell-Befehle cinternet:

Code:
#######################################################################
#######################################################################
function getState ()
{
	echo -n "check State..." >> $LOGFILE
	STATUS1=`cinternet --status | grep status`
	STATUS=$(echo $STATUS1 | awk '{ print $3 }')
	echo "$STATUS" >> $LOGFILE
}

#######################################################################
#######################################################################
function setProvider ()
{
	cinternet --provider-name $PROVIDER
}

#######################################################################
#######################################################################
function disconnectProvider ()
{
	cinternet --stop
}

#######################################################################
#######################################################################
function connectProvider ()
{
	NUMBER=1
	while [ $NUMBER -le $MAXCONNECT ]; do
		echo -n "dialing ($NUMBER)..." >> $LOGFILE
		cinternet --start &

		sleep 4s
		echo "done." >> $LOGFILE

		getState
		if [ "$STATUS" = "DISCONNECTED" ]; then
			NUMBER=`expr $NUMBER +1`
		else
			NUMBER=99
		fi
	done
}

es gibt auch ein Web-Interface bei SuSE:
smpppd-web - Start and Stop Dialup Network Connection Via Web Browser
 
OP
Y

Yehudi

Guru
Sorry, mein Fehler ich habe eine DSL FLaterate. Ich werde diese Info vielleicht unten aufführen. :roll:

@Oc2pus:
1. In wie weit sind diese Befehle kompatibel zu DSL?
2. Vor der Klammer ist die Überschrift, und dann folgt der Befehl, oder ist vor der Klammer der Befehl, und dann folgt die Ausgabe, ich bekomme da eine Errormeldung, oder liegt es an DSL.

ua:
Code:
-bash: syntax error near unexpected token `cinternet'
:roll:
 

oc2pus

Ultimate Guru
Das sind bash-functions aus einem grossen Script von mir welche zeitgesteuert eine Einwahl durchführen und einige Dateien übertragen.

Wenn du diese nutzen willst, musst du dir ein eigenes Rahmenscript schreiben. Diese Funktionen sollten dir nur veranschaulichen wie cinternet genutzt wird ....
 
OP
Y

Yehudi

Guru
Das verstehe ich. Phrasenweise habe ich auch die Befehle in diesem Script verstanden.
Leider bin ich mit Rahmenscripte nicht vertraut. Zunächst habe ich mal meine Suchquellen Google und Suse Help abgefragt. Nichts. Hier im Forum finde ich das Wort auch nur einmal, in diesem Treat.
In der Wikipedia bin ich auf einen Link gestoßen:
http://www.selflinux.org/selflinux/html/shellprogrammierung.html
Ich würde aber es auf mich nehmen Zwecks meines Zieles mich mit dieser Thematik auseinander zusetzen.
Auf den ersten Blick erinnert die Funktion an Apple-Script.
Wenn ich dieses im Zusammenhang mit der von des Oc2pus vorgelegten Code richtig verstehe, dann sind das Aneinandereihung von Befehlen, die zu einem zusammengefügt werden.
Wird das Rahmenscript mit sh in der Console gestartet?
Diesen Befehl startet in meiner Konsole nämlich.
Synchron zu diesem Treat werde ich den oben genannten Link weiter verfolgen. Danke an Oc2pus für die Infos.
 
OP
Y

Yehudi

Guru
Habe mal den Artikel überflogen, und mir dann da wo Deine Antwort kommt es genau gelesen. Hier habe ich bereits am Anfang ein Problem mit der Konsole:

Code:
linux:~ # cinternet
cinternet: no command specified
Try `cinternet --help' for more information.
linux:~ # `cinternet --help'
>
An der Stelle scheitert es. Ich muss allerdings nicht meinen Linuxrechner neu starten, (betrifft den vewiesenen Artikel) da reicht doch ein Klick auf K-Internet. Question
Warum findet sie (konsole) den Befehl nicht? Ich bin doch im Internet.
Ist die Einwahl der Grund. Bei kinternet kommt is running. ginternet command not found. s.o. erster Beitrag von Oc2pus.
 
OP
Y

Yehudi

Guru
@Oc2pus:
Mit "man" starte ich die Manpage, aber wie komme ich dann auf die von Dir angesprochene Page, cinternet funktioniert dabei nicht.
 
OP
Y

Yehudi

Guru
@Oc2pus:
Über Yast habe ich smpppd gesucht, dort habe ich nur eins gefunden, was bereits installiert ist.
Ich denke mal, dass dieses Paket gemeint ist, und zur Grundinstallation gehört.
Als Befehl in der Konsole gibt es nämlich folgendes Ergebnis:
Code:
linux:~ # man
What manual page do you want?
linux:~ # RPM smpppd
-bash: RPM: command not found
:?:
 

oc2pus

Ultimate Guru
Yehudi schrieb:
Über Yast habe ich smpppd gesucht, dort habe ich nur eins gefunden, was bereits installiert ist.
Ich denke mal, dass dieses Paket gemeint ist, und zur Grundinstallation gehört.
Als Befehl in der Konsole gibt es nämlich folgendes Ergebnis:
linux:~ # man
What manual page do you want?
linux:~ # RPM smpppd
-bash: RPM: command not found

ok, Grundkurs 1:
mit dem Befehl man ruft man die manpages seines Systems auf. Damit dieser kleine Helfer arbeiten kann must du ihm sagen welches Buch er aus deiner Bibliothek hervorholen soll. Das passiert indem du dem Befehl man sagst welches Buch du möchtest:
Damit holt der kleine Helfer aus dem Manpage-Regal deines PC den Band cinternet und zeigt ihn dir an ...

Das Programm cinternet ist entahlten in dem RPM smpppd. D.h. Der "Container" smppd enthält die folgenden Dateien:
rpm -ql smpppd
/etc/init.d/smpppd
/etc/smpppd-c.conf
/etc/smpppd.conf
/usr/bin/accounting
/usr/bin/cinternet
/usr/sbin/rcsmpppd
/usr/sbin/smpppd
/usr/sbin/smpppd-ifcfg
/usr/share/doc/packages/smpppd
/usr/share/doc/packages/smpppd/AUTHORS
/usr/share/doc/packages/smpppd/COPYRIGHT
/usr/share/doc/packages/smpppd/accounting.txt
/usr/share/doc/packages/smpppd/config.txt
/usr/share/doc/packages/smpppd/examples
/usr/share/doc/packages/smpppd/examples/aon-dsl
/usr/share/doc/packages/smpppd/examples/bt-dsl
/usr/share/doc/packages/smpppd/examples/ifcfg-dsl0
/usr/share/doc/packages/smpppd/examples/ifcfg-dsl1
/usr/share/doc/packages/smpppd/examples/ifcfg-dsl2
/usr/share/doc/packages/smpppd/examples/ifcfg-ppp0
/usr/share/doc/packages/smpppd/examples/ifcfg-ppp1
/usr/share/doc/packages/smpppd/examples/komtel
/usr/share/doc/packages/smpppd/examples/tonline-dsl
/usr/share/doc/packages/smpppd/protocol.html
/usr/share/man/man1/accounting.1.gz
/usr/share/man/man1/cinternet.1.gz
/usr/share/man/man5/smpppd-c.conf.5.gz
/usr/share/man/man5/smpppd.conf.5.gz
/usr/share/man/man8/smpppd-ifcfg.8.gz
/usr/share/man/man8/smpppd.8.gz
/var/lib/smpppd
/var/log/smpppd
/var/run/smpppd

Ah, und wie man sieht auch das Programm "cinternet". D.h. wenn der "Container" smpppd installiert ist, ist auch das Programm cinternet auf der Platte und wohnt im Verzeichnis /usr/bin. Durch einen Aufruf von cinternet in einer Konsole, kann das Programm gestartet werden. Mit cinternet --help bekommst du eine kurze Übersicht welche Optionen es für dieses Programm gibt.

Ich hoffe damit deine Verwirrung etwas zu lichten ?
 
OP
Y

Yehudi

Guru
Ich hatte auch schon das so änlich verstanden. Da die Konsole dann nach einem Buch fragt, und habe das vor der vorletzten Frage nach der Rückfrage auf die Eingabe von Man eingetrage. Da kam aber nur:
Code:
>
Das hat mich auch wie Du richtig erkannt hast etwas verwirt.
Beim zweiten Code stimmt die Eingabe auch mit Deiner Vorgabe überein.
Der erste führt jetzt folgendes auf:

Code:
CINTERNET(1)                        SMPPPD                        CINTERNET(1)



NAME
       cinternet - simple frontend for smpppd

DESCRIPTION
       cinternet is a simple frontend for the smpppd.

OPTIONS
       These  options  are recognized by cinternet.  If a long option shows an
       argument as mandatory, then it is mandatory for  the  equivalent  short
       option also.

       The  order of the options is relevant except for the --verbose, --only-
       local, --version and --help options.

       -I, --interface-list
              List all configured interfaces of the  smpppd.   The  interfaces
              are also marked either with ‘u' or ‘d' for their status of up or
              down respectively.  The interface names are utf-8 encoded.

 Manual page cinternet(1) line 1
 

oc2pus

Ultimate Guru
fein ;)

innerhalb der man-pages kannst du übrigends mit den Pfeiltasten blättern !!

mit CTRl-C oder dem Buchstaben "q" wird die Anzeige der man-page verlassen.
 
OP
Y

Yehudi

Guru
Danke, hatte mich schon gewundert. An der Seite der Balken zum Scrollen gibt einen nicht den Anschein,dass es da weitergeht.
Damit muss ich mich nacher noch mal eingehend auseinandersetzen. Ich denke, ich bin hier schon ein Schritt weiter, um an der etwas weiter oben angegebenen Stelle weiter zu machen.
Vorraussichtlich wird aber dieses Thema ja noch nicht abgeschlossen sein.
 

Sören

Member
übrigens:

mit
/suchwort

kann man in der Manpage suchen. Mit n gibts das nächste ergebnis, und mit N das davor.

gruß
Sören
 
OP
Y

Yehudi

Guru
Das Problem ist gelöst weitere Hinweise unter:

1. Für das Script: http://www.linux-club.de/viewtopic.php?p=129835#129835
Sehr ausführlich erläutert, so dass niemand im Regen stehen bleibt.

2. Für den Cronjob/Crontab, verwende ich die grafische Oberfläche Kcron, was gerade Neueinsteigern oder Umsteigern von anderen Betriebssystemen entgegen kommt:
a.wie Kcrown installiert wird:
http://www.linux-club.de/viewtopic.php?t=23814
b.Der CrownJob wird nicht ausgeführt:
http://www.linux-club.de/viewtopic.php?p=128404#128404
 

che-g.

Newbie
Hi

möchte das gleiche machen, DSl Verbindung trennen und starten

kann es aber nur manuell lösen indem ich das interface restsarte, mit

ifdown dsl0
ifup dsl0
Als Script mit cronjob ausgeführt kommt folgende Fehlermeldung:

/root/script/dsl: line 7: ifdown: command not found
/root/script/dsl: line 8: ifup: command not found

weiß jemand da eine Lösung?

hat der cron daemon nicht die nötigen rechte - bez. wie verschaffe ich sie ihm?
 
OP
Y

Yehudi

Guru
Oh je, da hat aber einer tief gegraben. Wie lange läuft das schon bei mir.
Warum nimmst Du nicht einfach Kcron, wie in dem Beitrag von mir vorher als Link hingewiesen?
 
Oben