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

gelöst Ein Script, verschiedene Intervalle für Cronjob

Mitglied: tsunami

tsunami (Level 1) - Jetzt verbinden

22.02.2017 um 09:50 Uhr, 818 Aufrufe, 7 Kommentare

Hallo,
ich habe mal wieder einen Denkhänger.
Eine Seite mit Scripten soll via Cronjob aufgerufen werden. Soweit klar.

Nun habe ich aber die Aufgabe verschiedene Startzeiten zu setzen. Bsp. TÜV alle zwei Jahre, Heizungswartung jedes Jahr, Serverwartung alle 3 Monate usw.

EIne Variante ist natürlich mit Zähler und "%" Also Tage zählen, den letzten Jobaufruf und wenn die Differenz (%) = 0, dann insert... $x++ usw.

Aber das fände ich blöd, weils dann vollläuft mit Datenmüll. Eine Idee ist nun irgendwie mit Startdatum und dann einfach alle x Tage prüfen.
Also wenn zb alle 60 Tage Reifen geprüft werden sollen, Tage aktuelles Datum minus Tage Startdatum, Wenn das glattes vielfaches von 60, dann ausführen...
Aber so richtig rund ist das nicht, oder?

Gibt es eleganteres?

mfG
tsunami
Mitglied: Snowman25
22.02.2017 um 12:03 Uhr
Hallo tsunami,

Elegenater wäre, das alles in einzelne Scripte bzw. Seiten zu packen und für jeden Job seinen eigenen Cronjob zu machen.
Die Ergebnisse speicherst du dann in einzelne Files und rufst diese in deiner originalen PHP-Datei ab, anstatt das Live-Output der Jobs zu nehmen.

Gruß,
Snowman25
Bitte warten ..
Mitglied: tsunami
22.02.2017 um 20:11 Uhr
Vielen Dank für die Anregung.
Dann wird es kompliziert.
Aktuell habe ich sowas wie eine Erinnerung in der Datenbank.

Virenscanner neu alle 365 Tage
Schlange füttern alle 3 Monate
TÜV alle 2 Jahre
...
Über ein Formular sollen halt neue Erinnerungen hinzufügbar sein. Oder meinst Du einfach 3 Tabellen? Monate, Tage, Jahre?
Aber das geht a auch nicht, denn wenn dann einer alle 4 Moante oder alle 7 Monate was machen muss...

Ich könnte es natürlich in drei Tabllen (Monatecron, Jahrecron und tagecron ) packen. Aber was mache ich dann mi Startdaten? EIner fängt am 1.1. an der nächste m 12.4. und wieder einer am 31.10. Dann müsste ich für jedes Event einen Cronjob anlegen...
Bitte warten ..
Mitglied: Snowman25
23.02.2017 um 10:04 Uhr
Zitat von tsunami:

Dann müsste ich für jedes Event einen Cronjob anlegen...

Korrekt.
Spricht da etwas dagegen?
Bitte warten ..
Mitglied: tsunami
23.02.2017 um 12:04 Uhr
Ja, erstens hat der Provider nur bedingt Cron Jobs im Paket und zweitens wird es unübersichtlich. Und kann ich überhaupt per script cronjobs anlegen?

Es müsste irgendwie mit % gehen.

Also Startdatum zb 12.11.15, Intervall 7 MOnate.

Dann müsste ich doch mit heutigem Monatm also 2%11=9 rechnen. Geht aber nicht, da 31,30 und 28 Tage. Also irgendwie mit timestamp?
Anzahl von sekunden zwischen zwei daten, dann % und daraus die Monate errechnen. Wenn das = Intervall 7 ist, mache dies...
Bitte warten ..
Mitglied: Snowman25
23.02.2017 um 21:15 Uhr
Zitat von tsunami:

Ja, erstens hat der Provider nur bedingt Cron Jobs im Paket und zweitens wird es unübersichtlich. Und kann ich überhaupt per script cronjobs anlegen?

Ich glaube wir sollten nochmal etwas früher anfangen.

Welches System nutzt du, was ist die Umgebung, welche Tools stehen dir zur Verfügung und was ist dein Ziel?
Bitte warten ..
Mitglied: tsunami
24.02.2017 um 10:13 Uhr
Also: Aktuell teste ich lokal auf nem klassischen xampp. Mysql und php. Später solls online laufen. Da habe ich ich meine 20 cronjobs.
Daher ist die Idee ein Script zu hinterlegen und us zu führen wo lediglich includes drinstehen, welche die einzelnen Skripte abspulen und bei Fälligkeit ausführen..

Zum aktuell Ziel:
Tabelle
id | beschreibung | startdatum | intervall | uu intervallwert

Da drin steht zb
1 | Schlange füttern | 12.02.2015 | 3 | monate
2 | Auto waschen | 11.10.2011 | 2 | wochen
3 | TÜV Termein | 11.10.2013 | 2 | Jahre

Herauskommen soll eine Todo Liste. Befüllt werden soll die Tabelle mit Formularen. Ein Ansatz war die Intervalle in Tage um zu rechnen, 3 Moante also 90 Tage, 2 Wochen 14 Tage, 2 Jahre 730 Tage. Dann einfach das heutige Datum, die Tagesdifferenz berechnen und dann mit modularteilung prüfen. Wenn 0, dann ausführen, Problem sind die unterschiedlichen Monatslängen. Dadurch verschiebt sich auf Dauer die Fälligkeit.

Ein weiterer Ansatz ist Timestamp von heute und startdatum nehmen, subtrahieren und daraus Monate und JAhre berechnen, dann wieder % und bei 0 Aktion.

Noch ein plumper Ansatz währe über eine Whileschleife das Intervall zum Startdatum hinzu zu addieren, bis der neue Wert in der Zukunft liegt oder gleich heute ist. Wenn gleich heute, dann Aktion. Nur das ist sehr Plump.

Oder aber man zählt immer hoch und packt jede Fälligkeit in die Datenbank, nur dann habe ich nen gigantischen Datenmüllberg nach wenigen Wochen. Dann simple vergleichen...

Im og Fall wären die Fälligkeiten:
Schlange füttern: 12.02.15, 12.05.15,12.08.15, 12.11.15, 12.2.16 usw
Auto waschen: 11.10., 25.10., 8.11., ...
TÜV: 11.10.13, 11.10.15, 11.10.17,...

Herauskommen soll dann sowas wie:
Plan für den 24.02.17
1. ....
2. ....
3. ...

Ist es nun klarer gworden?
Gruß tsunami
Bitte warten ..
Mitglied: tsunami
25.02.2017 um 09:49 Uhr
Guten Tag,
ich glaube, ich habe die Lösung, für mich gefunden. Der Ansatz mt der Whileschleife. Zusätzlich aber, wenn es eine Fälligkeit gibt, also (heute - startdatun)%intervall=0, dann gleichzeit ein update für das Startdatum mit dem Datum von heute. Dann explodiert der Aufwand nicht!

Oder habe ich nen Denkfehler?

Gruß
tsunami
Bitte warten ..
Ähnliche Inhalte
Firewall

PfSense bash-script per Cronjob ausführen

Frage von MisaalFirewall4 Kommentare

Hallo Aus irgend einen unerklärlichen Grund, verliert die pfSense gelegentlich die Internetverbindung. Da hilft nur ein manueller reboot. Um ...

Batch & Shell

Cronjob per batch

gelöst Frage von pblackyBatch & Shell4 Kommentare

Hi Ihr Lieben, Ich habe einige Batch Skripte auf meinem Windows PC laufen, die ich zu gewissen Zeiten über ...

Batch & Shell

Neuen Cronjob zeitgesteuert

Frage von wescraven07Batch & Shell3 Kommentare

Moin Admins, folgende Frage: ich will ein Cronjob umstellen von jede Minute auf einmal täglich nachts um 2. So ...

Debian

Cronjob spamt Postfixlogs

gelöst Frage von ModdryDebian6 Kommentare

Guten Morgen :) Schulanfang und gleich wieder Probleme in der EDV. Dies mal das System selbst. Habe die Meldung ...

Neue Wissensbeiträge
Sicherheits-Tools

TrendMicro Worry-Free Business Security 10.0 SP1 - Jetzt in Deutsch verfügbar! (Windows 10 1903 Support)

Tipp von TrinXx vor 1 TagSicherheits-Tools1 Kommentar

Moin! Nach wochenlangem Warten wird Trend Micro das SP1 für WFBS 10 voraussichtlich am 26.08.19 veröffentlichen. Ich habe das ...

Hyper-V
Setup VM W2016 startet nicht in Hyper-V 2016
Erfahrungsbericht von keine-ahnung vor 2 TagenHyper-V4 Kommentare

Moin, sitze gerade über meinem neuen Server und versuche, die VM auf den Host zu prügeln. Jetzt wollte ich ...

Server-Hardware

HPE Proliant ML350P Gen8 Probleme mit Zugriff auf Raid-Volumes

Erfahrungsbericht von goscho vor 2 TagenServer-Hardware1 Kommentar

Hallo Leute, das Problemgerät: HPE ML350P G8 Windows Server 2012R2 HyperV-Host 8 x 300 GB 10K SAS HDD (1 ...

Humor (lol)

"Linux und 5 Gründe Warum man kein Windows verwenden sollte sondern Ubuntu Linux"

Information von Snowbird vor 4 TagenHumor (lol)9 Kommentare

Gerade gefunden. Ja, ist etwas älter, aber irgendwie lustig?

Heiß diskutierte Inhalte
Backup
Veeam Backup Endpoint Free sichert nicht alle Dateien in AppData
gelöst Frage von speedy26gonzalesBackup12 Kommentare

Hallo, ich sollte ein paar Dateien in C:\Users\xyc\AppData\Local\Microsoft\Outlook wieder herstellen. Auf dem Benutzerkonto ist in Outlook ein IMAP Konto ...

Server
Ein Server ins Haus stellen. Was brauche ich dafür?
Frage von JoschiTomServer11 Kommentare

Hallo Community, ich spiele mit dem Gedanken eine Server mir zu holen. Was brauche ich dafür? Und wie sind ...

Windows Server
Ist es möglich, eine deutsche W2016 Installation mit einer UK-Lizenz zu aktivieren?
gelöst Frage von keine-ahnungWindows Server10 Kommentare

Moin at all, ist ja noch Freitag. Ich habe hier noch zwei UK OEM W2016 Standard Pakete rumfliegen Muss ...

Windows 10
Windows 10 Backup auf Netzwerk Storage
Frage von Futschel2608Windows 1010 Kommentare

Hallo geehrte Mitstreiter Innen, Wir wollen in unserer Windows 10 Domäne den Einzelnen Usern ermöglichen ihre Desktop PC's zusichern. ...