php.de

Zurück   php.de > Webentwicklung > Server, Hosting und Workstations

Server, Hosting und Workstations Server-Konfigurationsdateien (.htaccess/httpd.conf) und Arbeiten auf Serverebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.09.2011, 13:30  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard Crontab mit PHP oder Perl manipulieren

Ich möchte gerne morgens eine Zeittabelle erstellen mit z.B. 10 Einträgen:

08:12 machwas.php
08:22 machwas.php
09:13 machwas.php
10:55 machwas.php

usw.

Zu diesen Zeiten soll dann das Script machwas.php gestartet werden, welches eine Mysql-Tabelle manipuliert.

Kann man mit PHP oder Perl die Crontab ändern? Man müsste die alte Crontab (von gestern) bereinigen und die neuen zufällig berechneten Zeiten reinschreiben.

Alternative Lösungen per Trigger scheiden aus, da kein User auf einer Seite aktiv wird.

Gibt es einfachere Ansätze?
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 14.09.2011, 14:03  
Erfahrener Benutzer
 
Registriert seit: 28.06.2009
Beiträge: 109
PHP-Kenntnisse:
Fortgeschritten
eisenhans befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Wolla Beitrag anzeigen
Kann man mit PHP oder Perl die Crontab ändern? Man müsste die alte Crontab (von gestern) bereinigen und die neuen zufällig berechneten Zeiten reinschreiben.
Wenn Du den vollen Zugriff auf deinen Webserver hast, kannst Du das machen.

Ich bin kurz davor mir einen Ansatz zu bauen, der so aussieht:
Es gibt eine Jobtabelle, in der Aufgaben bzw. Skripte eingetragen werden,
mit Zeitangabe der nächsten Ausführung, evtll. noch Priorität.

Der Cronjob läuft alle Stunde (zum Beispiel) durch und schaut nach, ob
etwas zum Abarbeiten da ist, schmeißt den Job an und fertig.

Wenn Du so ein Verfahren anwendest, kannst Du ebenfalls zufällige Skripte ausführen, ohne die Crontab zu manipulieren, indem Du sie einfach in die Jobtabelle schiebst.
__________________
Webstammtisch Oldenburg
eisenhans ist offline   Mit Zitat antworten
Alt 14.09.2011, 16:58  
opm
Neuer Benutzer
 
Registriert seit: 13.09.2011
Beiträge: 4
PHP-Kenntnisse:
Fortgeschritten
opm befindet sich auf einem aufstrebenden Ast
Standard .

Zitat:
Zitat von Wolla Beitrag anzeigen
...
Gibt es einfachere Ansätze?
Die crontab kann (wenn Zugriff auf die bash shell möglich ist) relativ einfach geändert werden:
Code:
crontab -l | { cat; echo "MIN HOUR DAY MONTH DAYOFWEEK   COMMAND"; } | crontab -

Hoffe es hilft ^^
opm ist offline   Mit Zitat antworten
Alt 14.09.2011, 18:25  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

OPM - probier ich auch mal aus, Zugriff ist kein Problem.

Eisenhans - das hab ich nicht verstanden. Wenn Cron um z.B. 12 Uhr nachschaut, dass um 12:45 was laufen soll, was soll dann passieren?
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline   Mit Zitat antworten
Alt 14.09.2011, 23:11  
Erfahrener Benutzer
 
Registriert seit: 28.05.2008
Beiträge: 2.094
PHP-Kenntnisse:
Fortgeschritten
rudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nett
Standard

Wenn du einmalige Jobs mit Uhrzeit registrieren möchtest, würde sich „at“ anbieten

http://linux.about.com/library/cmd/blcmdl1_at.htm
__________________
++++ Wieder einer ins Netz gegangen: Phishers Fritz zufrieden ++++
Blog
rudygotya ist offline   Mit Zitat antworten
Alt 15.09.2011, 06:52  
Erfahrener Benutzer
 
Registriert seit: 28.06.2009
Beiträge: 109
PHP-Kenntnisse:
Fortgeschritten
eisenhans befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Wolla Beitrag anzeigen
Eisenhans - das hab ich nicht verstanden. Wenn Cron um z.B. 12 Uhr nachschaut, dass um 12:45 was laufen soll, was soll dann passieren?
Das Intervall war jetzt zufällig gewählt und nicht für dein Beispiel geeignet.

Du kannst den Cron auch alle 5 Minuten oder jede Minute laufen lassen,
um das Skript dann direkt auszuführen,

oder Du nutzt time_sleep_until.
__________________
Webstammtisch Oldenburg
eisenhans ist offline   Mit Zitat antworten
Alt 15.09.2011, 11:52  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Rudygotya - hab ich mal an meinen Systemspezi weitergereicht zum testen, danke.
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline   Mit Zitat antworten
Alt 15.09.2011, 15:25  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Warum überhaupt dynamisch das cron-table umdefinieren ?

Bau dir doch einen Shedudler der alle 10 Sekunden aufgerufen wird und quasi ein cron-subtable arrangiert und entsprechende Cron-Prozesse im System spawnt. Einer der Vorteile wäre das du ein redundantes Status-Interface schaffen kannst ( in einem Format deiner Wahl ) und auch die Prozess-Handles dynamisch in ihrer Priorität verändern kannst ( also quasi alles das was ein normales crontable auf dem nativen weg nicht erlaubt ).
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 15.09.2011, 16:54  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Kannste dat ma für jemanden umformulieren, der von Linux nur weiß wie es geschrieben wird?
Wie baue ich etwas, was alle 10 Sekunden aufgerufen wird? Cron geht eh nicht, weil der Kunde grade damit ankam, dass er das auch noch sekundengenau will. Also 09:13:46, dann 11:17:21 usw...
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline   Mit Zitat antworten
Alt 15.09.2011, 17:34  
Erfahrener Benutzer
 
Registriert seit: 28.05.2008
Beiträge: 2.094
PHP-Kenntnisse:
Fortgeschritten
rudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nett
Standard

Wieso kompliziert, wenns einfach geht?

Code:
at -f example.php -v 10:25:17
führt die example.php um 10:25:17 aus.

example.php shebang nicht vergessen (Ausgabe des Pfades von `which php` verwenden):
Code:
#!/usr/bin/php
Siehe wikipedia shebang

und Datei ausführbar machen (chmod +x example.php). => fertig. Mit `atq` bekommst du eine Liste der registrierten Jobs, mit atrm kannst du Jobs auch wieder entfernen.

Grüße


Basti
__________________
++++ Wieder einer ins Netz gegangen: Phishers Fritz zufrieden ++++
Blog
rudygotya ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Webbots eher in Perl als PHP programmieren? chess PHP Einsteiger 2 23.08.2011 15:05
Perl in PHP ausführen Hydro PHP Einsteiger 14 27.05.2011 08:51
[Erledigt] Crontab, aber wie PatrickK Server, Hosting und Workstations 6 19.10.2008 15:11
PHP Code in Perl einbinden PHP Tipps 2006 6 22.02.2006 08:03
perl eval und $@ in php? PHP Tipps 2007 4 15.11.2005 13:59
Suche Antwort -> PHP oder Perl? c01001 Beitragsarchiv 9 10.10.2005 22:31
München: Programmierer PERL und PHP/MySQL dringend gesucht Beitragsarchiv 0 24.09.2005 10:13
perl compilieren greenrover Server, Hosting und Workstations 4 07.09.2005 10:12
perl hash aus mysql blob mit php lesen PHP-Fortgeschrittene 6 07.07.2005 17:36
Crontab über Console ohne Editor freq.9 Server, Hosting und Workstations 6 05.05.2005 13:38
Perl Script von PHP aus aufrufen? PHP Tipps 2005 9 11.03.2005 01:39
[Erledigt] Crontab Problem Server, Hosting und Workstations 4 27.02.2005 21:08
Perl Problem mit Debian & Apache2 c01001 Server, Hosting und Workstations 9 03.12.2004 15:27
[Erledigt] .pl Perl Datei editieren PHP-Fortgeschrittene 2 28.10.2004 11:37
[Erledigt] Strings manipulieren PHP Tipps 2004 2 02.08.2004 10:52

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
crontab perl ändern, php crontab editieren, crontab manipulation per skript, php crontab bearbeiten

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:14 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum