Statystyki wydruków - CUPS


Proste statystyki wydruków z bazą sqlite

Potrzebowałem na szybko statystyk wydruków. Do tego skonstruowałem taki oto twór:
1perl -ne 'print "$1 $2\n" if /(\d+\/[a-zA-z]+\/20\d{2}).*for job (\d+)\./'/var/log/cups/error_log|sort |uniq | awk '{print "insert into printouts values(\""$1"\","$2");"}'| sqlite3 printouts.db
Ten z pozoru niezgrabny jednolinijkowiec parsuje plik logów cupsa wyciągając z niego numer zadania i datę, a następnie wkłada to do prostej bazy sqlite`a.
Dzięki temu mogłem szybko wydobyć ilość wydruków na dzień. Przy niewielkiej modyfikacji można dołączyć inne pola i już grupować sobie w sqlu co tylko dusza zapragnie. Nie jest to może wyszukany przypadek – raczej ciekawostka. To samo można uzyskać również za pomocą uniq -c, ale perspektywy tego rozwiązania są o wiele większe.
Na koniec tylko polecenie tworzące trywialną strukturę bazyprintouts.db:

sqlite3 printouts.db 'create table printouts(date text,job int)'

Brak komentarzy:

Prześlij komentarz

LinkWithin-4

Related Posts Plugin for WordPress, Blogger...