como executar corretamente um rastreamento escasso do cron

1

Como eu poderia executar um comando como scrapy crawl empt.com em um trabalho cron , onde eu preciso estar em uma pasta específica para executar o comando, por exemplo:

/downloads/my_crawler/empt/empt/ , em seguida, o comando scrapy crawl empt.com

Minha entrada atual crontab é semelhante a esta: %código% Obrigado!

    
por ian 23.10.2010 / 06:08

3 respostas

1

Tente:

0 */2 * * * * root cd /downloads/my_cralwer/empt/empt/ && scrapy crawl empt.com
    
por 23.10.2010 / 06:27
2

Adicionando as seguintes linhas em crontab -e executa meu rastreamento scrapy às 5 da manhã todos os dias. Esta é uma versão ligeiramente modificada da resposta dos crocs

PATH=/usr/bin
* 5 * * * cd project_folder/project_name/ && scrapy crawl spider_name

Sem definir PATH , o cron me daria um erro " command not found: scrapy ". Eu acho que isso é porque /usr/bin é onde os scripts para executar programas são armazenados no Ubuntu.

Observe que o caminho completo do meu projeto escasso é /home/user/project_folder/project_name/ . Eu corri o comando env no cron e notei que o pwd é /home/user . Portanto, eu pulei /home/user/ em crontab acima

O cron log pode ser útil durante a depuração

grep CRON /var/log/syslog
    
por 12.10.2015 / 23:27
0

Eu sei que este é um post antigo, mas para fazer o meu funcionar, também precisei adicionar uma variável de caminho. Caso contrário, o cron pode não ser capaz de encontrar scrapy. Para mim foi: %código% Basta localizar o binário e adicionar a variável path a um local antes do cronjob no arquivo. Eu costumo usar PATH=/usr/local/bin para editar a lista de tarefas. Mas utilitários como o webmin também podem fazer isso.

    
por 20.05.2015 / 01:54

Tags