Je veux exécuter cette déclaration:
curl 'http://localhost:8983/solr/dataimport?command=full-import'
toutes les 10 minutes en utilisant les travaux CRON.
Comment puis-je y arriver?
Quelque chose comme:
crontab <<'EOF'
Shell=/bin/bash
#min hr md mo wkday command
*/10 * * * * curl 'http://localhost:8983/solr/dataimport?command=full-import'
EOF
Utilisez crontab -l
pour y jeter un coup d'œil.MAIS, ajoutez une option à cette commande curl
pour placer la sortie à un endroit spécifique, car elle peut être exécutée à un endroit auquel vous n'avez pas accès en écriture. De même, si curl
est inhabituel, vous devrez peut-être spécifier son chemin complet, tel que /usr/bin/curl
, ou définir la variable crontab
PATH.
Les guillemets autour de EOF
empêchent la substitution dans le contenu du document HEREIS (tout ce qui se situe entre <<EOF
et EOF). HEREIS documents are a Shell feature, not part of
crontab`.
Voir man 5 crontab
pour une ventilation détaillée de ce qui se passe dans les fichiers crontab.
Je garde habituellement un fichier ~/.crontab
à éditer avec une première ligne spéciale, et le bit d'exécution défini:
#!/usr/bin/env crontab
Shell+/bin/sh
[... etc.]
Cela me permet d’éditer mon ~/.crontab
et de le lancer avec:
$ vi ~/.crontab
$ ~/.crontab
(J'ai aussi généralement des extensions pour indiquer à quel hôte ils sont destinés, comme ~/.crontab.bigbox)
En cas d'utilisation de Cpanel:
Cpanel-> Cron Jobs-> Intervalle de temps de vente (*/10 * * * *)
Ajouter une commande dans la zone de texte:curl -s "http://localhost:8983/solr/dataimport?command=full-import"
où -s signifie silence (pas de sortie)
Vous avez terminé
Pour le serveur blueHost et Godaddy:
curl -s "http://localhost:8983/solr/dataimport?command=full-import"