crontab 打开一个文件并执行一段代码

crontab opening a file and execute a code

在 CRONTAB 中,有没有办法 (i) 打开终端,(ii) 打开文件,然后 (iii) 执行命令?

我想做的是每天,打开终端,去PycharmProjects/untitled/project1执行命令scrapy crawl xx -o test.csv

奖励问题:crontab 能否将结果通过电子邮件发送给我 (test.csv)?

加分问题2:crontab可以将结果上传到服务器吗?

是的,但是您的术语有点不对劲。我们不在 cron 中 "open a terminal",而是 "run a command." 例如,您可以将其放入您的 crontab:

00 09 * * * cd PycharmProjects/untitled/project1 && scrapy crawl xx -o test.csv

默认情况下,Cron 会将命令的输出通过电子邮件发送给您。因此,要通过电子邮件接收 test.csv,如果没有给定输出文件,scrapy 只会打印输出,请尝试以下操作:

MAILTO=you@example.com
00 09 * * * cd PycharmProjects/untitled/project1 && scrapy crawl xx

如果您希望将其作为附件,请参阅:cron: sending output to file then EMAILing file to me

如果您想将其上传到服务器,运行 无论上传命令是什么 &&:

00 09 * * * cd PycharmProjects/untitled/project1 && scrapy crawl xx -o test.csv && scp test.csv user@hostname:/some/path