Python cron作业没有';t输出到nohup.out
我有start.shbash脚本,它通过ubuntu服务器上的CRON作业运行 start.sh包含下面提到的代码行 start.sh的路径是Python cron作业没有';t输出到nohup.out,python,bash,ubuntu,cron,crontab,Python,Bash,Ubuntu,Cron,Crontab,我有start.shbash脚本,它通过ubuntu服务器上的CRON作业运行 start.sh包含下面提到的代码行 start.sh的路径是/home/ubuntu/folder1/folder2/start.sh #!/bin/bash crawlers(){ nohup scrapy crawl first & nohup scrapy crawl 2nd & wait $! nohup scrapy crawl 3rd &
/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
我的问题是,如果我在命令行上运行start.sh我自己,它将输出到nohup.out文件中
但是当它通过cronjob执行这个bash文件时(尽管脚本运行正常),它不会生成nohup.out
如何在nohup.out中获得此cronjob的输出?为什么要使用
nohup
nohup
是一个命令,告诉正在运行的终端忽略挂断信号<但是,code>cron没有挂断信号,因为它没有链接到终端会话
在这种情况下,不是:
nohup scrapy crawl first &
您可能想要:
scrapy crawl first > first.txt &
最后一个示例也适用于终端,但当您关闭终端时,会发送挂断信号(
hup
),从而结束程序。您如何/在何处创建此nohup.out文件?请记住,cron作业的默认工作目录是它们正在运行的用户ID的homeditory。如果您使用的是此文件的相对路径,那么您将相对于帐户的主目录,而不是您自己的当前shelldirectory@MarcB我是linux上的noob。。每一行都在nohup中添加输出,例如nohup scrapy crawl 3rd&我在crontab 40 10***/home/ubuntu/folder1/folder2/start.shFYI中添加了它:构造python init.py&wait$代码>(跨越两行)是毫无意义的;放下&
并卸下等待
。这不是你问题的一个因素;它也可以像写的那样工作。但这是毫无意义的。