Top-Themen

Aktuelle Themen (A bis Z)

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

Pro/Contra PHP CRON-Jobs

Mitglied: cwoerns

cwoerns (Level 1) - Jetzt verbinden

27.11.2005, aktualisiert 30.12.2005, 7919 Aufrufe, 3 Kommentare

Pro und Contra gegenüber PERL

Hallo,

ich muss in der nächsten Zeit für ein größeres Online-Projekt einen Cron-Job entwickeln.
Dieser soll MySQL-Daten exportieren, ändern und diese danach in eine andere
Datenbank eintragen. Ausserdem sollen 4 Verzeichnisse â je 30 MB kopiert werden.

Dieser CRON sollte 1 mal am Tag Nachts ausgeführt werden.

Nun, bin ich am überlegen welche Sprache ich für die Umsetzung benutzen sollte?

Was spricht gegen PHP?
Habe ich ein Timeout des Scripts zu befürchten?

Hier meine bescheidenen pro/contra Punkte:

Pro PHP
o Ich kann die Sprache... ;)

Contra PHP
o Ich befürchte einen Timeout des Scripts!

Ich hoffe ihr könnt mir ein paar Tipps geben...

Liebe Grüße,
Christian
Mitglied: Guenni
27.11.2005 um 18:03 Uhr
@cwoerns

Hi,

ich würde alle Anweisungen zur Datenbankbearbeitung in eine Textdatei schreiben und
mysql zur gewünschten Zeit per Cron-Job mit der Datei als Parameter starten :

mysql < dateiname

Gruß
Günni
Bitte warten ..
Mitglied: AreaZ
27.11.2005 um 20:07 Uhr
Standardmäßig ist mit einem Timeout nach 30 - 90 Sekunden zu rechnen, je nach Paket.

Es gibt mehrere Lösungsansätze, dieses zu umgehen.
Der einfachste ist den Timeout (MAX_EXECUTION_TIME) mit dem Wert:

- 0 für unendliche Laufzeit ausser Kraft zu setzen
- 86400 für einen Tag maximal Laufzeit.

Da Du wahrscheinlich CGI bzw CLI Version von PHP nutzen wirst, sollte dies keine Auswirkungen auf die Webserver basierten Anwendungen haben. Voraussetzung die php.ini für CGI/CLI (PHP Konfiguration) ist der des Webservers getrennt.

Diese Methode hat allerdings einen entscheidenden Nachteil. Scripte, welche Fehler aufweisen laufen dann unaufhörlich weiter.

Ein Beispiel:

<?

$fd = fopen(__DATEI__, "r");

while(!feof($fd))
{
$buffer .= fgets($fd, 1024);
}

fclose($fd);

?>

Kann auf __DATEI__ nicht zugegriffen werden, läuft die while Schleife unaufhörlich ab, ohne eine Aufgabe zu erledigen und zieht Dir bei schlecht oder fehlerhaft konfiguriertem System die Maschine bis an die Grenzen der Belastbarkeit.

Ein weiterer Lösungsansatz ist den Timeout während der Laufzeit und nur für dieses Script ausser Kraft zu setzen.

<?

ini_set("max_execution_time", "86400");

?>

Dies ist allerdings aufgrund von Sicherheitseinstellungen nicht auf jedem System machbar.

So eignet sich in der Tat für einen derartigen Cron-Job ein Shell-Script aller Bash oder SH, besser, wenn Du nicht gerade über einen administrativen Zugang verfügst.
Bitte warten ..
Mitglied: xypseudo
30.12.2005 um 22:35 Uhr
Je nachdem auf was für einem Server du das laufen hast, kann es auch sein, dass du für PHP auf der Kommandozeile (was bei einem Cronjob ja der Fall ist) ein zusätzliches Paket installiert hast, sprich PHP-CLI (CLI = Command-Line-Interface).

Es gibt 3 Möglichkeiten:
1.: Wenn du Glück hast, hast du auch 2 php.ini's (eine für die Webserver-Version, eine für CLI-Version). Dann kannst du für die CLI-Version andere Limits wie für den Webserver setzen und alles ist gut.

2.: Du benutzt für den Webserver und das CLI ein Paket mit einer php.ini. Dann musst du ma nachschauen, ob beim Aufruf von "execute" oder "system" unter PHP auch das Laufzeiten-Limit greift, da PHP ja zwar in dem Moment arbeitet, aber das Script quasi Idelt und im Hintergrund ein System-Befehl ausgeführt wird.

3.: Du machst es mittels Shell-Scripting
Das könnte dann als Datei so hier aussehen:

mysqldump -hlocalhost -uuser -ppasswort datenbank > /home/user/backup/backup.sql
cp -R /home/user/verzeichnis /home/user/backup

Du kannst also in einer Datei alle Befehle die du brauchst untereinander schreiben. Musst nur der Datei später die Rechte 755 geben (sonst kann der Cron-Daemon sie nich ausführen) und GAAAAHAAANZZZZ wichtig: IMMER, wirklich IMMER absolute Pfade benutzen.

Anm.: Unter Suse geht z.B. ein rcapache restart als Cronjob nicht, da in dem rcapache-Script ein Start-Stop-Daemon aufgerufen wird, welcher da aber nicht mit absolutem Pfad angegeben ist. So Sachen haben mich schon unmengen an Zeit gekostet


greetz, pseudo
Bitte warten ..
Ähnliche Inhalte
Debian

Mit DD Cron Job für DD auf Netzlaufwerk erstellen

gelöst Frage von zeroblue2005Debian26 Kommentare

Hallo Zusammen, komme eigentlich mehr aus der Windows Welt, jedoch habe ich mich mal daran gemacht, ein Debian zu ...

Ubuntu

Cron spamt root mit mails zu (php sessionclean)

Frage von tommy1735Ubuntu4 Kommentare

Moin Ich würde gerne den spam von cron an root abstellen weiß aber nicht an welcher stelle hier so ...

Backup

VM Ware ESXI 6.5 Free Cron Job GhettoVCB

Frage von blackhawk17Backup5 Kommentare

Guten Abend, ich möchte gerne eine virtuelle Maschine auf einem ESXI 6.5 free auf mein NAS (NFS) sichern. Gesichert ...

Ubuntu

Grafisches Tool via Cron

gelöst Frage von schneerunzelUbuntu3 Kommentare

Hallo zusammen, ich möchte die Software FreeFileSync per Cron ausführen. Leider gibt es keine richtige Meldung im Log. Wenn ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 14 StundenHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 22 StundenRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 1 TagSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 1 TagWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Sicherheit
Verbindliche Zustellung per E-Mail?
Frage von ahussainSicherheit18 Kommentare

Hallo allerseits, ein Kunde von mir nutzt intensiv Fax. Hauptgrund: zusammen mit einer Empfangsbestätigung ist eine verbindliche Zustellung gewährleistet. ...

Sonstige Systeme
Wie Normenkataloge im Unternehmen bereit stellen?
Frage von MuzzepuckelSonstige Systeme14 Kommentare

Hallo Kollegen, ich lese schon lange hier mit, nun mein ersrer Beitrag, bzw. Frage. :-) Wir benötigen für unsere ...

SAN, NAS, DAS
Entscheidung SAN Dell oder HP
Frage von VincorSAN, NAS, DAS13 Kommentare

Hallo, wir wollen uns für unsere Hyper V Umgebung eine neue SAN Anschaffen. Es laufen 30 VM's darunter, DC; ...

Linux Netzwerk
Raspberry Pi 3: WLAN Power save deaktivieren
Frage von nordie92Linux Netzwerk12 Kommentare

Moin moin, mein Raspberry Pi 3 Model B benötigt eine dauerhaft aktive WLAN-Verbindung. Leider bricht die WLAN-Verbindung nach einigen ...