Dies ist eine mobil optimierte Seite, die schnell lädt. Wenn Sie die Seite ohne Optimierung laden möchten, dann klicken Sie auf diesen Text.

crontab - dyndns Anmeldung

andi2002

Meister
Registriert
16. Februar 2016
Beiträge
880
Lösungen
3
Reaktionspunkte
225
Punkte
113
Hallo Leute,

ich wollte mir wie hier beschrieben #56 eine wöchentliche Anmeldung bei meinem DynDns Anbieter einrichten.

Auf meinem Server läuft Debian.

Im Ordner unter etc/ cron.weekly habe ich in die Datei man-db folgenden Eintrag hinzugefügt
59 20 * * 6 /usr/bin/FreeDNS.pl NUTZER PASS >> /var/log/FreeDNS-Accounts.log

D.h. er sollte sich jeden Samstag um 20.59 Uhr anmelden. Log Datei sollte unter var/log liegen.
Da befindet sich aber nichts.

Ebenfalls habe ich die Datei FreeDNS.pl (wie von Schimmelreiter beschrieben) im Verzeichnis /usr/bin mit folgendem Inhalt erstellt:
#!/usr/bin/perl
use strict;
use warnings;
use POSIX;
use utf8;
use Encode;
use LWP::UserAgent;

die "Benutzung:\n\tFreeDNS.pl <Benutzername> <Passwort>\n" unless $ARGV[1];

my $FDNSUser=$ARGV[0];
my $FDNSPass=$ARGV[1];
my $FDNSbaseurl=" ";
my $FDNSBrowser = LWP::UserAgent->new;
$FDNSBrowser->agent("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36");
$FDNSBrowser->default_header('Accept-Encoding' => "deflate");
$FDNSBrowser->cookie_jar( {} );
$FDNSBrowser->timeout(20);

print(encode("utf-8","Verlängern des FreeDNS-Accounts ...\n"));
my $response = $FDNSBrowser->post( $FDNSbaseurl."/zc.php",
[
'username' => $FDNSUser,
'password' => $FDNSPass,
'action' => 'auth',
'submit' => qq{Login},
]
);
$response = $FDNSBrowser->get( $FDNSbaseurl."/menu/?ls=1" );

if ($response->content=~ m/.*UserID:<\/td><td bgcolor="#eeeeee" align="right">([^<]+)<\/.+/gis and (lc($1) eq lc($FDNSUser))) {
print(encode("utf-8","Anmeldung als User ".$1." erfolgreich!\n"));
exit 0;
} else {
print(encode("utf-8","Anmeldung als User ".$FDNSUser." gescheitert!\n"));
exit 1;
}

Wo liegt der Fehler ?

Viele Grüße

Keiner ?
 
Zuletzt bearbeitet von einem Moderator:
Kann kein Pearl, aber wird das Script laut Syslog zum gewünschten Zeitpunkt überhaupt ausgeführt?
 


Ist zum fraglichen Zeitpunkt auch der Eintrag drin?
 
...ist das skript ausführbar?
Code:
chmod +x /usr/bin/FreeDNS.pl

noch ein kleiner Nachtrag zu dem Skript:

Gruß
jensebub
 
Zuletzt bearbeitet:
Genau darum geht es mir, um das einloggen beim dyndns Anbieter.

Wenn ich putty öffne kommt folgendes

Nutzer andreas


Nutzer root
 
Zuletzt bearbeitet:
ich wollte nur sicher gehen, das du das skript für den richtigen Zweck nutzt
nachdem beim ausführen des Befehls keine Ausgabe kam (also kein Fehler) ist die Datei definitiv ausführbar. jetzt ist der Hinweis von @al-x83 wichtig, ins syslog zu schauen, ob oder ob der job nicht zur gewollten Zeit ausgeführt wird.

Gruß
jensebub
 
Unter var/log/syslog finden sich gefühlt 1000000 Einträge.

Nach was soll ich genau suchen ?
 
suche den oder die Einträge, die zu deiner Eingestellten Zeit passieren,... und dann sollte da vielleicht was von "CRON" zu finden sein
am besten wählst du eine zeit für cron in der nahen zukunft und guckst nochmal nach den änderungen
 
Also habe jetzt unter usr/bin/crontab folgenden Eintrag neu erstellt:

59 18 * * 5 /usr/bin/FreeDNS.pl NUTZER PASS >> /var/log/FreeDNS-Accounts.log

Somit sollte doch der Crontab um 18:59 Uhr jeden Freitag ausgeführt werden.

Es tut sich nichts, kein log unter var/log/FreeDNS-Accounts.log

Des Weiteren einen crontab unter ect/cron.d/php5 mit folgendem Inhalt

30 19 * * 5 /usr/bin/FreeDNS.pl NUTZER PASS >> /var/log/FreeDNS-Accounts.log

Tut sich allerdings auch nichts. Log wird auch keine angelegt.
 
Zuletzt bearbeitet:
du nutzt doch IPC, warum trägst du die Zeile nicht passend in i jobs?
da hasse alle beisammen,...
 
Wie genau soll das von statten gehen ?
Wie rufe ich das ipc nochmals auf ?


Gesendet von iPhone mit Tapatalk
 
tippe in der konsole den Befehl i jobs ein und es wird sich der crotab öffnen, den IPC für alle jobs nutzt. dort trägst du deinen mit ein, speicherst und schließt(strg+0 >> enter strg+x) und IPC läd den crontab automatisch neu,... und dann gucke vielleicht mal ins syslog, was da steht,... im übrigen auch über IPC (das webif) zu erreichen
 
Also wenn ich das mache bekomme ich folgendes:



Der erste für die IP Anpassung und der zweite für die Anmeldung am dyndns Anbieter.

Wie erreiche ich es über das webif ?
 
Für die Nutzung dieser Website sind Cookies erforderlich. Du musst diese akzeptieren, um die Website weiter nutzen zu können. Erfahre mehr…