Quantcast
Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

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:
...

Mein Script ist jedenfalls nicht zum Updaten der Hosts, sondern um den Account am Leben zu halten.
Man muß sich bei FreeDNS mindestens 1x alle 6 Monate einloggen und um das nicht zu vergessen kann man das mit meinem Script durch einen Linux-Rechner regelmäßig automatisch erledigen lassen

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:
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 ?
 
Zurück
Oben