it-swarm.com.de

Führen Sie einen curl-Befehl mit CRON-Jobs aus

Ich möchte diese Aussage ausführen:

curl 'http://localhost:8983/solr/dataimport?command=full-import'

alle 10 Minuten mit CRON-Jobs.

Wie kann ich das erreichen?

6
Archit Arora

So etwas wie:

crontab <<'EOF'
Shell=/bin/bash
#min hr md mo wkday command
*/10 *  *  *  *     curl 'http://localhost:8983/solr/dataimport?command=full-import'
EOF

Verwenden Sie crontab -l, um danach einen Blick darauf zu werfen.ABER, füge dem curl-Befehl eine Option hinzu, um die Ausgabe an einen bestimmten Ort zu setzen, da sie möglicherweise irgendwo ausgeführt wird, auf die Sie keinen Schreibzugriff haben. Wenn curl ungewöhnlich ist, müssen Sie möglicherweise den vollständigen Pfad angeben, z. B. /usr/bin/curl, oder die Variable crontab PATH festlegen.

Die Anführungszeichen um EOF verhindern, dass der Inhalt des HEREIS-Dokuments ersetzt wird (alles zwischen <<EOF und EOF). HEREIS documents are a Shell feature, not part ofcrontab`.

Unter man 5 crontab finden Sie eine detaillierte Auflistung der Inhalte von Crontab-Dateien.

Normalerweise verwahre ich eine ~/.crontab-Datei mit einer speziellen ersten Zeile und das Ausführungsbit:

#!/usr/bin/env crontab 
Shell+/bin/sh
[... etc.]

Dadurch kann ich meinen ~/.crontab bearbeiten und dann einfach ausführen mit:

$ vi ~/.crontab
$ ~/.crontab

(Ich habe normalerweise auch Erweiterungen, um anzugeben, für welchen Host sie zuständig sind, wie ~/.crontab.bigbox.)

9
Alex North-Keys

Wenn Sie Cpanel verwenden:
Cpanel-> Cron Jobs-> Put-Zeitintervall (*/10 * * * *)
Befehl in das Textfeld einfügen:
curl -s "http://localhost:8983/solr/dataimport?command=full-import"
Dabei steht -s für lautlos (keine Ausgabe)
Du bist fertig

5
Hassan Kazem

Für den blueHost- und Godaddy-Server:

curl -s "http://localhost:8983/solr/dataimport?command=full-import"
0
kalai