在CRONTAB中,有没有办法(i)打开终端,(ii)打开文件,然后(iii)执行命令?
我想做的是每一天,打开终端,转到PycharmProjects/untitled/project1
执行命令scrapy crawl xx -o test.csv
。
奖金问题:crontab可以通过电子邮件向我发送结果(test.csv)吗?
奖金问题2:crontab可以将结果上传到服务器吗?
答案 0 :(得分:1)
是的,但你的术语有点偏。我们不会在cron中“打开终端”,而是“运行命令”。例如,您可以将其放在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
答案 1 :(得分:0)
你是说要把SCP上传到服务器。 但是如果服务器受密码保护怎么办?你如何提供密码?