LinuxForum.Fans
Тема

Помогите объединить работу двух скриптов

Автор: vazgenoganisyan 4 сообщений 2814 просмотров
#384740

Всем привет)
Первый скрипт, проверяет загрузки в transmission, и если там есть загрузки ставит максимум скорости инета :)
Второй скрипт, пингует диапозон Ip в домашней сети, и если нету в сети ни одного устройства, то ставит минимальный тариф инета :)

[console]#!/bin/bash
count=`transmission-remote --auth ticsone:ticsone -l | grep -v -e " 100% " -e "$ :проверка загружаемых торрентов
if [[ $count -ne 0 ]]; then
echo "downloads ($count)" :запуск максимальной скорости
/home/tics/test.sh
else
echo "downloads ($count)" :если нету торрентов загрузке, то запуск минимума
/home/tics/1.sh
fi
[/console]

Этот скрипт проверяет наличие устройств в сети
[console]#!/bin/sh
NMAP="nmap -sP 192.168.1.33,34,35,37-62"
TMP=/var/tmp/nmap_ping.txt
CHECK="Nmap Ping"

$NMAP $1 > $TMP

grep "Host seems down" $TMP
if [ "$?" -eq 0 ]; then
rm -f $TMP
echo "$CHECK: CRITICAL"
/home/tics/320.sh
exit 2
fi

grep "Host is up" $TMP
if [ "$?" -eq 0 ]; then
rm -f $TMP
echo "$CHECK: Ok"
exit 0
fi

rm -f $TMP
echo "$CHECK: UNKNOWN"
exit 3
[/console]

Нужно как-то сделать, что-бы, если загружались торренты, второй скрипт не запускал минимальную скорость, даже, если никого в сети нету)
Помогите пожалуйста)

#384754

Самое простое, что приходит в голову — создать "файл блокировки". Первый скрипт пишет в него что-то вроде

text
busy=true

если торрент работает и

text
busy=false

если нет.
Второй при запуске читает файл и если busy=true, то выходит.

#384773

что дописать в скрипты? подскажи пожалуйста, что дописать в скриптах?)

#384831

[console]#!/bin/sh
count=`transmission-remote --auth ticsone:ticsone -l | grep -v -e " 100% " -e "$
if [[ $count -gt 1 ]]; then
echo "есть загрузки"
else
NMAP="nmap -sP 192.168.1.33,34,35,37-62"
TMP=/var/tmp/nmap_ping.txt
CHECK="Nmap Ping"

$NMAP $1 > $TMP

grep "Host seems down" $TMP
if [ "$?" -eq 0 ]; then
rm -f $TMP
echo "$CHECK: CRITICAL"
/home/tics/320.sh
exit 2
fi

grep "Host is up" $TMP
if [ "$?" -eq 0 ]; then
rm -f $TMP
echo "$CHECK: Ok"
exit 0
fi

rm -f $TMP
echo "$CHECK: UNKNOWN"
exit 3

[/console]
сделал так, но ошибка, как исправить?

Войдите или зарегистрируйтесь, чтобы ответить.