2013-01-17 18 views
6

Mam ten skrypt php, który muszę uruchomić na współużytkowanym webhostingu. Stworzyłem zadanie cron, które wykonuje skrypt sh. Polecenie dla crona było:Ładne polecenie w skrypcie .sh dla Cron Jobs

/bin/sh /home/user/script.sh

Więc jestem zakładając, że jest Bourne Shell (lub coś kompatybilny). Sam scenariusz był:

#!/bin/sh 
cd /home/user/public_html/folder/ 
#updating DB 
php -q ./run_interactive_job.php batch_control_files/updateDB 
echo Updated DB results 

Moje pytanie brzmi::
Mogę dodać Nicea priorytety do polecenia php? Czy muszę dodać go do skryptu przy użyciu polecenia cron. Który z nich jest bardziej prawdopodobny?

nice 10 php -q ./run_interactive_job.php batch_control_files/updateDB

byłoby to sukces w działa na niższym priorytecie.

PS: Zasadniczo, ten skrypt został przeciążony serwer wcześniej, kiedy prowadził ją za pośrednictwem przeglądarki i to wpływa na tym serwerze Apache w wyniku moich gospodarzy blokujących plik. Wielokrotnie prosiłem ich o odblokowanie, aby przetestować go przy użyciu różnych parametrów. A teraz staram się uruchomić go przez crona z niższym priorytetem w nadziei, że nie wpłynie to na apache. Ale nie chcę go ponownie tworzyć problemy, dlatego staram się używać NICE

Jeśli ktoś ma jakieś inne sugestie, które oferują podobne rozwiązanie z uruchomieniem skryptu php bez wpływu apache lub serwerem, to też jest wielkie.

Odpowiedz

6

pominąć skrypt i używać

* * * * * /usr/bin/nice -n 10 /path/php -q /path/script.php 

ładne i \ lub PHP ścieżki mogą lub nie mogą być wymagane

+0

Chciałbym dodać również dodatkowe polecenia do skryptu. Muszę uruchomić jeszcze kilka skryptów php i opróżnić kilka tabel sql zanim uruchomię php. – xlordvader

+0

wszystko można zrobić za pomocą php –

2

Przykro mi zadał to pytanie w dwóch miejscach, jak myślałem, że nie był” t uzyskanie odpowiedzi. Poprosiłem o Superuser i otrzymałem odpowiedź, która odpowiada moim potrzebom.

@Dagon - Odpowiedź od Dagona również będzie działać, a ja dostarczy aktualizację, gdy rozwiążę ten problem w obu rozwiązaniach.

The same Question asked at Superuser - https://superuser.com/questions/537509 ...

UPDATE: Kiedyś plik wsadowy jak pokazano tam. Użyłem ładnego polecenia przed php wewnątrz pliku wsadowego. Jedyna różnica polega na tym:

nice -n 10 php -q ./run_interactive_job.php batch_control_files/updateDB

dodałem więcej poleceń do uruchomienia dodatkowych skryptów PHP z tego samego ładne własności do nich. Wszyscy działali świetnie.

DZIĘKI KAŻDEMU ZA WEJŚCIE

0

Tak czy inaczej jest w porządku. Jeśli umieścisz nice w samym zadaniu Cron, wpłynie to na priorytet całego zadania; ale ponieważ skrypt zawiera tylko jedno polecenie, którego priorytet naprawdę ma sens, ustawienie w skrypcie działa równie dobrze w praktyce.

Powiązane problemy