LINUX.ORG.RU

Сообщения mtbiker

 

Помогите переделать виндовый cmd скрипт (по удалению маршрутов)

Форум — Admin

Уважаемые помогите пожалуйста переделать виндовый cmd скрипт (по удалению маршрутов).

Буду благодарен любой информации

:: Убракт лишние строки роутинга, которые не относятся к локальным сетям для впн
@echo off

SETLOCAL ENABLEDELAYEDEXPANSION

:: Счетчик
set /a cnt=0

for /F "tokens=1-3,4*" %%i in ('netstat -rn') do (
  :: Обрабатывем только строки, где есть таблица маршрутизации 
  if %%i==Сетевой (
    set /a cnt=1
  )
    
  if !cnt! GEQ 1 (
    set /a cnt = !cnt!+1
        
    :: Получаем данные главного интерфейса
    if !cnt! EQU 3 (
      set MainGW=%%k
      set MainInt=%%l
    )
        
    :: Получаем данные ВПН
    if !cnt! EQU 4 (
      set VpnGW=%%k
      set VpnInt=%%l
    )
        
    :: Обрабатываем строки. Получаем компоненты маски и подсети
    if !cnt! GEQ 4 (
      set IP=%%i
      set MASK=%%j
      
      for /F "tokens=1-3,4* delims=." %%a in ('echo !IP!') do (
        set I1=%%a
        set I2=%%b
      )

      :: Теперь будем убивать маршруты. Убиваем все, что от ВПН и не принадлежит к локальным сетям
      set IsLocal="false"

      :: Узнаем локальная ли сеть			
      IF !I1! EQU 10 set IsLocal="true"
      IF !I1! EQU 127 set IsLocal="true"
      
      IF !I1! EQU 172 (
        IF !I2! EQU 16 set IsLocal="true"
      )
      
      :: Свою сеть оставляем
      IF IP EQU "192.168.1.0" (
        IF MASK EQU "255.255.255.0" set IsLocal="true"
      )        

      :: IP Mulicast
      IF !I1! EQU 224 set IsLocal="true"
      IF !I1! EQU 255 set IsLocal="true"
         
      
      :: только ВПН маршруты
      IF %%k EQU !VpnGW! (
        IF !IsLocal! EQU "false" (
          echo route DELETE !IP! MASK !MASK! !VpnGW!
          route DELETE !IP! MASK !MASK! !VpnGW!
        )
      )
    )
  ) 
)   

 

mtbiker
()

Скрипт отправки почты. Проблема с оператором if

Форум — Admin

Помогите настроить проверку в 14 строке (у меня она всегда успешна). if [ $grep_result != $Empty ]; then

Проблема : скрипт шлет пустые письма вкупе с хорошими письмами.

#!/bin/sh
mydir="/media/psf/Home/Documents/specification/SN"
Empty=" "
 
while true ; do
cd $mydir 
 
if ls $mydir &>/dev/null ; then
 
mail=$(cat /media/psf/Home/Documents/specification/SN/* | tail -n 1) 
rm -rf /media/psf/Home/Documents/specification/SN/*

grep_result=$Empty 
if [ $grep_result != $Empty ]; then
grep_result=$(grep -r $mail /media/psf/Home/Documents/specification/HPE\ x86_Q3_v5.csv)
echo $grep_result | mail -s "$mail" mtbiker@inbox.ru
grep_result=$Empty 
fi

    fi
done

 

mtbiker
()

RSS подписка на новые темы