私はLinuxscreen
コマンドを使用してサーバー上でバックグラウンドスクリプトを実行します。スクリプトは毎日実行する必要がありますが、特定の時間範囲(午前7時から午後9時)内に実行する必要があります。現時点では、毎晩9時に手動で終了しscreen
(コマンドを使用ctrl+c
)、翌朝7時に再作成します(コマンドを使用)。exit
screen
screen -S <NAME>
screen
午後9時から午前7時の間に「自動的に」眠る方法はありますか? (これにより、毎日手動で介入する必要はありません。)
答え1
私はscreenを使用しませんが、必要に応じて次のようにすることができます:
0 7 * * * some_user sh -c 'screen -d -m -S 7to9am -s /usr/local/bin/the_script.sh ; sleep 2h ; screen -X -S 7to9am quit'
最後に/etc/crontab
これ正しいこれを行う方法は、画面なしで行うことです。
0 7 * * * some_user timeout 2h /usr/local/bin/the_script.sh