標準出力をsyslogへ出力することで自動的にファイルローテーションする方法

実行したコマンドが標準出力へ出力する内容をリダイレクトでファイルへ保存している場合に、ログファイルのサイズが大きくなった際に違うファイルへローテーションするためには実行中のコマンドを一度終了することが必要なケースが考えられると思います。

そのような場合に(Solaris限定の機能となるかと思いますが)、以下のようにloggerコマンドを用いるとsyslogへログを出力することが可能となり、ファイルローテーションもsyslogdに任せることが可能となります。

nohup <任意のコマンド> | logger -p local0.err &

上記の場合、コマンドの標準出力が/var/adm/messagesファイルに出力されるようになります。また、必要に応じて、-pでプライオリティ、-fで出力ファイル名を変更することも可能です。

かなり昔に試した手順になりますが、Solaris 10でも動作しました。(^o^)/