2013-01-03 26 views
8

tôi có start.sh bash script đang chạy dù CRON VIỆC trên máy chủ ubuntucông việc định kỳ không đầu ra để nohup.out

dòng start.sh chứa dưới đây đề cập mã

con đường của start.sh/home/ubuntu/folder1/folder2/start.sh

#!/bin/bash 

crawlers(){ 
    nohup scrapy crawl first & 
    nohup scrapy crawl 2nd & 
    wait $! 
    nohup scrapy crawl 3rd & 
    nohup scrapy crawl 4th & 
    wait 
} 

cd /home/ubuntu/folder1/folder2/ 
PATH=$PATH:/usr/local/bin 
export PATH 

python init.py & 
wait $! 
crawlers 
python final.py 

là của tôi kiện là nếu tôi chạy start.sh tôi bản thân mình trên dòng lệnh nó ra trong nohup.out tập tin

nhưng khi nó thực thi tập tin này bash qua cronjob (mặc dù kịch bản đang chạy tốt) của nó không sản xuất nohup.out

làm thế nào tôi có thể nhận được đầu ra của cronjob này trong nohup.out?

+1

Bạn tạo tệp nohup.out này ở đâu/ở đâu? hãy nhớ rằng thư mục làm việc mặc định của cron jobs là homedirectory của ID người dùng mà chúng đang được chạy dưới. nếu bạn đang sử dụng đường dẫn tương đối cho tệp này, bạn sẽ có liên quan đến thư mục chính của tài khoản, chứ không phải thư mục hiện tại của vỏ tài khoản của bạn –

+0

@MarcB i am noob on linux .. mỗi dòng được thêm đầu ra vào nohup, ví dụ: nohup scrapy crawl 3rd & tôi đã thêm điều này vào crontab 40 10 * * * /home/ubuntu/folder1/folder2/start.sh –

+1

FYI: cấu trúc 'python init.py & chờ $!' (trải rộng trên hai dòng) là vô nghĩa; thả '&' và xóa 'wait'. Nó không phải là một yếu tố trong vấn đề của bạn; nó cũng hoạt động như được viết. Nhưng nó là vô nghĩa. –

Trả lời

14

Tại sao bạn sử dụng nohup? nohup là lệnh cho thiết bị đầu cuối đang hoạt động bỏ qua tín hiệu gác máy. Tuy nhiên, cron không có tín hiệu gác máy, vì nó không được liên kết với phiên đầu cuối.

Trong trường hợp này, thay vì:

nohup scrapy crawl first & 

Bạn có thể muốn:

scrapy crawl first > first.txt & 

Ví dụ cuối cùng cũng làm việc trong một thiết bị đầu cuối, nhưng khi bạn đóng trình thiết bị đầu cuối, các tín hiệu treo (hup) được gửi, kết thúc chương trình.

Các vấn đề liên quan