Страница 3 из 11

Добавлено: 2007-07-05 19:39:39
Alex Keda
после ручного удаления ненужных вместо 254 стало 139 портов.
неплохо :)

Добавлено: 2007-07-05 21:22:27
proxy-man
lissyara писал(а):после ручного удаления ненужных вместо 254 стало 139 портов.
неплохо :)
Это показатель для дэсктопа или для сервера?

Добавлено: 2007-07-05 21:36:49
Alex Keda
можно сказать для ервера.
на десктопе меньше 500 не бывает...

Добавлено: 2007-07-06 12:08:25
Dog
lissyara писал(а):не нашёл способа узнать - как получить список установленных портов, от которых не зависят другие (чтоб ненужные поудалять - нефиг им болтаться)
Вообще-то есть способ гораздо проще:

Код: Выделить всё

dog@dog:/usr/ports> make quicksearch name=pkg_cutleaves
Port:   pkg_cutleaves-20061113
Path:   /usr/ports/ports-mgmt/pkg_cutleaves
Info:   Interactive script for deinstalling 'leaf' packages
Хотя скриптом - это конечно более по-джедайски :)

Добавлено: 2007-07-06 22:30:35
Alex Keda
Продолжаю баловаться траффиками - для домаашнего сервачка сделал.

Код: Выделить всё

#!/bin/sh

# Временный файл
tmp_file="/tmp/trafd.traffic.$$.tmp"
out_file="/usr/local/var/trafd/tmp_data.txt"
# внешний ip машины
#external_IP="`/sbin/ifconfig xl0 | grep inet | awk '{print $2}'`"
#internal_IP="`/sbin/ifconfig ep0 | grep inet | awk '{print $2}'`"
#wifi_IP="`/sbin/ifconfig ath0 | grep inet | awk '{print $2}'`"


# Сегодяшний день
day="`date +%Y-%m-%d`"
# Текущий год
year="`date +%Y`"
# Текущий месяц
month="`date +%m`"
# Текущее время (секунды специально сделаны 00 - иногда cron запускает скрипт не
# в 00 секунд а позже (максимум что я видел - в 13), если машина очень загружена -
# как итог в логах начинает фигурировать разное число секунд.
# Мне это непонравилось :)
curr_time="`date +%H:%M:00`"
# Директория в которой будут храниться текстовые файлы с логами trafd
NewDir="/var/traffic/${year}/${month}"
# Пытаемся создать эту самую директорию на случай если это первый запуск
# или произошла смена месяца (года)
mkdir -p ${NewDir}
# Ну и топаем туда
cd ${NewDir}

# Считываем все переменные из файла /etc/rc.conf с целью извлечь оттуда
# строчку с названиями интерфейсов по которым работает trafd
# (У меня три сетевых платы и lo0 - просто интереса ради)
. /etc/rc.conf

# Для всех интерфейсов выковырнутых из rc.conf (висят в ${trafd_ifaces})
# выполняем один и тот же набор действий по разбору логов и запихиванию
# их в базу данных
echo " Траффик за этот месяц:" > ${out_file}
echo " Интерфейс        Входящий        Исходящий" >> ${out_file}
for iface in ${trafd_ifaces}
do
        IP="`/sbin/ifconfig ${iface} | grep inet | awk '{print $2}' | head -1`"
        # Считаем траффик от нас. Считаем за весь месяц, кладём во временный
        # файл - из него будет выводиться при логине - когда su делаешь
        cat ${NewDir}/summary.${iface} | grep "^[0-9]" | grep "^${IP}"| awk '
                BEGIN { d=0 }
                        {
                                # Суммируем 6-й столбец на вводе - траффик
                                d=$6+d
                        }
                END {
                                print d/1048576
                } ' > ${tmp_file}
        read bytes_out < ${tmp_file}

        # Считаем траффик от нас. Считаем за весь месяц, кладём во временный
        # файл - из него будет выводиться при логине - когда su делаешь
        cat ${NewDir}/summary.${iface} | grep "^[0-9]" | grep -v "^${IP}"| awk '
                BEGIN { d=0 }
                        {
                                # Суммируем 6-й столбец на вводе - траффик
                                d=$6+d
                        }
                END     {
                                print d/1048576
                        } ' > ${tmp_file}
        read bytes_in < ${tmp_file}

        # заносим траффик во временный файл - будет выводиться на экран при логоне
        if [ "${bytes_in}" = "0" ]
        then
                # нету траффега
        else
                echo " ${iface}         ${bytes_in} Mb  ${bytes_out} Mb" >> ${out_file}
        fi
        # удаляем временный файл
        rm ${tmp_file}
done

echo " Подсчитан `date +%Y-%m-%d` в `date +%H:%M:%S` MSK" >> ${out_file}
удивили цифры:

Код: Выделить всё

more /usr/local/var/trafd/tmp_data.txt
 Траффик за этот месяц:
 Интерфейс      Входящий        Исходящий
 xl0            706,019 Mb      367348 Mb
 ep0            1358,88 Mb      2259,12 Mb
 ath0           36,7791 Mb      0,10037 Mb
 Подсчитан 2007-07-06 в 23:19:19 MSK
и это с начала месяца... бедный старенький пенёк :)

Добавлено: 2007-07-06 22:50:00
alex3
Ха! целерончик 600 256 рам и 40 гб винт(старый заводской рутер) > 95Гб общего трафа. (по статистике из ipacctd)

Добавлено: 2007-07-06 22:51:47
Alex Keda
что ха. за 6 дней 367G набежало...

Добавлено: 2007-07-06 22:59:45
alex3
повторяю. мы провинциалы... у нас траф дорогой...но, если поднапрячься, то бесплатного трафа гиг терабайт будет... но кому это надо... мы юзерей воспитываем... а че ты не спишь?

Добавлено: 2007-07-06 23:02:25
Alex Keda
глюк словил - толи стека сетевого толи дров nve - сидел страницу дебага - буквы цифры переписывал на бамажку потом набивал чтоб отправить...
========
блин - пожалел что на ноуте КОМ-порта нет - можно было бы туда направить вывод отладочной консоли....
если полный дебаг попросят - пойду в понедельник на работе искать ноут с ком-портом или PCMCI порт...
там страниц пять такого бреда будет...

Добавлено: 2007-07-07 7:26:19
Andy
Лис, а чем у тебя сервак дома занимается?

Добавлено: 2007-07-07 11:46:37
Alex Keda
сайт валяется - когда програмлю,
а вообще - софт да кино-музыка лежит - кино музыка по ftp расшарена..

Добавлено: 2007-07-07 11:54:41
Alex Keda
сайт валяется - когда програмлю,
а вообще - софт да кино-музыка лежит - кино музыка по ftp расшарены

Добавлено: 2007-07-07 16:56:11
Andy
lissyara писал(а):а вообще - софт да кино-музыка лежит - кино музыка по ftp расшарена..
Доступна из внешнего мира?

Добавлено: 2007-07-07 17:02:34
Alex Keda
неа. была бы доступна - там бы сайт лежал :)

Добавлено: 2007-07-07 20:58:04
o2x
Обновил скрипт ститистики, отсутствия интернета:

Код: Выделить всё

#! /bin/sh
ping="/sbin/ping"
# время
date_time="`date +%H:%M:%S`"
# дата
date="`date +%d-%m-%Y`"
date="`date | awk '{print $1,$2,$3,$4,$5}'`"
# часы минуты
date_hour="`date +%H`"
date_minute="`date +%M`"

# Пингуемые хосты
ISP="***.***.***.***"

# Создание файлов если их нет
if [ ! -f hour.txt ]; then
echo "$date_hour" > hour.txt
echo "$date_minute" > minute.txt
echo "запуск 1-й раз" > interval.txt
exit 0;
fi

# Пингуем провайдера
$ping -q -c 4 ${ISP} >/dev/null 2>&1

# если результат true 
if [ $? -eq 0 ]; then
        echo "Провайдер Lecos - $ISP доступен."
        echo "isp" > hour.txt;
        echo "isp" > minute.txt;
    exit 0;
else
                echo "Ошибка связи. Провайдер Lecos - $ISP не доступен" 2>/dev/null
        # Проверка данных txt файла. Если есть запись "true isp"
                # Значит перед этим был инет. Сохраняем значения времени
                # отсутствия Инета и выходим
                result_txt="`cat minute.txt`"
                if [ $result_txt = "isp" ]
                then
          echo "$date_hour" > hour.txt
          echo "$date_minute" > minute.txt
                  exit 0;
                fi
                # Последнее время проверки(предыдущий раз)
            old_hour="`cat hour.txt`"
            old_minute="`cat minute.txt`"

            # Текущая разница времени
            end_hour="`expr $date_hour - $old_hour`"
            end_minute="`expr $date_minute - $old_minute`"

                # Если разница времени(минут) меньше 0
                # 15.45-16.10  rez_m=60-45+10 rez_h=0
                if [ $end_minute -lt 0 ]
                then
                        end_hour="0";
                        end_minute="` 60 - $old_minute + $date_minute`";
                fi
                # Если разница времени равна 0.Выход
                if [ $end_hour -eq 0 -a $end_minute -eq 0 ]
                then exit 0;
                fi

echo "-------------------------------
Дата:  $date
Время: $date_time
Время отсутствия: ${old_hour}:${old_minute} - ${date_hour}:${date_minute}
Всего $end_hour часов $end_minute минут.
-------------------------------" >> interval.txt
                # Интервалы отсутствия времени
                    interval="`cat interval.txt`"
                        echo "$date_hour" > hour.txt
                    echo "$date_minute" > minute.txt
                    echo
                    echo "Интервалы времени отсутствия Интернета:                "
                    echo "$interval"
exit 1;

fi
Примерный вывод в файл:

Код: Выделить всё

20:57 [p0]root#mail:/root/scripts/ping_internet>cat interval.txt
запуск 1-й раз
-------------------------------
Дата:  суббота, 7 июля 2007 г.
Время: 20:35:32
Время отсутствия: 20:34 - 20:35
Всего 0 часов 1 минут.
-------------------------------
-------------------------------
Дата:  суббота, 7 июля 2007 г.
Время: 20:56:04
Время отсутствия: 20:49 - 20:56
Всего 0 часов 7 минут.
-------------------------------

Добавлено: 2007-07-10 7:19:50
gyurza2000
а нет ли у кого скрипта, обрубающего трафик у всех юзеров кроме одного по достижении цифры 2Гб?

Добавлено: 2007-07-10 8:30:04
Alex Keda
примеров уже накидано - выше крыши.
сиди и пиши.

Добавлено: 2007-07-10 9:26:41
gyurza2000
lissyara писал(а):примеров уже накидано - выше крыши.
сиди и пиши.
просмотрел я все примеры в этой ветке - ткни пож. носом, о чём ты говоришь

мне надо квотировать не юзеров по отдельности, а ОБЩИЙ трафик

Добавлено: 2007-07-10 9:31:52
Alex Keda
какая разница?
Такие вещи в любом случае -пишутся под конкретную конфигурацию.
==========
начинай писать, создавай отдельную тему - поможем.
для начала пошлём в документацию :)
http://www.lissyara.su/?id=1067

Добавлено: 2007-07-10 9:42:56
gyurza2000
ну блин, комрады, я ж агрохимик, а не программист, боюсь не справлюсь, не представляю даже как скрипты пишутся :(

Добавлено: 2007-07-10 9:44:36
schizoid
гы, хател дать ссылку на ФАК, аж http://www.opennet.ru - лежить....

Добавлено: 2007-07-10 9:46:42
gyurza2000
лежить лежить opennet, сутра проверял :(, но линк жду :)

Добавлено: 2007-07-10 9:49:01
Alex Keda
gyurza2000 писал(а):ну блин, комрады, я ж агрохимик, а не программист, боюсь не справлюсь, не представляю даже как скрипты пишутся :(
а я химик-технолог по переработке нефти и природных энергоносителей.
и что? Сижу и пишу.
Когда учиться перестанешь - в обезьяну начнёшь превращаться.
я не хочу :)

Добавлено: 2007-07-10 10:28:50
schizoid
http://www.opennet.ru/docs/HOWTO-RU/Bas ... Intro.html
это типа основы
ну и выше подняться http://www.opennet.ru/docs/
тут многа чего есть [/code]

Добавлено: 2007-07-10 10:30:22
Alex Keda
не советуйте человеку плохого.
Пусть пишет на шелле - гораздо универсальней и кроссплатформенней.
У меня баш тока на десктопе, какое-то уродское приложение притащило, автор которого написал configure на нём.