2013-01-17 17 views
6

Ho questo script php che ho bisogno di girare su webhosting condiviso. Ho creato un cron job che esegue uno sh script. Il comando per la cron era:Nizza comando nello script .sh per Cron Jobs

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

Così sto supponendo che è Bourne Shell (o qualcosa di compatibile). Il copione era:

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

La mia domanda è:
Posso aggiungere Nizza priorità al comando php? O devo aggiungere lo script al comando cron. Quale è più probabile che funzioni?

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

Vorrei che sia successo a correre con una priorità più bassa.

PS: Fondamentalmente, questo script ha sovraccaricato il server prima di quando mi sono imbattuto attraverso il browser ed è influenzato Apache sul server conseguente miei ospiti che bloccano il file. Ho ripetutamente chiesto loro di sbloccarlo per testarlo con parametri diversi. E ora sto cercando di eseguirlo tramite cron ad una priorità più bassa nella speranza che non influenzi l'apache. Ma io non voglio che per creare di nuovo problemi, quindi sto cercando di utilizzare NIZZA

Se qualcuno ha qualche altro suggerimento che avrebbe offerto una soluzione simile di esecuzione dello script php senza influenzare Apache o il server web, anche questo è fantastico.

risposta

6

saltare lo script di shell e utilizzare

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

bello e \ o php percorso può o non può essere richiesto

+0

Desidero aggiungere anche ulteriori comandi allo script. Devo eseguire un paio di altri script php e svuotare alcuni tavoli SQL prima di eseguire qualsiasi php. – xlordvader

+0

che tutto potrebbe essere fatto con php –

2

Mi dispiace di aver fatto questa domanda in due posti come ho pensato che non ero' ottenere una risposta. Ho chiesto a Superuser e ho ricevuto una risposta che si adatta alle mie esigenze.

@Dagon - La risposta da Dagon sembrerebbe funzionare come bene e mi fornirà un aggiornamento quando ho risolto questo problema sia con soluzioni.

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

UPDATE: ho usato il file batch, come mostrato qui. Ho usato il bel comando prima di php all'interno del file batch. L'unica differenza:

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

ho aggiunto più comandi per eseguire gli script PHP aggiuntivo con la stessa bella proprietà a loro. Hanno funzionato tutti alla grande.

Grazie a tutti per INGRESSO

0

In entrambi i casi è bene. Se si inserisce lo nice nel processo stesso, influirà sulla priorità dell'intero lavoro; ma dal momento che lo script contiene solo un comando la cui priorità ha davvero senso impostare, farlo all'interno dello script funziona altrettanto bene nella pratica.