Url als Cronjob öffnen in Linux öffnen?
Ich möchte im Browser automatisch eine .htm Datei, welche in meinem Home-Verzeichnis liegt im Browser öffnen, und alle 30 Minuten aktualisieren.
Was muss ich nun in der Cronjob-Komandozeile eingeben?
Ich nutze Raspibian, mit Gnome schedule, Linux.
4 Antworten
Mein erster Gedanke war ein automatisches Refresh per Meta-Tag. Aber Du schreibst ja, dass Du die Datei nicht selbst ändern kannst. Da fallen mir zwei Möglichkeiten ein:
Zumindest für Firefox und Chrome gibt es Add-Ons, die das erledigen können: Easy Auto Refresh für Chrome und Tab Auto Reload für Firefox. Ich habe die soeben spontan per Suchmaschine gefunden, habe also keine Erfahrung damit.
Oder aber Du rufst per cron auf:
30 * * * xdg-open file:///home/benutzername/datei.html
Den Pfad zur Datei musst Du natürlich anpassen. Möglicherweise wird Dir xdg-open als "deprecated" angemeckert. Dann verwende gio open stattdessen. Sowohl gio open als auch xdg-open starten den Standard-Browser des Betriebssystems. Möchtest Du den Browser abweichend davon bestimmen, verwende open:
30 * * * open /usr/bin/firefox file:///home/benutzername/datei.html
Das zu verwendende Programm musst Du natürlich anpassen. Der Cronjob macht Dir allerdings jedes Mal einen neuen Tab auf. Wenn Du das nicht möchtest, musst Du ergänzen:
30 * * * open /usr/bin/firefox file:///home/benutzername/datei.html && wmctrl -a Tabname; xdotool key Ctrl+w;
Das schließt Dir den Tab mit dem Namen "Tabname". Ist nur ein Tab offen, kann natürlich auch das Programm als ganzes geschlossen werden. Dann reicht && wmctrl -c firefox am Ende.
Hallo
Ich möchte im Browser automatisch eine .htm Datei, welche in meinem Home-Verzeichnis liegt im Browser öffnen, und alle 30 Minuten aktualisieren.
- Aber das ist doch eine Angelegenheit welche Serverseitiglaufen sollte.
Du kannst natürlich einen Cronjob nehmen, aber der aktualisiert nicht die bereits geöffnete Seite sondern ruft lediglich den Browser mit der Seite auf. Das kann er tun in jeweils einem neuen Tab ider jeweils in einem neuen Fenster. Egal wie, es ist am Ende mehr anzuraten im gleichen Durchgang auch das Browserfenster zu schließen und dann neu zu starten. - Also ein Script ausführen lassen das all das macht.
Linuxhase
Warum baust du keinen Meta Refresh-header [1] in die HTML-Datei ein, der dir die Seite im Browser automatisch alle 30 Minuten neu lädt?
Beim verfassen der frage lag sie noch im homeverzeichnis. Hach wie viel doch in 6 stunden passieren kann
Also der Cron Teil sieht dann schonmal so aus:
30 * * * *
Der Rest hängt davon ab, welchen Browser du nutzen möchtest.
Die 0 im Stundenteil nicht vergessen, sonst wird der Cronjob nur zur 30'ten Minute jeder Stunde aufgerufen:
0,30 * * * * export DISPLAY=:0 && /usr/bin/google-chrome --new-window http://url-hier-rein
(Pfad zum Browser entsprechend anpassen; DISPLAY muss gesetzt sein)
Das Problem ist dass die Datei von einem anderen Server abgerufen wird. Ich kann eben diese Datei nicht verändern.