BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

Terminkalender für die Kommandozeile

Mit Hilfe von when lassen sich Termine auf der Kommandozeile verwalten. Im FreeBSD -Portbaum findet man when unter deskutils/when:

# cd /usr/ports/deskutils/when && make install clean

Ruft man when das erste Mal auf, werden die benötigten Dateien angelegt und der Standard-Editor festgelegt:

# when 
You can now set up your calendar. This involves creating a directory ~/.when, and making
a couple of files in it. If you want to do this, type y and hit return.
y
You can edit your calendar file using your favorite editor. Please enter the command you
want to use to run your editor, or hit return to accept this default:
  emacs -nw
nvi
You can now add items to your calendar file. Do ``when --help'' for more information.
Sat 2010 Nov 27   4:03

Starten man when mit der e Option, wird ein Editor gestartet und die Termine können eingtragen werden. Neben einmaligen Terminen lassen sich auch wiederkehrende Eintrage anlegen:

# when e
2010 nov 27 , Essen bei xyz 18:00
2010 nov 28 , Match 17:00
w=th , Training 20:30

Wird nun when nochmals aufgerufen, werden die Termine der nächsten zwei Wochen angezeigt:

# when 
Sat 2010 Nov 27   4:07

today      2010 Nov 27 Essen bei xyz 18:00
tomorrow   2010 Nov 28 Match 17:00
Thu        2010 Dec  2 Training 20:30
Thu        2010 Dec  9 Training 20:30

Mit der w Option lassen sich nur Termine der kommenden Woche anzeigen:

# when w
Sat 2010 Nov 27   4:10

today      2010 Nov 27 Essen bei xyz 18:00
tomorrow   2010 Nov 28 Match 17:00
Thu        2010 Dec  2 Training 20:30

Verwendet man die c Option wird der Kalender des aktuellen, des letzen und des kommenden Monats dargestellt:

# when c
-------October-------  ------November-------  ------December-------
 S  M  T  W  T  F  S    S  M  T  W  T  F  S    S  M  T  W  T  F  S 
                1  2       1  2  3  4  5  6             1  2  3  4 
 3  4  5  6  7  8  9    7  8  9 10 11 12 13    5  6  7  8  9 10 11 
10 11 12 13 14 15 16   14 15 16 17 18 19 20   12 13 14 15 16 17 18 
17 18 19 20 21 22 23   21 22 23 24 25 26 27   19 20 21 22 23 24 25 
24 25 26 27 28 29 30   28 29 30               26 27 28 29 30 31 

Mehr Informationen zu when findet man in der Manpage when(1). Vielen Dank an Lars für den Tip.

 Permalink

Apache Statistiken in der Konsole betrachten

Mit Hilfe von goaccess kann eine Apache-Logdatei eingelesen und die entsprechenden Statistiken angezeigt werden. Im FreeBSD-Portbaum findet man goaccess unter sysutils/goaccess:

# cd /usr/ports/sysutils/goaccess && make install clean

Mit der -f Option wird der Pfad zur Apache-Logdatei angegeben, danach werden die Statistiken erstellt und angezeigt:

# goaccess -f /var/log/httpd-access.log
General Statistics - Information analyzed from log file - Unique totals                                                                                                                                                                                   [Active Module 1]

  Total Requests  1527869   Total Unique Visitors 1764    Total Referrers  163    Log  280.69 MB
  Failed Requests 0         Total Unique Files    40269   Total Unique 404 41107  BW   N/A
  Generation Time 22 sec    Total Static Files    1732    /var/log/httpd-access.log

 1 - Unique visitors per day - Including spiders
 HTTP requests having the same IP, same date and same agent will be considered a unique visit

  2       0.11%   20/Nov/2010      ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  5       0.28%   19/Nov/2010      ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  7       0.40%   18/Nov/2010      ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  4       0.23%   17/Nov/2010      |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  6       0.34%   16/Nov/2010      |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  3       0.17%   15/Nov/2010      |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

 2 - Requested files (Pages-URL)
 Top 6 different files requested sorted by requests - percent - [bandwidth]

  401306  26.27%  /server-status?auto
  201017  13.16%  /tinderbox/index.php
  190187  12.45%  /tb/index.php?action=latest_buildports
  110549  7.24%   /tb/index.php?action=latest_buildports_rss
  2467    0.16%   /tb/index.php
  880     0.06%   /tb/index.php?action=list_tinderd_queue

 3 - Requested static files - (Static content: png,js,etc)
 Top 6 different static files requested, sorted by requests - percent - [bandwidth]

  189031  12.37%  /tb/templates/paefchen/tinderstyle.css
  188987  12.37%  /tb/templates/paefchen/images/hdr_fill.png
  188958  12.37%  /tb/templates/paefchen/tinderstyle.js
  459     0.03%   /favicon.ico
  404     0.03%   //templates/paefchen/tinderstyle.js
  402     0.03%   //templates/paefchen/images/hdr_fill.png

 4 - Referrers URLs
 Top 6 different referrers sorted by requests

  726258  47.53%  -
  368101  24.09%  https://tinderbox.chruetertee.ch/tb/index.php?action=latest_buildports
  183953  12.04%  https://tinderbox.chruetertee.ch/tb/templates/paefchen/tinderstyle.css
  147500  9.65%   https://tinderbox.chruetertee.ch/tb/index.php
  40454   2.65%   http://tinderbox.chruetertee.ch/
  38295   2.51%   https://tinderbox.chruetertee.ch/tb/

 5 - HTTP 404 Not Found response code
 Top 6 different 404 sorted by requests

  78      0.01%   /tb/templates/default/index.php
  54      0.00%   /phpMyAdmin/scripts/setup.php
  53      0.00%   /phpmyadmin/scripts/setup.php
  47      0.00%   /mysqladmin/scripts/setup.php
  46      0.00%   /php-my-admin/scripts/setup.php
  45      0.00%   /phpMyAdmin-2.6.3/scripts/setup.php

 6 - Operating Systems
 Top 6 different Operating Systems sorted by unique requests

  1161    65.82%  Unknown          ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  387     21.94%  BSD              |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  167     9.47%   Windows          |||||||||||||||||||||||||||||||||
  25      1.42%   Macintosh        |||||
  24      1.36%   Linux            ||||


 7 - Browsers
 Top 6 different browsers sorted by unique requests

  1063    60.26%  Unknown          ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  464     26.30%  Firefox          |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  116     6.58%   MSIE             |||||||||||||||||||||||||
  78      4.42%   Others           |||||||||||||||||
  17      0.96%   Safari           |||
  16      0.91%   Crawlers         |||

 8 - Hosts
 Top 6 different hosts sorted by requests

  390975  25.59%  tinderbox.chruete||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  338434  22.15%  212.47.xxx.xxx   |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  201015  13.16%  212.47.xxx.xxx   |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  110549  7.24%   93.186.xxx.xxx   |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  40700   2.66%   85.2.xxx.xxx     ||||||||||||||||||||||||
  28036   1.83%   62.203.xxx.xxx   ||||||||||||||||

 10 - Top Referring Sites
 Top 6 different referring sites sorted by requests

  61064   4.00%   tinderbox.chruetertee.ch
  26      0.00%   xyz
  16      0.00%   www.netcraft.com
  6       0.00%   xyz
  4       0.00%   random.yahoo.com
  4       0.00%   xyz

 11 - Top Keyphrases used on Google's search engine
 Top 6 different keyphrases sorted by requests

  3       0.00%   free proxy checker

Mehr Informationen zu goaccess findet man in der Manpage goaccess(1).

Comments (1)  Permalink

Systemstatistiken aufzeichnen

Mit Hilfe von gather lassen sich Systemstatistiken aufzeichnen und im nachhinein abfragen. Im FreeBSD-Portbaum findet man gather unter sysutils/gather:

# cd /usr/ports/sysutils/gather && make install clean

Nun müssen in der /etc/crontab folgende Einträge gemacht werden. Damit werden alle fünf Minuten die Daten gespeichert und automatisch nach sieben Tagen gelöscht:

*/5 * * * * root /usr/local/bin/gather collect
18  0 * * * root /usr/local/bin/gather expire 7

Nun kann abgefragt werden, welche Daten aufgezeichnet werden:

# gather show utils
-----------------------------------------------------------------------
name       cmd                      desc
-----------------------------------------------------------------------
df         /bin/df                  df output
fstat      /usr/bin/fstat           fstat output
netstat-La /usr/bin/netstat -Lna    netstat listening socket statistics
netstat-a  /usr/bin/netstat -na     netstat socket statistics
netstat-i  /usr/bin/netstat -ni     netstat interface statistics
netstat-m  /usr/bin/netstat -m      netstat mbuf statistics
netstat-rs /usr/bin/netstat -rs     netstat routing statistics
netstat-s  /usr/bin/netstat -s      netstat system wide statistics
nfsstat    /usr/bin/nfsstat         nfsstat output
ps         /bin/ps auxww            processes statistics
sockstat   /usr/bin/sockstat        sockstat output
sysctl     /sbin/sysctl -a          sysctl variables
top        /usr/bin/top -d1 -b 100  top output
uptime     /usr/bin/uptime          system uptime
vmstat     /usr/bin/vmstat          vmstat output
vmstat-i   /usr/bin/vmstat -ai      vmstat interrupts statistics
vmstat-m   /usr/bin/vmstat -m       vmstat kernel malloc(9) statistics
vmstat-z   /usr/bin/vmstat -z       vmstat kernel uma(9) statistics

Möchte man abfragen wie der System-Load am 12. November 2010 zwischen 2:00 und 3:00 war, kann folgender Befehl verwendet werden:

# gather show -t '2010-11-12/02' grep '.*' uptime
2010-11-12/02/00:  2:00AM  up 120 days,  9:50, 0 users, load averages: 2.31, 1.92, 1.42
2010-11-12/02/05:  2:05AM  up 120 days,  9:55, 0 users, load averages: 0.84, 1.27, 1.27
2010-11-12/02/10:  2:10AM  up 120 days, 10 hrs, 0 users, load averages: 0.86, 0.97, 1.11
2010-11-12/02/15:  2:15AM  up 120 days, 10:05, 0 users, load averages: 4.51, 2.75, 1.83
2010-11-12/02/20:  2:20AM  up 120 days, 10:10, 0 users, load averages: 4.36, 3.54, 2.45
2010-11-12/02/25:  2:25AM  up 120 days, 10:15, 0 users, load averages: 4.15, 3.99, 2.99
2010-11-12/02/30:  2:30AM  up 120 days, 10:20, 0 users, load averages: 4.43, 4.20, 3.37
2010-11-12/02/35:  2:35AM  up 120 days, 10:25, 0 users, load averages: 3.30, 3.88, 3.47
2010-11-12/02/40:  2:40AM  up 120 days, 10:30, 0 users, load averages: 0.95, 1.98, 2.69
2010-11-12/02/45:  2:45AM  up 120 days, 10:35, 0 users, load averages: 1.25, 1.24, 2.11
2010-11-12/02/50:  2:50AM  up 120 days, 10:40, 0 users, load averages: 0.93, 1.02, 1.74
2010-11-12/02/55:  2:55AM  up 120 days, 10:45, 0 users, load averages: 1.06, 1.04, 1.54

Auch können nur bestimmte Zeilen von den aufgezeichneten Daten angezeigt werden. Im folgenden Beispiel wird jeweils nur die Zeile mit den offenen Dateien innerhalb des angegebenen Zeitfensters aus den aufgezeichneten sysctl-Variablen angezeigt:

# gather show -t '2010-11-13/1--2010-11-13/2' grep '^kern.openfiles:' sysctl
2010-11-13/01/00: kern.openfiles: 255
2010-11-13/01/05: kern.openfiles: 259
2010-11-13/01/10: kern.openfiles: 261
2010-11-13/01/15: kern.openfiles: 261
2010-11-13/01/20: kern.openfiles: 264
2010-11-13/01/25: kern.openfiles: 261
2010-11-13/01/30: kern.openfiles: 261
2010-11-13/01/35: kern.openfiles: 270
2010-11-13/01/40: kern.openfiles: 308
2010-11-13/01/45: kern.openfiles: 311
2010-11-13/01/50: kern.openfiles: 296
2010-11-13/01/55: kern.openfiles: 308
2010-11-13/02/00: kern.openfiles: 311
2010-11-13/02/05: kern.openfiles: 306
2010-11-13/02/10: kern.openfiles: 282
2010-11-13/02/15: kern.openfiles: 265
2010-11-13/02/20: kern.openfiles: 269
2010-11-13/02/25: kern.openfiles: 301
2010-11-13/02/30: kern.openfiles: 311
2010-11-13/02/35: kern.openfiles: 294
2010-11-13/02/40: kern.openfiles: 311
2010-11-13/02/45: kern.openfiles: 311
2010-11-13/02/50: kern.openfiles: 309
2010-11-13/02/55: kern.openfiles: 294

Auch können die Anzahl gefunden Zeilen ausgegeben werden. Möchte man wissen wieviele offene Sockets der www-Benutzer hatte, kann folgender Befehl verwendet werden:

# gather show -t '2010-11-09' grep -c '^www\s' sockstat 
2010-11-09/00/00: 32
2010-11-09/00/05: 32
2010-11-09/00/10: 35
2010-11-09/00/15: 35
2010-11-09/00/20: 34
2010-11-09/00/25: 34
[...]
2010-11-09/23/30: 32
2010-11-09/23/35: 32
2010-11-09/23/40: 32
2010-11-09/23/45: 32
2010-11-09/23/50: 32
2010-11-09/23/55: 32

Mehr Informationen zu gather findet man in der Manpage gather(1).

Comments (1)  Permalink

In einer Datei nach IPv4-Adressen suchen

Mit Hilfe von grepcidr lässt sich in einer Datei nach IPv4-Adressen suchen. Im FreeBSD -Portbaum findet man grepcidr unter net-mgmt/grepcidr:

# cd /usr/ports/net-mgmt/grepcidr && make install clean

Nun kann analog zu grep in einer Datei nach einer IPv4-Adresse gesucht werden und die entsprechenden Zeilen werden ausgegeben:

# cat hosts 
10.0.0.1        host1.chruetertee.ch
10.0.0.10       host2.chruetertee.ch
10.0.0.12       host3.chruetertee.ch
10.0.0.20       host4.chruetertee.ch
127.0.0.1       localhost
192.168.1.1     jail1.chruetertee.ch
192.168.1.9     jail2.chruetertee.ch
# grepcidr 127.0.0.1 hosts
127.0.0.1       localhost

Weiter kann auch ein Netz in der CIDR -Notation angegeben werden und alle Adressen innerhalb dieses Netzwes werden ausgegeben:

# grepcidr 192.168.1.0/24 hosts
192.168.1.1     jail1.chruetertee.ch
192.168.1.9     jail2.chruetertee.ch

Ausserdem ist es möglich einen IP-Adressbereich anzugeben nach welchem gesucht werden soll:

# grepcidr 10.0.0.10-10.0.0.19 hosts
10.0.0.10       host2.chruetertee.ch
10.0.0.12       host3.chruetertee.ch

Mit Hilfe der -c Option werden die gefundenen Zeilen nicht ausgegeben sondern angezeigt wie viele Treffer in der Datei erziehlt wurden. Mit der -v Option werden alle Zeilen ausgegeben welche die Suchadressen nicht beinhalten.

 Permalink

Zeit beim Systemstart synchronisieren

Möchte man die Uhrzeit beim Systemstart mit Hilfe von ntpdate synchronisieren, so kann dies durch das Setzen von ntpdate_enable in der /etc/rc.conf gemacht werden. Mit der Variable ntpdate_hosts können die NTP-Server angegeben werden, welche zur Synchronisation verwendet werden sollen:

ntpdate_enable="YES"
ntpdate_hosts="0.freebsd.pool.ntp.org"
Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
 Permalink

Verfügbarkeit des Portquellcodes überprüfen

Mit Hilfe von distilator kann die Verfügbarkeit des Quellcodes eines Ports überprüft werden. Im FreeBSD -Portbaum findet man den distilator unter ports-mgmt/distilator:

# cd /usr/ports/ports-mgmt/distilator && make install clean

Nun kann ein Port mit Hilfe des distilators überprüft werden und der HTTP-Statuscode von jedem Mirror-Server sowie der in der pkg-descr eingetragenen Webseite wird angezeigt:

# distilator /usr/ports/www/firefox
200 [DISTFILE]  http://ring.nict.go.jp/archives/net/www/mozilla/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  http://mirror.internode.on.net/pub/mozilla/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [WWW]       http://www.mozilla.com/firefox
404 [DISTFILE]  http://ftp.isu.edu.tw/pub/Mozilla/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  ftp://ftp.informatik.rwth-aachen.de/pub/mirror/ftp.mozilla.org/pub/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  http://jp-nii02.mozilla.org/pub/mozilla.org/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  ftp://ftp.kaist.ac.kr/pub/mozilla/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  http://mozilla.c3sl.ufpr.br/releases/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  http://mirror3.mirrors.tds.net/pub/mozilla.org/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  http://jp-nii01.mozilla.org/pub/mozilla.org/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  http://kyoto-mz-dl.sinet.ad.jp/pub/mozilla.org/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  http://ftp.acc.umu.se/pub/mozilla.org/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  http://ftp.twaren.net/Unix/Mozilla/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  http://mozilla.mtk.nao.ac.jp/pub/mozilla.org/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  http://www.gtlib.cc.gatech.edu/pub/mozilla.org/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  http://ftp.ntu.edu.tw/pub/mozilla/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  ftp://ftp.fh-wolfenbuettel.de/pub/www/mozilla/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
500 [DISTFILE]  ftp://mozilla.mirror.pacific.net.au/mozilla/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  http://ring.riken.jp/archives/net/www/mozilla/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  http://mozilla.isc.org/pub/mozilla.org/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
 Permalink

Apache-Logdateien mit SQL auswerten

Mit Hilfe von asql können Apache-Logdateien mit Hilfe von SQL ausgewertet werden. Im FreeBSD-Portbaum findet man asql unter www/asql:

# cd /usr/ports/www/asql && make install clean

Startet man asql muss zuerst die Apache-Logdatei mit Hilfe des load Kommandos geladen werden:

# asql
asql v1.6 - type 'help' for help.
asql> load /var/log/httpd-access.log                                                                                                     
Loading: /var/log/httpd-access.log

Durch das show Kommandos werden die Spalten angezeigt welche angefragt werden können:

# asql> show                                                                                                                                  

   The table 'log' table has the following columns:

  id      - ID of the request
  source  - IP, or hostname, which made the request.
  request - The HTTP request
  status  - The HTTP status-code returned
  size    - The size of the response served, in bytes.
  method  - The HTTP method invoked (GET, PUT, POST etc).
  referer - The HTTP referer (sic).
  agent   - The User-Agent which made the request.
  version - The HTTP version used by this client.
  date    - The date and time at which the request was made.
  label   - Any label applied when the logfile was read.
  user    - The remote (authenticated) user, if any.

Nun kann mit SQL zum Beispiel die Anzahl Logzeilen abgefragt werden:

# asql> SELECT COUNT(id) FROM logs                                                                                                            
11824

Im folgenden Beispiel wird abgefragt welche 10 IP Adressen am meisten Inhalte heruntergeladen haben und wieviele Bytes im Total:

# asql> SELECT source,SUM ( size ) AS Number FROM logs GROUP BY source ORDER BY Number DESC, source LIMIT 10                                  
xxx.xxx.144.25 27051285778
xxx.xxx.170.131 14517940587
xxx.xxx.191.155 13897162645
xxx.xxx.35.202 7229313024
xxx.xxx.208.198 6773282128
xxx.xxx.115.44 6044618675
xxx.xxx.160.156 5183653049
xxx.xxx.253.241 4906880739
xxx.xxx.7.52 4906749542
xxx.xxx.7.104 4906746880
asql> exit

Mit Hilfe des exit Kommandos wird asql wieder beendet. Mehr Informationen zu asql erhält man mit der --manual Option von asql.

 Permalink

ZFS-Statistiken anzeigen

Mit Hilfe von zfs-stats können auf einem FreeBSD System alle ZFS relevanten Informationen angezeigt werden. Im FreeBSD -Portbaum findet man zfs-stats unter sysutils/zfs-stats:

# cd /usr/ports/sysutils/zfs-stats && make install clean

Mit der -F Option werden die FreeBSD-Informationen angezeigt:

# zfs-stats -F
------------------------------------------------------------------------
ZFS Subsystem Report                            Sat Oct 23 21:14:34 2010
------------------------------------------------------------------------
System Information:

        Kernel Version:                         900019 (osreldate)
        Hardware Platform:                      i386
        Processor Architecture:                 i386

FreeBSD 9.0-CURRENT #3: Thu Sep 2 13:27:05 CEST 2010 root
 9:14PM  up 40 mins, 2 users, load averages: 0.26, 0.06, 0.02

Verwendet man die -M Option so werden Informationen zum Arbeitsspeicher angezeigt:

# zfs-stats -M
------------------------------------------------------------------------
ZFS Subsystem Report                            Sat Oct 23 21:16:30 2010
------------------------------------------------------------------------
System Memory Statistics:
        Physical Memory:                        1011.41M
        Kernel Memory:                          34.55M
        DATA:                           71.94%  24.86M
        TEXT:                           28.06%  9.70M
------------------------------------------------------------------------

Die ZFS und ZFS-Pool Versionen können mit der -p Option abgefragt werden:

# zfs-stats -p
------------------------------------------------------------------------
ZFS Subsystem Report                            Sat Oct 23 21:17:47 2010
------------------------------------------------------------------------
ZFS pool information:
        Storage pool Version (spa):             28
        Filesystem Version (zpl):               5
------------------------------------------------------------------------

Alle ZFS relevanten sysctl-Variablen werden mit der -s Option angezeigt:

# zfs-stats -s
------------------------------------------------------------------------
ZFS Subsystem Report                            Sat Oct 23 21:19:05 2010
------------------------------------------------------------------------
ZFS Tunable (sysctl):
        kern.maxusers=384
        vfs.zfs.l2c_only_size=0
        vfs.zfs.mfu_ghost_data_lsize=0
        vfs.zfs.mfu_ghost_metadata_lsize=8192
        vfs.zfs.mfu_ghost_size=8192
        vfs.zfs.mfu_data_lsize=0
        vfs.zfs.mfu_metadata_lsize=177664
        vfs.zfs.mfu_size=296448
        vfs.zfs.mru_ghost_data_lsize=0
        vfs.zfs.mru_ghost_metadata_lsize=39936
[...]

Weiter können folgende Statistiken abgefragt werden: ARC (-A Option), VDEV cache (-D Option) , L2 ARC (-L Option) und DMU zfetch (-Z Option):

# zfs-stats -ADLZ
------------------------------------------------------------------------
ZFS Subsystem Report                            Sat Oct 23 21:53:57 2010
------------------------------------------------------------------------
ARC Misc:
        Deleted:                                8
        Recycle Misses:                         0
        Mutex Misses:                           0
        Evict Skips:                            0

ARC Size:
        Current Size (arcsize):         0.20%   1.26M
        Target Size (Adaptive, c):      100.00% 640.00M
        Min Size (Hard Limit, c_min):   12.50%  80.00M
        Max Size (High Water, c_max):   ~8:1    640.00M

ARC Size Breakdown:
        Recently Used Cache Size (p):   50.02%  320.14M
        Freq. Used Cache Size (c-p):    49.98%  319.86M
[...]

Alle Informationen in einer Ausgabe werden mit der -a Option dargestellt:

# zfs-stats -a

Ruft man zfs-stats ohne Optionen auf, werden alle verfügbaren Optionen aufgelistet.

Related Entries:
ZFS-Installation mit Hilfe von mfsBSD
FreeBSD nur auf ZFS installieren
Alle Änderungen eines ZFS-Pools anzeigen
Automatisch ZFS Snapshots erstellen
ZFS Dateisystemoptionen verwenden
 Permalink

Überprüfen ob eine PID-Datei noch gültig ist

Mit Hilfe von stalepid kann überprüft werden ob der Prozess, welcher in einer PID-Datei gespeichert ist, noch existiert. Gibt es den Prozess nicht mehr, wird die veraltete PID-Datei automatisch gelöscht. Im FreeBSD-Portbaum findet man stalepid unter sysutils/stalepid:

# cd /usr/ports/sysutils/stalepid && make install clean

An stalepid wird nun die PID-Datei und der Prozessnamen übergeben, worauf stalepid überprüft ob der Prozess aus der PID-Datei noch existiert und allenfalls die PID-Datei löscht:

# stalepid /var/run/powerd.pid powerd

Mehr Informationen zu stalepid findet man in der Manpage stalepid(1).

 Permalink

Musik auf der Kommandozeile abspielen

Möchte man auf der Kommandozeile Musik abspielen, kann dazu herrie verwendet werden. Im FreeBSD -Portbaum findet man herrie unter audio/herrie:

# cd /usr/ports/audio/herrie && make install clean

Um mit herrie Musik abzuspielen, wechselt man ins Verzeichnis, welches alle Audio-Dateien beinhaltet und ruft danach herrie auf:

# cd ~/music && herrie

Danach sieht man um unteren Teil von herrie die Audio-Dateien und alle Unterverzeichnisse. Möchte man ein Lied zur Wiedergabeliste hinzufügen so drückt man die a-Taste. Mit der x-Taste startet man das Abspielen der selektierten Lieder. Durch das Drücken der v-Taste stoppt man die Wiedergabe. Durch die y- und die v-Taste springt man ein Lied in der Wiedergabeliste rück- oder vorwärts. Möchte man herrie beenden, so drückt man die q-Taste.

Mehr Informationen und alle Tastenkombinationen von herrie findet man in der Manpage herrie(1). Danke Ed!

Comments (1)  Permalink
Prev Next11-20/84