
複数の別々のプロセスを開始するために、デプロイスクリプトで画面を使用しています。
たとえば、
/usr/bin/screen -dmSL ${USER}_selenuim java -jar selenium-server-standalone.jar -role hub -servlets com.example.local
私が見た問題は、サービスが長期間持続し、要求どおりに出力が非常に冗長ですが、生成されたログファイル(screenlog.0)が非常に大きくなることです。
このログファイルが特定のサイズに達すると、分割したり別のログファイルを生成したりできますか?いいえスクリーンサービスを停止して再起動します。または、ログファイルのサイズを減らすための別の組み合わせです。
私はすでに言及しました画面マニュアルしかし、答えが見つかりません...
答え1
私のバージョンでは、screen
ログファイルが開きます。追加モードを使用すると、すべての書き込みが常にファイルの現在のサイズの終わりにあるようになります。
つまり、ファイルサイズをゼロに独立して減らすことができ、ログはそこから続きます。次のコマンドを使用できます。
truncate --size 0 screenlog.0
ファイルをサイズ0に縮小します。ファイルの内容を保持するには、まずファイルの内容をコピーします。残念ながら、新しいデータが追加または失われる可能性がある場合は、コピーと切り捨ての間にわずかな間隔があります。コピーおよびトリミング中、プロセスまたは画面プロセスでSIGSTOPおよびSIGCONT信号を発行して一時的に一時停止できます。
答え2
mkfifoを使用してfifoというファイルを作成し、それをログファイルに設定します。これで、別のプロセスを使用してfifoを読み込み、すべての基準に一致する複数のファイルに入れることができます。