Cronjob einrichten bekomme ich nicht hin?

Hallo ich wollte mir Hilfe dieser Seite,einen Cronjob einrichten und bin dazu wie folgt vorgegangen.

Ich habe über Putty mit diesem befehl crontab -l mir die schon vorhandenen Cronjobs anzeigen zu lassen und das ist das ergebniss.
Code:
no crontab for root - using an empty one
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command
~
"/tmp/crontab.22v7Vp/crontab" 22L, 888C                       1,1           All
In der ersten zeile sagt er mir das keine Cronjobs existieren für root,soweit so gut.
Dann habe ich vermutet das diese Pfad angabe /tmp/crontab.22v7Vp/crontab das Cronjob verzeichniss ist und habe dort eingetragen:
Code:
0 22 * * 6 root /root/confixx/admin/contrib/auto_reg.pl
Dann den apache neu gestartet , aber nach einem erneuten eingeben des befehls crontab -l zeigt er mir immer noch das kein Cronjob vorhanden ist.

Was mache ich Falsch?

Gruß
 
Du kannst den Crontab entweder mit `crontab -e` editieren oder diesen direkt in /etc/crontab eintragen.
 
Ich würde den cronjob einfach in die Datei "/etc/crontab" eintragen.

Danach einmal cron neustarten (/etc/init.d/cron restart) und fertig.
Apache neuzustarten macht da kein Sinn. ;)
 
Ich würde den cronjob einfach in die Datei "/etc/crontab" eintragen.

Danach einmal cron neustarten (/etc/init.d/cron restart) und fertig.
Apache neuzustarten macht da kein Sinn. ;)
Dort habe ich ihn schon eingetragen gehabt und er hat den Cronjob dann nicht ausgeführt,den meine Confixx Lizens die er damit erneuern soll,war gestern mal wider abgelaufen und ich musste sie Manuell erneuern.

Nun habe ich sie wider in /etc/crontab eingetragen und deinen befehl mal ausgeführt , vielleicht geht er ja jetzt.

Wenn ich das `crontab -e` in Putty eingebe öffnet sich nichts wo man Editieren oder eintragen kann?

Braucht man beides nicht.
Da bin ich mir nicht so sicher,vielleicht hat bei mir der Befehl gefehlt und deshalb gimg der Cronjob nicht.
 
Hast du auf der Shell mal probiert, ob der Befehl
Code:
/root/confixx/admin/contrib/auto_reg.pl
überhaupt so ausgeführt werden kann? oder kann es sein, dass es eher so heißen müsste:
Code:
perl /root/confixx/admin/contrib/auto_reg.pl
 
Wenn ich den Code so in der Shell auführe:
Code:
/root/confixx/admin/contrib/auto_reg.pl
Das geht da Zeigt er mir jetzt an Updatet ok,das heist das script ist durch gelaufen.

Der Code geht aber auch,wo ist der Unterschied?
Code:
perl /root/confixx/admin/contrib/auto_reg.pl

Ich habe nun noch mal das 'crontab -1' gemacht und das ist das ergebniss.
Code:
no crontab for root
 
Last edited by a moderator:
Der Code geht aber auch,wo ist der Unterschied?
Wenn in einem Skript ein Shebang steht, als in der ersten Zeile
Code:
#!/usr/bin/perl
wird das Skript an den richtigen Interpreter also Perl weitergegeben. Ist das nicht der Fall, muss man es an Perl direkt übergeben. Das wäre dann der zweite Befehl.

Wenn du unter etc/crontab was einträgst, wirst du es bei den normalen Cronjobs nicht sehen.
 
Wenn du unter etc/crontab was einträgst, wirst du es bei den normalen Cronjobs nicht sehen.
Es scheint da ja nicht zu funktionieren sonst wäre die Lizens nicht wider abgelaufen,wie kann ich das Testen obder Cronjob läuft und richtig läuft?
 
Entweder trägst Du am Ende der /etc/crontab diese Zeile ein:
Code:
0 22 * * 6 root /root/confixx/admin/contrib/auto_reg.pl
Oder Du startest als root den Befehle "crontab -e" und trägst dann diese Zeile ein:
Code:
0 22 * * 6 /root/confixx/admin/contrib/auto_reg.pl
Mehr musst Du nicht machen.
 
Danke aber wie schon erwähnt,wenn ich in Putty 'crontab -e' eingebe und enter drücke kann ich nichts mehr eingeben.

Ist es wichtig den Code in der v ganz unten am Ende ein zu tragen,weil ich hatte ihn mitten drinn.
 
Wird dir denn etwas angezeigt, wenn du crontab -e eingibst? Wenn ja, drück mal i, dann solltest du auch schreiben können (ich vermute mal, dass es sich um vi oder vim handelt). Ob der Eintrag ganz unten ist, ist eigentlich wurscht. Jeder Eintrag bekommt eine eigene Zeile.

Wenn du dann abspeichern und verlassen willst, drücke esc um den Insert-Modus zu verlassen udn gib :wq ein. Damit speicherst und schließt du.
 
Wenn ich crontab -e eingebe , bekomme ich das was im Screenshot ist,dann kann ich das I drücken dann Zeigt er mi ganz Unten Insert an.

Wenn ich dann den code eingebe hat es keine auswirkung,siehe Screenshot 2.
 

Attachments

  • putty.png
    putty.png
    54.7 KB · Views: 172
  • putty2.png
    putty2.png
    68 KB · Views: 153
Ist an sich richtig.
Eigentlich gehört der Befehl unter den Kommentarblock, aber egal. Inwiefern hat das keine Auswirkungen?
 
Wenn er an dieser stelle ist und ich enter drücke passiert nichts , gerade denke ich mal weil er unter den kommentar Block gehört und genau da lässt er sich nicht mehr hin setzen.
 
Ich habe dir doch geschrieben, was du tun sollst. Noch mal.

Du öffnest mit contab -e den Editor, in deinem Fall vi oder vim. Du drückst i, um in den Insert-Modus zu kommen. Navigiere mit den Pfeiltasten nach unten und kopiere deinen Befehl hinein. Dann drückst du esc, um den Insert-Modus zu verlassen, danach : und dann wq. Erst danach drückst du Enter, was den Editor schließen sollte und gleichzeitig den Cronjob aktiviert.
 
Ich würde deine anweissung gerne zum testen umsetzen,aber im moment will der Server glaube ich nicht.

Wenn ich contab -e eingebe,bekomme ich als Antwort -bash: contab: command not found.Meines englscih nach kann er den befehl nicht ausführen weil er es nicht findet oder?
 
Ja stimmt sorry habe das r vergessen , nun ging es und ich habe die anweissungen von @wemaflo befolgt es hat soweit denke ich auch geklappt nur ging es mit den Pfeiltasten nicht weiter nach unten wie bis über dem --Insert-- dann habe ich es darüber eingefügt ESC gedrückt und dann erst die Enter Taste gedrückt ,das einzigste was sich danach geändert hat ist das das --Insert-- weg war.

Der Editor (Putty) ist offen geblieben und nichts weiter passiert.
 
Back
Top