'
}
-motd_batt() {
+status_batt() {
case "$(uname)" in
'Linux')
- upower --dump \
- | awk '
- /^Device:[ \t]+/ {
- device["path"] = $2
- next
- }
-
- / battery/ && device["path"] {
- device["is_battery"] = 1
- next
- }
-
- / percentage:/ && device["is_battery"] {
- device["battery_percentage"] = $2
- sub("%$", "", device["battery_percentage"])
- next
- }
-
- /^$/ {
- if (device["is_battery"] && device["path"] == "/org/freedesktop/UPower/devices/DisplayDevice")
- print device["battery_percentage"], 100, "batt"
- delete device
- }
- '
+ if which upower > /dev/null
+ then
+ upower --dump \
+ | awk '
+ /^Device:[ \t]+/ {
+ device["path"] = $2
+ next
+ }
+
+ / battery/ && device["path"] {
+ device["is_battery"] = 1
+ next
+ }
+
+ / percentage:/ && device["is_battery"] {
+ device["battery_percentage"] = $2
+ sub("%$", "", device["battery_percentage"])
+ next
+ }
+
+ /^$/ {
+ if (device["is_battery"] && device["path"] == "/org/freedesktop/UPower/devices/DisplayDevice")
+ print device["battery_percentage"], 100, "batt"
+ delete device
+ }
+ '
+ fi
;;
esac
}
awk -v unit="$1" '{printf "%s%s\n", unit, $0}'
}
-motd() {
+status() {
local -r indent_unit=' '
uname -srvmo
(
free | awk '$1 == "Mem:" {print $3, $2, "mem"}'
df ~ | awk 'NR == 2 {print $3, $3 + $4, "disk"}'
- motd_batt
+ status_batt
) \
| bar_gauge -v width=60 -v pct=1 \
| column -t \
| sort -u \
| xargs \
| column -t
+
+ # TODO: iptables summary
}
ssh_invalid_attempts_from() {
split($5, prog, "[")
sub(":$", "", prog[1]) # if there were no [], than : will is left behind
print prog[1]
- }' /var/log/syslog \
+ }' /var/log/syslog /var/log/syslog.1 \
| awk '
{
n = split($1, path, "/") # prog may be in path form
for (prog in count)
print count[prog], total, prog
}' \
+ | sort -n -k 1 \
| bar_gauge -v num=1 -v ch_right=' ' -v ch_left=' ' -v ch_blank=' ' \
| column -t
}