it-roy-ru.com

Запустите команду curl, используя задания CRON

Я хочу запустить это утверждение:

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

каждые 10 минут, используя задания CRON.

Как мне этого добиться?

6
Archit Arora

Что-то вроде:

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

Используйте crontab -l, чтобы взглянуть на него потом.НО, добавьте опцию к этой команде curl, чтобы поместить вывод куда-то определенно, так как он может быть запущен где-то, к чему у вас нет прав записи. Кроме того, если curl где-то необычно, вам может потребоваться указать его полный путь, например /usr/bin/curl, или установить переменную PATH crontab.

Кавычки вокруг EOF предотвращают подстановку в содержимом документа HEREIS (все между <<EOF и EOF). HEREIS documents are a Shell feature, not part ofcrontab`).

Смотрите man 5 crontab для подробного описания того, что происходит в файлах crontab.

Я обычно сохраняю файл ~/.crontab для редактирования со специальной первой строкой и установленным битом выполнения:

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

Это позволяет мне редактировать мой ~/.crontab, а затем просто запустить его с:

$ vi ~/.crontab
$ ~/.crontab

(У меня также обычно есть расширения для указания того, для какого хоста они предназначены, например ~/.crontab.bigbox)

9
Alex North-Keys

В случае использования Cpanel:
Cpanel-> Cron Jobs-> Put Time Interval (*/10 * * * *)
Добавить команду в текстовое поле:
curl -s "http://localhost:8983/solr/dataimport?command=full-import"
где -s означает без звука (без вывода)
Вы сделали

5
Hassan Kazem

Для blueHost и Godaddy сервера:

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