2016-08-09 8 views
0

私は、既存の画面で「cronscreen」というpythonスクリプトを実行するbashファイルを作成しました。 bashのファイルには、次の行が含まれます。linuxがcrontab上の画面にアクセスできない

screen -S cronscreen -X stuff "python test.py$(printf \\r)" 

私は、コマンドラインからファイルを実行すると、それが正常に動作し、私は私が私の「cronscreen」を添付したときに出力が印刷されて参照してください。しかし、私はそれがクーロンで実行したいと思いますので、以下のように、私はcrontabのを設定している:

* * * * * myuser /home/myuser/myscript.sh > /home/ec2-user/agg.log 

のcronが、私は、ファイルagg.logは毎分に再生されていることを見ることができるので、実行、私が接続するとされます'cronscreen'、そこには出力が表示されず、agg.logは空です。何故ですか?ありがとう。

更新:

私も(再装着する画面)これにスクリプトを変更しようとしたが、何の変化:

screen -r cronscreen 
screen -S cronscreen -X stuff "python test.py$(printf \\r)" 

答えて

1

画面が何でないセッションを作成するには、アクティブ端末を必要としませんcronの下で利用可能です。

あなたが最初の画面を実行し、それを切り離すようにすることです、二つの部分にこれを分割する必要があります - あなたがしなければならない画面-dms cronscreenをして、あなたのcronジョブに-r cronscreen

+0

とのscreenセッションにアタッチアクティブセッションから切り離して、ttyを持つようにしてください。そして、-dmS を使用しなければなりません – Amias

関連する問題