2017-09-28 10 views
0

私はbashでcrontabを使ってpythonスクリプトを実行しようとしています。私が下にあるものは動作しません。bashでcrontabを使用する

SHELL=/bin/bash 
11 22 * * * username /usr/lib/python2.7 /mnt/c/Users/Eric/Documents/Feedparser/crontab.py 

もこれでした:あなたはcronコマンドでusernameを削除する必要が

SHELL=/bin/bash 
PATH=/usr/lib/python2.7 
5 22 * * * username python /mnt/c/Users/Eric/Documents/Feedparser/crontab.py 
+3

'PATH'には実行可能ファイルではなく_directories_が含まれています。コマンドを実行するのに 'username'は必要ありません。このコマンドは、crontabを保存したユーザーの代わりに実行されます –

+1

ダミーのcronジョブで最初に試してみて、そのログを取ろうとします.. eg.-1 * * * * date >> /tmp/crontest.log –

答えて

0

を。

5 22 * * * python /mnt/c/Users/Eric/Documents/Feedparser/crontab.py 
+0

これはシステムのcrontab(一般的に/ etc/crontab;これはusernameフィールドを持っています)またはユーザごとのcrontab(ユーザ名フィールドはありません)にあります。 [このスーパーユーザーの質問](https://superuser.com/questions/290093/difference-between-etc-crontab-and-crontab-e)を参照してください。 –

+0

私はユーザー名の有無にかかわらず試しました。シェルとパスを追加するのは正しいですか? Python 2.7がどこにあるのかを本当に知る必要がありますか? – Eric

0

をあなたはあなたのpythonファイルの実行可能ファイルを作り、それを直接呼び出すことを検討したいことがあります。そうでなければ、それはちょうど置く引数python /mnt/c/Users/Eric/Documents/Feedparser/crontab.py

で実行可能ファイルとしてそれを実行しようとします。あなたのcrontabは、言う:

5 22 * * * ./mnt/c/Users/Eric/Documents/Feedparser/crontab.py

または

5 22 * * * cd /mnt/c/Users/Eric/Documents/Feedparser && ./crontab.py

を、これを行うにあなたのファイルを実行可能にするために:

chmod +x /mnt/c/Users/Eric/Documents/Feedparser/crontab.py 

との最初の行にシェバングを追加しますあなたのpythonファイル:

#!/usr/bin/env python 
1

あなたは使用してcrontabファイル内のコマンドの実行の出力とエラーをログに記録しようとすることができます

11 22 * * * username /usr/lib/python2.7 /mnt/c/Users/Eric/Documents/Feedparser/crontab.py > /tmp/crontab.log 2>&1 

これはあなたの問題が何であるかについての考えを与えることができます。

関連する問題