Привет. Как пинговать на малине устройСТВО? (НОУТБУК) ПРЕДПОЛОЖИМ у нас малина пи ( rasberry pi) постоянная включена и напрямую с интернет - центром ( зуксель маршрутизатор и т.д.) также малина имеет связь ( по USB или wi-fi ) с ноутбуком..... Вопрос - как пинговать нотубук с малины? ( на малине система «Raspbian» )
Вы знаете, что такое пинговать, но не знаете. как это делается? Это как вообще возможно? Программа ping для этого существует.
вопрос то и состоит как пинговать с малины а не с ноута. и еще вопрос ... если пинговать удалось как сделать это процесс непрерывным , а если он прерывается, то чтоб млаина делала каке то дейтсвие по этому поводу.
Пинговать командой ping. Непрерывно - выполнять ping в цикле. Чтобы действия - проверять результат ping и в зависимости от него выполнять действия.
Доброго времени суток... сразу прошу прощения, но в Linux всё просто: Код (Bash): # Контроль связи с UNO-1019 function _uno_ping() { pd=$(ping -c 1 $unoipurl) ppd=$(echo $pd | grep "errors" | awk '{print length}') if( ((ppd > 1)) ) then echo "UNO-1019 no connect" echo "disconnected" > $uno_ping ((UnoConnect = 0)) else echo "UNO-1019 connect" echo "connected" > $uno_ping ((UnoConnect = 1)) fi sleep 5 } конечно это только пример функции, где unoipurl IP вашего устройства, а UnoConnect скажем так... результат пинга - глобальгая переменная для скрипта. Криво конечно, но давно работает. Скрипт (BASH) имеет в теле цикл и запускается с ключём & В моём случае он (скрипт) контролирует связь с контроллеро и по необходимости по TELNET производит его перезапуск, по FTP заливает в него файлы и снова по TELNET производит их запуск... ну и т.п. Так рестарт по TELNET... опять же эта функция вызывается из основного рабочего цикла. Код (Bash): #рестарт устройства UNO-1019 function reboot_uno() { ( sleep 1 echo $unologin sleep 1 echo $unopassword sleep 1 echo "reboot" echo "exit" ) | telnet $unoipurl } Вот так скрипт по FTP копирует файлы в устройство Код (Bash): #копирование файлов в UNO function _to_uno() { cd $to_uno # ftp -n $unoipurl << INPUT_END quote USER $unologin quote PASS $unopassword cd tst binary prompt mput *.* quit INPUT_END # cd $pmainunoipport } Зачем??? Ваша малина может настроить... ну к примеру роутер... или другое устройство. Ну разумеется если Вам это интересно.
Скрипт пингования как-то так будет выглядеть Код (Bash): #!/bin/sh HOST=8.8.8.8 ping -c 1 -W 10 $HOST > /dev/null if [$? -eq 0 ]; then echo "Ping ok" exit else echo "No ping" exit fi
Ешё случается что питание "прыгнуло" и прошёл перезапуск... так сказать не санкционированный. Потому и "перетаскиваю" файлы из директории в устройстве на Flash в директорию Ram. Код (Bash): #копирование файлов для работы в Temp UNO-1019 function work_copy() { ( sleep 1 echo $unologin sleep 1 echo $unopassword sleep 1 echo "copy Flash/tst/*.* Temp" sleep 1 echo "exit" ) | telnet $unoipurl } После перезапуска директория /Temp устройства чиста. И наш управляющий (пусть будет Малина... но в моём случае PC с Debian) по FTP контролирует содержимое /Temp и по TELNET копирует из директории в директорию и производит запуск исполняемого файла. Правда на упомянутом устройстве стоит Windows CE но все равно терпимо (хоть он и капризен). Таким образом одна малина может запустить комплекс пакетов на других устройствах. Вот только опыта делать того же, что и по TELNET, но только по SSH не имею. Был бы признателен за наводочку. Спасибо! Кстати вот добрые люди поделились организацией RAM диска... своего RAM диска! Код (Bash): #!/bin/bash # ramdisk.sh # "электронный диск" -- это область в ОЗУ компьютера #+ с которой система взаимодействует как с файловой системой. # Основное преимущество -- очень высокая скорость чтения/записи. # Недостатки -- энергозависимость, уменьшение объема ОЗУ, доступного системе, # относительно небольшой размер. # # Чем хорош электронный диск? # При хранении наборов данных, таких как таблиц баз данных или словарей, на электронном диске #+ вы получаете высокую скорость работы с этими наборами, поскольку время доступа к ОЗУ # неизмеримо меньше времени доступа к жесткому диску. E_NON_ROOT_USER=70 # Сценарий должен запускаться с правами root. ROOTUSER_NAME=root MOUNTPT=/mnt/defdisk SIZE=2000 # 2K блоков (измените, если это необходимо) BLOCKSIZE=1024 # размер блока -- 1K (1024 байт) DEVICE=/dev/ram1 # Первое устройство ram username=`id -nu` if [ "$username" != "$ROOTUSER_NAME" ] then echo "Сценарий должен запускаться с правами root." exit $E_NON_ROOT_USER fi if [ ! -d "$MOUNTPT" ] # Проверка наличия точки монтирования, then #+ благодаря этой проверке, при повторных запусках сценария mkdir $MOUNTPT #+ ошибки возникать не будет. fi dd if=/dev/zero of=$DEVICE count=$SIZE bs=$BLOCKSIZE # Очистить электронный диск. echo "mkefs..." mke2fs -l $DEVICE # Создать файловую систему ext2. # echo "mount..." mount -o loop $DEVICE $MOUNTPT # Смонтировать. chmod 777 $MOUNTPT # Сделать электронный диск доступным для обычных пользователей. # Но при этом, только root сможет его отмонтировать. echo "Электронный диск \"$MOUNTPT\" готов к работе." # Теперь электронный диск доступен для любого пользователя в системе. # Внимание! Электронный диск -- это энергозависимое устройство! Все данные, хранящиеся на нем, #+ будут утеряны при остановке или перезагрузке системы. # Если эти данные представляют для вас интерес, то сохраняйте их копии в обычном каталоге. # После перезагрузки, чтобы вновь создать электронный диск, запустите этот сценарий. # Простое монтирование /mnt/ramdisk, без выполнения подготовительных действий, не будет работать. exit 0
Привет, я новихек в малинке. Но мне нужно хтобы малина пингавала сервер и когда пинга нету требуется так сказать пройти по ссылке, там имеется команда чтобы перегрузить роутер, как это реализовать помогите. Заранее спасибо.
А если он не пингуется как в него роутер войти по сети? Или надо что бы кто-то питание передёргнул? Может по другим признакам?