So caten Sie /dev/ttyUSB0 täglich in eine neue Datei

So caten Sie /dev/ttyUSB0 täglich in eine neue Datei

Ich habe ein Skript, das einfach Folgendes macht:

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

Es läuft einwandfrei, aber ich möchte jeden Tag eine neue Datei erstellen und nicht eine einzige große Datei.

Ich habe darüber nachgedacht, hierfür crontab zu verwenden, weiß aber nicht, wie ich den Job des ersten Tages beenden kann, bevor der nächste beginnt.

Antwort1

Da ist dietimeoutDienstprogramm in GNU CoreutilsFühren Sie dazu Folgendes aus:

timeout 86400 cat ... > ...

Antwort2

Eine andere Möglichkeit wäre, die unnötige Komplikation des täglichen Killens zu überspringen und stattdessen die Ausgabe an z. B. weiterzuleitenRotierenlogoderChronologDadurch wird die Ausgabe täglich in eine neue Datei umgewandelt.

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

verwandte Informationen