CRONTABでは、(i)端末を開き、(ii)ファイルを開き、(iii)コマンドを実行する方法がありますか?crontabがファイルを開いてコードを実行する
私がしたいことは毎日、開かれた端末です、に行くscrapy crawl xx -o test.csv
コマンドを実行してください。
ボーナスの質問:crontabで私に結果(test.csv)をメールで送信できますか?
ボーナスの質問2:crontabで結果をサーバーにアップロードできますか?
CRONTABでは、(i)端末を開き、(ii)ファイルを開き、(iii)コマンドを実行する方法がありますか?crontabがファイルを開いてコードを実行する
私がしたいことは毎日、開かれた端末です、に行くscrapy crawl xx -o test.csv
コマンドを実行してください。
ボーナスの質問:crontabで私に結果(test.csv)をメールで送信できますか?
ボーナスの質問2:crontabで結果をサーバーにアップロードできますか?
はい、あなたの用語は少しオフです。私たちはcronで "ターミナルを開く"のではなく、むしろ "コマンドを実行する"。たとえば、これをあなたのcrontabに入れることができます:
00 09 * * * cd PycharmProjects/untitled/project1 && scrapy crawl xx -o test.csv
デフォルトでは、コマンドの出力を電子メールでお送りします。あなたの代わりに添付ファイルとしてそれをしたい場合は
[email protected]
00 09 * * * cd PycharmProjects/untitled/project1 && scrapy crawl xx
、以下を参照してください:cron: sending output to file then EMAILing file to me
場合scrapyだけで出力ファイルを指定しない場合は、出力を印刷このことをしようとするのであれば、電子メールを介してのtest.CSVを受信しますサーバーにファイルをアップロードするためのSCPを行うことを言っている
00 09 * * * cd PycharmProjects/untitled/project1 && scrapy crawl xx -o test.csv && scp test.csv [email protected]:/some/path
パーフェクト、John Zwinckさん、ありがとうございました。コマンドをうまく実行して、私にメールしました。しかし、私は/ bin/sh:scrapy:コマンドが見つかりませんでした。パスにユーザー名を追加する必要がありますか?もしそうなら、私はどうしますか?私はそれが基本的な質問であることを知っていますが、私は本当にコーディングに新しいです。 –
@AliyarÖzercan:通常のターミナルで '' scrapy'を実行すると、プログラムのフルパスが表示されます。 「治療」の代わりに、その完全な道をcronの仕事に入れてください。 –
どうすればいいですか?私が 'scrap crawl xx -o test1.csv'と書くと、私はスパイダーxxをクロールします。私はそのクモの道を与えるべきですか?このように: "00 09 * * * cd PycharmProjects /無題/プロジェクト1 &&スクールクロールPycharmProjects /無題/ project1/projectx/spiders1 -o test.csv" –
:そのuploadコマンドは、別の&&
の後にあるものは何でもあなたの代わりに実行してサーバにそれをアップロードします。 サーバーがパスワードで保護されている場合はどうなりますか?どのようにパスワードを提供しますか?
これはコメントですか?とにかく、答えはパスワードなしのscpをするためにSSHキーを使うことができるということです。 SSH鍵ペアを取得したら、 'ssh-copy-id HOSTNAME'を一度だけ実行すれば、パスワードを尋ねられます。その後、scpはパスワードなしで動作します。 –
John Zwinckありがとうございました。 –
あなたはこれまでに何を試しましたか? –
最初に端末を開こうとしましたが、コマンドを実行しようとしました。しかし、John Zwinckが私を修正したので、私はそれを試してはいけません。 –