次のようなcronジョブscrape.sh
があります。
#!/bin/bash
touch rage
cd /etc/myproject/scraper
scrapy crawl foosite --set FEED_URI=../feeds/foosite.xml --set FEED_FORMAT=xml
scrapy crawl barsite --set FEED_URI=../feeds/barsite.xml --set FEED_FORMAT=xml
実行すると、ファイルの怒りが作成され、syslog から判断すると、ルートとして実行されるため、権限は問題になりません。
May 6 17:35:01 server CRON[10233]: (root) CMD (/etc/myproject/scraper/scrape.sh)
May 6 17:40:01 server CRON[17804]: (root) CMD (/etc/myproject/scraper/scrape.sh)
実行scrape.sh
すると、期待どおりに実行され、foosite.xml
ファイルが../feeds
ディレクトリに配置されます。ディレクトリは存在し、cron ジョブの開始時に空になります。この問題を解決するにはどうすればよいですか?