Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

ntpdate Problem mit cron?

Alles rund um die verschiedenen Konsolen und shells sowie die Programmierung unter Linux

Moderator: Moderatoren

Antworten
Benutzeravatar
draXo
Newbie
Newbie
Beiträge: 24
Registriert: 5. Aug 2004, 16:14

ntpdate Problem mit cron?

Beitrag von draXo »

Hallo,

ich möchte ien Zeitsyncronisierung zu einerb estimmten zeit machen.
Also habe ich eine datei timesync.sh erstellt. diese beinhaltet:

Code: Alles auswählen

ntpdate 192.53.103.103
Wenn ich die Datei ausführe mit ./timesync.sh klappt alles. Wenn ich aber diese Datei als cron-job (?) einrichte, kommt die fehlermeldung ./timesync.sh: line 1: ntpdate: command not found
nur wieso ?
Gast

Beitrag von Gast »

Nimm mal das hier. Kopiere den Script in dein '$HOME/bin' Verzeichnis, und verlinke ihn nach '/etc/cron.daily'. Achso, natürlich ein 'chmod 755 scriptname' nicht vergessen. Damit wird deine Uhr jede Nacht automatisch gestellt. Ist natürlich nur was für Flatratebesitzer. Ansonsten kannst du ihn ja auch mit Rootrechten von Hand anstossen.

Code: Alles auswählen

#!/usr/bin/perl -w
#
$USER_ID = `id -u`;
$PROG_NAME = `basename "$0"`;
#
if ( $USER_ID != 0 )
	{
	printf "You must be root to start $PROG_NAME";
	exit(1);
	}
	# sync clock
	$NTP = `/usr/sbin/ntpdate -u 192.53.103.103`;

	$NTP = substr $NTP, (index $NTP, "offset");
	if ($NTP eq '')
	{
		$NTP = "failed";
	}
	# update hardware clock
	`/sbin/clock --systohc`;

	# write to logfile
	`logger -t "$PROG_NAME" "clock sync: $NTP"`;
Gruß
Benutzeravatar
draXo
Newbie
Newbie
Beiträge: 24
Registriert: 5. Aug 2004, 16:14

Beitrag von draXo »

Ich würde lieber wissen, warum er die Fehlermeldung ausgibt.
Gast

Re: ntpdate Problem mit cron?

Beitrag von Gast »

draXo hat geschrieben: .... kommt die fehlermeldung ./timesync.sh: line 1: ntpdate: command not found
nur wieso ?
Nun , er hats halt nicht gefunden. Wieso kann ich dir auch nicht sagen. Vielleicht liegt es daran das keine Shebang-Zeile (#!/bin/bash) am Anfang des Scriptes ist, oder es nicht bei root in die crontab eingetragen war .... Vielleich war es auch nicht innerhalb der PATH-Variable auffindbar, 'ntpdate' ist, glaub ich, unter /usr/sbin installiert. Da gibt es viele Möglichkeiten.
Benutzeravatar
Martin Breidenbach
Ultimate Guru
Ultimate Guru
Beiträge: 5632
Registriert: 26. Mai 2004, 21:33
Wohnort: N 50.17599° E 8.73367°

Re: ntpdate Problem mit cron?

Beitrag von Martin Breidenbach »

draXo hat geschrieben:./timesync.sh: line 1: ntpdate: command not found
nur wieso ?
Schreib den kompletten Pfad rein.
Nicht Böse sein ! Der Onkel macht doch nur Spaß !
Benutzeravatar
Geier0815
Administrator
Administrator
Beiträge: 4436
Registriert: 14. Jun 2004, 09:12

Beitrag von Geier0815 »

Moin draXo,

unter welchem User läuft der cronjob? Versuch es mal als root und alles wird gut. (reimt sich sogar und laut Pumuckel ist alles was sich reimt gut)
Benutzeravatar
scg
Hacker
Hacker
Beiträge: 399
Registriert: 4. Jul 2004, 09:56
Wohnort: Nürnberg (SuSE-City)
Kontaktdaten:

Beitrag von scg »

Ich mein, er findet das ntpdate-Kommando nicht, also entweder weil der angemeldete Benutzer es nicht im Suchpfad hat (Stichwort: root crontab !) oder weil in der crontab ohnehin voll qualifizierte Pfadangaben der beste Weg sind, also der komplette Pfad zu ntpdate angegeben werden sollte.

Guck übrigens auch mal in unser Forum "Uhrzeit".
CU scg
Benutzeravatar
draXo
Newbie
Newbie
Beiträge: 24
Registriert: 5. Aug 2004, 16:14

Beitrag von draXo »

also er wird natürlich aus dem kompletten pfad ausgeführt, also
/./timesync.sh. Ausführung erfolgt als root. Ich habe den dienst mit Webmin angelegt. Es ist ja nicht so, dass nichts funktionieren würde. andere cron jobs gehen ja auch, nur dieser nicht...


ch mein, er findet das ntpdate-Kommando nicht, also entweder weil der angemeldete Benutzer es nicht im Suchpfad hat (Stichwort: root crontab !) oder weil in der crontab ohnehin voll qualifizierte Pfadangaben der beste Weg sind, also der komplette Pfad zu ntpdate angegeben werden sollte.
Könntest du mir das noch einmal genauer erläutern? :wink:


edit: die datei sieht nun so aus:

Code: Alles auswählen

/usr/sbin/ntpdate 192.53.103.103
aber gleiches problem :cry:

edit2: nun geht's DANKE :)
admine
Administrator
Administrator
Beiträge: 8941
Registriert: 15. Feb 2004, 21:13

Beitrag von admine »

Moin,

versuch mal

Code: Alles auswählen

/usr/sbin/ntpdate -u 192.53.103.103
Grüße
-------------------------
..:: Deutsche Mugge ::..
-------------------------
Benutzeravatar
draXo
Newbie
Newbie
Beiträge: 24
Registriert: 5. Aug 2004, 16:14

Beitrag von draXo »

was bewirkt das -u ?
btw. Es kalppt auch schon so (siehe meinen oberen Post)
switcher51
Member
Member
Beiträge: 142
Registriert: 1. Okt 2004, 19:18

Beitrag von switcher51 »

Einstieg: /usr/share/doc/packages/xntp-doc/html/index.html
....
-u Direct ntpdate to use an unprivileged port or outgoing packets. This is most useful when behind a firewall that blocks incoming traffic to privileged ports, and you want to synchronise with hosts beyond the firewall. Note that the -d option always uses unprivileged ports.

Gruß switcher51
Antworten