cron - 実行するコマンドがあると画面が機能しない

cron - 実行するコマンドがあると画面が機能しない

次のようにタスクを設定すると、cronすべてがうまく機能します。新しい画面セッションが開始され、後でアクセスできます。

* * * * * screen -d -m -S test

ただし、cron項目が以下の場合は、screenセッションが開始されていないか、少なくとも検索できません(screen -ls見つかりません)。

* * * * * screen -d -m -S test date
* * * * * screen -d -m -S test bash -c “date”

上記のコマンドのいずれかをコマンドラインから直接実行すると、すべてが期待どおりに機能します。
しかし、私が考えることができるすべてのコマンドの組み合わせを試しましたが、そのうち何も機能しなかったので、何かが欠けていることは明らかです。

答え1

screen開始されたセッションが終了したため、再接続できません。でコマンドを実行すると、screenそのコマンドが実行され、すぐに終了します。

答え2

画面は各ユーザーのためのものです。 Cronはバックグラウンド予約ジョブです。特定のcronの出力を知る必要がある場合は、ファイルに出力するか、電子メールで送信するように指示することをお勧めします。

私の考えでは、スクリーンセッションを実行することは実際には目的ではありません。

関連情報