/dev/ttyUSB0 を毎日新しいファイルに cat する方法

/dev/ttyUSB0 を毎日新しいファイルに cat する方法

これを単純に実行するスクリプトがあります:

cat /dev/ttyUSB0 > /home/pi/usb0_$(date +\%Y\%m\%d\%H\%M\%S).txt

動作は良好ですが、1 つの大きなファイルではなく、毎日新しいファイルを作成したいと考えています。

crontab を使用してこれを行うことを考えましたが、次のジョブを開始する前に最初の日のジョブを終了する方法がわかりません。

答え1

そこにはtimeoutGNU coreutils のユーティリティまさにそのためには、次を実行します:

timeout 86400 cat ... > ...

答え2

別の選択肢としては、毎日killするという不必要な複雑さを省き、代わりに出力をパイプすることです。回転ログまたはクロノログこれにより、出力が毎日新しいファイルにローテーションされます。

... | ...rotatelogs -l /home/pi/usb0_%Y%m%d 86400

関連情報