Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Crontab zeigt keine Wirkung

Frage Linux

Mitglied: Fraenky

Fraenky (Level 1) - Jetzt verbinden

06.04.2010 um 17:22 Uhr, 5075 Aufrufe, 8 Kommentare

Hallo zusammen.

Ich bin gerade von Windows auf Linux umgestiegen und möchte jetzt ein Script zeitgesteuert über crontab laufen lassen.
Das erweist sich als schwieriger, als es auf den ersten Blick aussieht.

Was bisher geschah:

Zuerst habe ich ein kleines Script geschrieben, das einfache Zeilenmanipulationen an einer Textdatei vornimmt.
Dieses gehöhrt root und liegt im Ordner /usr/bin und ist ausführbar und funktioniert soweit.

Dann habe ich eine Kopie erzeugt mit
01.
crontab /etc/crontab 
und diese dann editiert mit
01.
crontab -e
Sodas ein
01.
crontab -l
folgendes Ergebnis liefert:
01.
SHELL=/bin/sh 
02.
PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin:/home/user/test 
03.
MAILTO=root 
04.
05.
# check scripts in cron.hourly, cron.daily, cron.weekly, and cron.monthly 
06.
07.
-*/15 * * * *   root  test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons >/dev/null 2>&1h 
08.
09.
1 * * * * root /home/user/test/test.sh 
10.
1 * * * * root test.sh
Wobei die letzten zwei Zeilen von mir eingefügt wirden in dem Versuch, das Script zeitgesteuert laufen zu lassen mit der Variation der unterschiedlichen Pfadangaben, falls das etwas mit dem nichtfunktionieren zu tuen hatt.
Hier zum testen minütlich.

Leider musste ich feststellen, das zwar der händische Aufruf funktioniert, der zeitgesteuerte über crontab hingegen nicht.

Das System ist SuseLinux und auch in den Ordner /etc/cron-hourly habe ich das Script test.sh abgelegt, aber ohne Wirkung.

Das Script selber hat folgenden Inhalt:
01.
#!/bin/bash 
02.
 
03.
DATEI=/pfad/test 
04.
 
05.
tail -1 $DATEI >$DATEI.tmp 
06.
 
07.
cat $DATEI >>$DATEI.tmp 
08.
 
09.
head --lines=-1 $DATEI.tmp > $DATEI 
10.
 
11.
rm /pfad/*.tmp*
Jetzt weiß ich in dieser Hinsicht nicht weiter und freue mich über helfendes mitdenken.
Das soll jetzt also der erste crontab-Lauf werden und irgendwas funktioniert nicht.

Gruß

Fraenky
Mitglied: matze2010
06.04.2010 um 19:15 Uhr
Hallo,

wenn ich mich nicht irre, dann sollten Zeile 1-8 in deiner privaten Crontab nix zu suchen haben. Dies ist die globale Crontab (welche du ja von /etc/crontab kopiert hast), die dann immer wieder prüft, ob es nicht lokale gibt und wenn es lokale gibt, dann wird wieder überprüft, ob......

Also einfach mal alles ausser Zeile 9+10 raus aus der user-crontab.

<edit>
achso, das root solltest du auch entfernen, weil die liste ja eh root gehört. Also nur noch

1 * * * * /home/user/test/test.sh
1 * * * * test.sh

</edit>

Lg
Matze
Bitte warten ..
Mitglied: Fraenky
06.04.2010 um 21:08 Uhr
Hallo Matze.

Habe jetzt mal wie Empfohlen alles rausgenommen, aber leider keine Reaktion feststellbar.

Wie gesagt, ich habe bis jetzt noch keinen Cronjob gestartet, so das vielleicht noch was eingestellt werden muss, oder so.

Kennst Du denn eine Möglichkeit, überhaupt die Funktionsfähigkeit von Cron zu testen, wobei ich erwähnen muss, das der Dienst läuft.
Oder, falls das irgendwas mit dem Script zu tun hat, was könnte ich denn mal per Crontab starten, was sicher funktionieren müsste, um erst mal die Ansprechbarkeit von crontab zu überprüfen?

Dank soweit

und Gruß

Fraenky
Bitte warten ..
Mitglied: dog
06.04.2010 um 21:39 Uhr
01.
1 * * * * root test.sh
Die Zeile kann nicht funktionieren, weil für cron nicht dein Working Directory definiert ist.

Du hast aber bei deinem Script schon
01.
chmod +x test.sh
ausgeführt?
Bitte warten ..
Mitglied: matze2010
06.04.2010 um 21:53 Uhr
Zitat von Fraenky:
Oder, falls das irgendwas mit dem Script zu tun hat, was könnte ich denn mal per Crontab starten, was sicher funktionieren
müsste, um erst mal die Ansprechbarkeit von crontab zu überprüfen?

echo "rennt" > /home/user/crontest.txt

das schreibt "rennt" ohne "" in eine Textdatei. Den Ordnerpfad musst du natürlich anpassen.

<edit>
Du weißt aber schon, dass 1 * * * * immer zur ersten Minute einer Stunde ausgeführt wird?

Also 20:01, 21:01, 22:01 und nicht jede Minute?!

Du könntest also */1 nehmen, dann wäre es jede Minute.
</edit>

Lg
Matze
Bitte warten ..
Mitglied: Deepsys
06.04.2010 um 22:01 Uhr
N'Abend,

was mir nicht so ganz einleuchtet: Warum kopierst du die crontab ??

Ich kenne es nur so das man als betreffender User einfach crontab -e ausführt und gut ...
Wenn man keine hat, nimmt crontab eine leere ...

VG
Deepsys

PS: Ich würde nie ein Linux-Script test.sh nennen, es gibt ein bashprogramm namens test (allerdings ohne .sh)und wenn du da beim Aufruf durcheinander kommst ....
Bitte warten ..
Mitglied: matze2010
06.04.2010 um 22:09 Uhr
Zitat von Deepsys:
N'Abend,

was mir nicht so ganz einleuchtet: Warum kopierst du die crontab ??

Ich kenne es nur so das man als betreffender User einfach crontab -e ausführt und gut ...
Wenn man keine hat, nimmt crontab eine leere ...

Weil dann Umgebungsvariablen schon gesetzt werden können, so wie der Systemadmin es vorgesehen haben könnte? Und solange die Benutzer es dann nicht löschen..

VG
Deepsys

PS: Ich würde nie ein Linux-Script test.sh nennen, es gibt ein bashprogramm namens test (allerdings ohne .sh)und wenn du da
beim Aufruf durcheinander kommst ....

ich nenne sie immer rm-rf-/.sh da ist bisher noch nie was passiert

Lg
Matze
Bitte warten ..
Mitglied: Deepsys
06.04.2010 um 22:15 Uhr
> Zitat von Deepsys:
Weil dann Umgebungsvariablen schon gesetzt werden können, so wie der Systemadmin es vorgesehen haben könnte? Und solange
die Benutzer es dann nicht löschen..

OK, das macht Sinn.


ich nenne sie immer rm-rf-/.sh da ist bisher noch nie was passiert

Gute Idee, das mache ich nun auch immer

VG
Deepsys
Bitte warten ..
Mitglied: Fraenky
06.04.2010 um 23:32 Uhr
Hallo Matze

Ja, ja, das erste mal.

*/1 wars. Danke für die Aufmerksamkeit.

@ Deepsys

Ich hatte das Script hier umbenannt. Aber Danke für den Hinweis.


Gruß

Fraenky
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Server
gelöst Sprachpaket für Sharepoint 2016 zeigt keine Wirkung (1)

Frage von DerWoWusste zum Thema Windows Server ...

Windows Update
WSUS zeigt max. 69 Clients an (2)

Frage von TheGoodOne zum Thema Windows Update ...

Batch & Shell
gelöst Crontab mit Shell Probleme (9)

Frage von mschaedler1982 zum Thema Batch & Shell ...

Notebook & Zubehör
Laptop Bildschirm zeigt komische Farben (10)

Frage von Amanuel zum Thema Notebook & Zubehör ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...