Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Cronjob eintragen

Empfohlene Antworten

Veröffentlicht

Gibt es eine Möglichkeit einen Cronjob ins Crontab einzutragen, sodass dieser direkt erkannt wird, als hätte man es über crontab -e gemacht?

ich weiss jetzt nicht genau was crontab -e macht, aber ich hab schon cronjobs z.b. in die cron.daily eingetragen und diese sind beim nächsten durchlaufen des Crons sofort wirksam gewesen.

Gruß,

Markus

Wenn du crontab -e eingibst startet er vi und öffnet die datei /etc/crontab, dann musst du i drücken für insert, jetzt kannst du die Datei editieren, und die Zeile(n) eintragen. Wenn du fertig bist, musst du ESC drücken, jetzt :wq (write+quit) eingeben und Enter drücken.

Mit crontab -l kannst du dir die eingetragenen Crontabs ansehen. Ganz nett für die korekkte Syntax ist: http://www.linuxhilfen.org/befehle/crontab.html

Okay zweite Runde:

Ich hab mich scheinbar falsch ausgedrückt :! Also ich möchte per PHP einen Cronjob eintragen. Also mit shell_exec() oder exec(). Nur was muss ich da machen, damit ich den eintragen kann. Denn ich kann crontab -e schlecht bei exec() machen, da sich da ja vi öffnet.

Kenne mich mit php nicht aus, nur mit perl und bash. Da machst du das dann per echo, als beispiel: echo "crontabeintrag" >> /etc/crontab, dann fügt der das unten in die datei ein. Bei perl kann ich mit system ( "/bin/echo "crontabeintrag" >> /etc/crontab" ) machen. Musst aber root sein, da nur root die Datei ändern darf. Ansonsten mit Php den kram in ne Textdatei und dann n' kleines Shellscript, das per cron alle 5 Minuten die Crontab aktualisiert. Ist auch sicherer, da man niemals per PHP mit rootrechten auf dem Server arbeiten sollte. Geht sowieso nicht, aber wäre mit "sudo" möglich.

Da muss ich meinem Vorgänger zustimmen. Mit

 exec("sudo -u root command"); 

habe ich schon über php ein Herunterfahren realisiert.

wie gesagt, einfach die datei /etc/crontab öffnen und reinschreiben,...

wie gesagt, einfach die datei /etc/crontab öffnen und reinschreiben,...

Okay ich werds mal ausprobieren. Werd mich dann nochmal melden, wenn ichs getestet habe und ob es funktioniert hat.

Also wenn ich dich richtig verstanden habe, liegt dein Problem darin, dass crontab -e den VI öffnet und du das über shell_exec() oder exec() nicht realisieren kannst. Für alle Unix-Befehle, (die ich per shell_exec() über PHP ausführen möchte) wo sich danach ein Editor öffnet zum Eintragen, mache ich es so, dass ich dass, was ich eintragen möchte in eine Dateiumleitung (per > ) mache. Und wenn ich SicherheitsProbs habe (weil man Cronjobs vielleicht als root machen muss), dann mache ich mir ein kleines Shell-Skript, welches einfach den Befehl als Parameter entgegen nimmt und diesen ausführt (und dieses Skript mache ich dann für nobody ausführbar).

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.