Conky ping

Conky ping

mkdir .conky
cd .conky
mkdir status
nano ping.sh

#!/bin/bash
if [[ "$#" != "3" ]]; then echo "Usage: ping.sh IP onsign offsign"; fi

# Get the status
STATUS="$(ping $1 -c 1 -w 2 | grep packets | sed "s/^.*tted, //;s/1/$2/;s/0/$3/;s/ re.*$//")"

# Create the directory
if [ ! -d ~/.conky/status ]; then mkdir ~/.conky/status; fi

# Remove the old status
if [ "$STATUS" == "$2" ]; then
if [ -f ~/.conky/status/$1.$3 ]; then rm ~/.conky/status/$1.$3; fi
else
if [ -f ~/.conky/status/$1.$2 ]; then rm ~/.conky/status/$1.$2; fi
fi

# Create the new status file
if [ ! -f ~/.conky/status/$1.$STATUS ]; then touch ~/.conky/status/$1.$STATUS; fi
chmod a+x ping.sh

Пример использования скрипта. (Пингуем yandex)
=============================================

use_xft yes
xftfont Monospace:size=8
xftalpha 0.8
own_window yes
own_window_type normal
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window_hints below
#update_interval 1.0
double_buffer yes
alignment top_left
gap_x 5
gap_y 270
maximum_width 400
update_interval 6
total_run_times 0
draw_shades no
draw_graph_borders no
# ------------------ COLORS ---------------------------------#
color3 green
color4 red
# ------------------ Main Text ---------------------------------#
TEXT
INET - ${alignr}${execi 60 /home/imbicile/.conky/ping.sh 77.88.21.3 "up" "down"}${if_existing /home/imbicile/.conky/status/77.88.21.3.up}${color3}Online$else${color4}Offline$endif

Пример с WAN адресом
======================================

INET: ${execi 60 /home/imbicile/.conky/ping.sh 87.250.251.3 "up" "down"}${if_existing /home/imbicile/.conky/status/87.250.251.3.up}${color3}${execi 3600 wget -O - http://ip.tupeux.com/ | tail}$color$else${color4}Offline$endif$alignr${nodename}

One comment

  • Леонид Пантелеев Леонид Пантелеев

    Спасибо за Ваши труды…

    Вот только не получилось…
    Нужна помощь. Жаль, что нет скриншота конечного результата.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *