Форум русскоязычного сообщества Ubuntu


Автор Тема: Помогите в написании простенького скрипта по пингу.  (Прочитано 1774 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн m010103

  • Автор темы
  • Участник
  • *
  • Сообщений: 155
    • Просмотр профиля
Нужен скрипт, который бы пинговал адрес и в случае прохождения пинга громко пищал динамик и появлялось сообщение, что "адрес ожил".
Не помню в каком-то их Линухов у терминала была такая кнопка с лампочкой типа "следить за результатом", но чет не нашел такого в Ubuntu 10,10.
Спасибо.

rapidsp

  • Гость
Вот отсюда наверное можно что нибудь взять:
http://www.gentoo.ru/node/10892
http://forum.ru-board.com/topic.cgi?forum=24&topic=3109

А насчет "следить за результатом" - есть такая фишка в кдешном konsole.

Оффлайн wolvers

  • Новичок
  • *
  • Сообщений: 24
    • Просмотр профиля
Ну вот так например...

#!/bin/bash
notify-send --expire-time=10000 "Стартуем"
while true;
do ping -c 1 host 1>&2 > /dev/null && notify-send --expire-time=10000 "!!!HOST UP!!!"
sleep 3
done

Проверить установлен ли пакет notify

Оффлайн m010103

  • Автор темы
  • Участник
  • *
  • Сообщений: 155
    • Просмотр профиля
Ну вот так например...

#!/bin/bash
notify-send --expire-time=10000 "Стартуем"
while true;
do ping -c 1 host 1>&2 > /dev/null && notify-send --expire-time=10000 "!!!HOST UP!!!"
sleep 3
done


Скрипт вставил в файл 1.sh, в свойствах разрешил выполнение, но он не запускается, из терминала пишет, что файл 1.sh не найден, хотя ls показывает его. Что может быть?

rapidsp

  • Гость
Покажи
ls -l 1.sh

Оффлайн m010103

  • Автор темы
  • Участник
  • *
  • Сообщений: 155
    • Просмотр профиля
Покажи
ls -l 1.sh

Вернул
-rwxr-xr-x 1 a a 168 2012-02-06 18:43 1.sh

Оффлайн wolvers

  • Новичок
  • *
  • Сообщений: 24
    • Просмотр профиля
Скрипт вставил в файл 1.sh, в свойствах разрешил выполнение, но он не запускается, из терминала пишет, что файл 1.sh не найден, хотя ls показывает его. Что может быть?
для проверки в терминале bash 1.sh

Оффлайн m010103

  • Автор темы
  • Участник
  • *
  • Сообщений: 155
    • Просмотр профиля
для проверки в терминале bash 1.sh
Похоже завелся и ругается на notify, проверил такого пакета нет репе, есть Dnotify и Notify-osd оба установлены.

Оффлайн wolvers

  • Новичок
  • *
  • Сообщений: 24
    • Просмотр профиля
Похоже завелся и ругается на notify, проверил такого пакета нет репе, есть Dnotify и Notify-osd оба установлены.
попробуйте notify-osd раз он стоит ...
notify-osd --helpсмотрим параметры....

Оффлайн m010103

  • Автор темы
  • Участник
  • *
  • Сообщений: 155
    • Просмотр профиля
notify-osd --help
вернул
команда не найдена

Оффлайн wolvers

  • Новичок
  • *
  • Сообщений: 24
    • Просмотр профиля
команда не найдена
sudo apt-get install libnotify-binпосле этого должно работать как было изначально ...

Оффлайн m010103

  • Автор темы
  • Участник
  • *
  • Сообщений: 155
    • Просмотр профиля
ОГРОМНЕЙШЕЕ СПАСИБО!!! Все работает как надо!

Добавил в скрипт вот это:
ping -c 1 10.16.1.10 1>&2 > /dev/null && xdg-open 2.mp3из терминала, звуковой файл запускается, из уже имеющегося скрипта нет, что нужно исправить?
« Последнее редактирование: 06 Февраля 2012, 22:04:59 от m010103 »

Оффлайн wolvers

  • Новичок
  • *
  • Сообщений: 24
    • Просмотр профиля
ОГРОМНЕЙШЕЕ СПАСИБО!!! Все работает как надо!

Добавил в скрипт вот это:
ping -c 1 10.16.1.10 1>&2 > /dev/null && xdg-open 2.mp3из терминала, звуковой файл запускается, из уже имеющегося скрипта нет, что нужно исправить?
Эмм... могу предполагать что полный путь до звукового файла нужно указать ...
Но не думаю, что именно так нужно вызывать... может быть сразу программу использоваьб, а не смотреть что в системе на "умолчание" стоит.
Проверить в теминале
aplay  <путь к файлу>или
mplayer <путь к файлу>и уже через них вызывать ...
если стоит aplay, то с параметром -q - чтоб ничего не выводил...

Оффлайн m010103

  • Автор темы
  • Участник
  • *
  • Сообщений: 155
    • Просмотр профиля
Вот такой код не работает, но стоит оставить оин из пингов, то все работает.
Хотелось бы чтоб с OSD сообщением запускалось и звуковое
while true;
do ping -c 1 10.160.1.10 1>&2 > /dev/null && notify-send --expire-time=250 "!!!СЕТЬ!!!"
do ping -c 1 10.160.1.10 1>&2 > /dev/null && mplayer /home/a/2.mp3
done
sleep 30
done


Оффлайн wolvers

  • Новичок
  • *
  • Сообщений: 24
    • Просмотр профиля
Вот такой код не работает, но стоит оставить оин из пингов, то все работает.
Хотелось бы чтоб с OSD сообщением запускалось и звуковое
while true;
do ping -c 1 10.160.1.10 1>&2 > /dev/null && notify-send --expire-time=250 "!!!СЕТЬ!!!"
do ping -c 1 10.160.1.10 1>&2 > /dev/null && mplayer /home/a/2.mp3
done
sleep 30
done

Ну не совсем так ... не просто строка и всё ... :)
Сделайте вот так:

while true;
do
 if ping -c 1 10.160.1.10 1>&2 > /dev/null           # если пинг есть
  then                                               # то выполняем
  notify-send --expire-time=250 "!!!СЕТЬ!!!"         # первое
  mplayer /home/a/2.mp3                              #второе .... последнее
 fi
sleep 30
done

А вообще ... нужно немного почитать! Ну хоть вот тут

 

Страница сгенерирована за 0.039 секунд. Запросов: 25.