Size: a a a

2019 March 14

SS

Sergey Shevelev in D-Link Russia
скорее всего питон+снмп
источник

SS

Sergey Shevelev in D-Link Russia
хотя написать подобный можно на чем угодно. даже на пхп лол
источник

AN

Alex N. in D-Link Russia
Dmitry V.
поделиться нет желания?😂
говнокостыли

querry=`mysql -u root --database uf -e "SELECT ip_address FROM switches WHERE savecfg='on'" | grep -E '([0-9]{1,3}\.){3}[0-9]{1,3}'`
date=$(date +"%Y_%m_%d")
date_ago=$(date -d "2 months ago" +"%Y_%m_*")
echo "$date_ago"
if [ -d "/tftp/upload/swconfigs/$date_ago" ]; then
       rm -r "/tftp/upload/swconfigs/$date_ago"
fi
if [ ! -d "/tftp/upload/swconfigs/$date" ]; then
       mkdir "/tftp/upload/swconfigs/$date"
       chown nobody "/tftp/upload/swconfigs/$date"
fi
for switch in `echo "$querry"`
do
       if ! `ping -c 1 $switch` &> /dev/null
       then
               result=$( { echo "name"; echo "password";echo "upload cfg_toTFTP 1.1.1.1 dest_file upload/swconfigs/$date/$switch"; echo "upload cfg_toTFTP 1.1.1.1 upload/swconfigs/$date/$switch"; sleep$
               if [[ ! -z `echo "$result"` ]]; then
                       if [[ -z `echo "$result" | grep 'Done'` ]] && [[ ! -z `echo "$result" | grep 'Failure'` ]]; then
                               echo "$result" >> fails.txt
                       fi
               else
                       echo "Something went wrong with $switch" >> fails.txt
               fi
               echo "$result"
       else
               echo "$switch is unreachable" >> fails.txt
       fi
done
источник

SS

Sergey Shevelev in D-Link Russia
сурово...
источник

МЯ

Микола Якименко... in D-Link Russia
Andrew Nikolaev
DGS-1210-28XS/ME, но гиговый. Сотошного нет ничего, ибо разница сотка-гиг мизерная.
но чуть ранее выяснили, у него все порты жестко гиг
А что делать тем, у кого соточные сфп?
источник

AN

Andrew Nikolaev in D-Link Russia
Микола Якименко
но чуть ранее выяснили, у него все порты жестко гиг
А что делать тем, у кого соточные сфп?
источник

МЯ

Микола Якименко... in D-Link Russia
Sergey Shevelev
сурово...
самое главное там это
echo "name"; echo "password";echo "upload cfg_toTFTP 1.1.1.1 dest_file upload/swconfigs/$date/$switch"; echo "upload cfg_toTFTP 1.1.1.1 upload/swconfigs/$date/$switch
источник

SS

Sergey Shevelev in D-Link Russia
Alex N.
говнокостыли

querry=`mysql -u root --database uf -e "SELECT ip_address FROM switches WHERE savecfg='on'" | grep -E '([0-9]{1,3}\.){3}[0-9]{1,3}'`
date=$(date +"%Y_%m_%d")
date_ago=$(date -d "2 months ago" +"%Y_%m_*")
echo "$date_ago"
if [ -d "/tftp/upload/swconfigs/$date_ago" ]; then
       rm -r "/tftp/upload/swconfigs/$date_ago"
fi
if [ ! -d "/tftp/upload/swconfigs/$date" ]; then
       mkdir "/tftp/upload/swconfigs/$date"
       chown nobody "/tftp/upload/swconfigs/$date"
fi
for switch in `echo "$querry"`
do
       if ! `ping -c 1 $switch` &> /dev/null
       then
               result=$( { echo "name"; echo "password";echo "upload cfg_toTFTP 1.1.1.1 dest_file upload/swconfigs/$date/$switch"; echo "upload cfg_toTFTP 1.1.1.1 upload/swconfigs/$date/$switch"; sleep$
               if [[ ! -z `echo "$result"` ]]; then
                       if [[ -z `echo "$result" | grep 'Done'` ]] && [[ ! -z `echo "$result" | grep 'Failure'` ]]; then
                               echo "$result" >> fails.txt
                       fi
               else
                       echo "Something went wrong with $switch" >> fails.txt
               fi
               echo "$result"
       else
               echo "$switch is unreachable" >> fails.txt
       fi
done
пст.. так проще может?
 #!/usr/bin/python
# -*- coding: utf-8

#импорт библиотек
import MySQLdb
import os
import subprocess
import time
import datetime
#from easysnmp import Session
today = datetime.date.today()

start_time = time.time()

# подключаемся к базе данных (не забываем указать кодировку, а то в базу запишутся иероглифы)
db = MySQLdb.connect(host="localhost", user="root", passwd="password", db="dbname", charset='utf8')
# формируем курсор, с помощью которого можно исполнять SQL-запросы
cursor = db.cursor()
# Выбираем все свитчи
sql = """SELECT ip WHERE bla bla bla FROM `tablename`'"""


# выполняем запрос
cursor.execute(sql)

# получаем результат выполнения запроса
data = cursor.fetchall()

# перебираем записи
for rec in data:
   # извлекаем данные из записей - в том же порядке, как и в SQL-запросе
   Ip, ObjectID = rec
   cmd = '/usr/bin/expect /path_to_script.exp %s > /path_to_log/%s' % (Ip, Ip)
   time.sleep(0.3)
   subprocess.Popen(cmd, shell=True)
#end

timer = round((time.time() - start_time), 1)
print("--- %s seconds ---" % (timer))
источник

МЯ

Микола Якименко... in D-Link Russia
понял, принял, не прав.. спутал с другой моделью
источник

AN

Alex N. in D-Link Russia
Sergey Shevelev
пст.. так проще может?
 #!/usr/bin/python
# -*- coding: utf-8

#импорт библиотек
import MySQLdb
import os
import subprocess
import time
import datetime
#from easysnmp import Session
today = datetime.date.today()

start_time = time.time()

# подключаемся к базе данных (не забываем указать кодировку, а то в базу запишутся иероглифы)
db = MySQLdb.connect(host="localhost", user="root", passwd="password", db="dbname", charset='utf8')
# формируем курсор, с помощью которого можно исполнять SQL-запросы
cursor = db.cursor()
# Выбираем все свитчи
sql = """SELECT ip WHERE bla bla bla FROM `tablename`'"""


# выполняем запрос
cursor.execute(sql)

# получаем результат выполнения запроса
data = cursor.fetchall()

# перебираем записи
for rec in data:
   # извлекаем данные из записей - в том же порядке, как и в SQL-запросе
   Ip, ObjectID = rec
   cmd = '/usr/bin/expect /path_to_script.exp %s > /path_to_log/%s' % (Ip, Ip)
   time.sleep(0.3)
   subprocess.Popen(cmd, shell=True)
#end

timer = round((time.time() - start_time), 1)
print("--- %s seconds ---" % (timer))
Может проще, я половину скриптов уже на экспект переписал... А до этого пока не добрался.. Ну работает же!!
источник

AN

Andrew Nikolaev in D-Link Russia
Микола Якименко
понял, принял, не прав.. спутал с другой моделью
а в связке с DIR-615GF  они вообще всеядные. ;)
источник

SS

Sergey Shevelev in D-Link Russia
Alex N.
Может проще, я половину скриптов уже на экспект переписал... А до этого пока не добрался.. Ну работает же!!
ну я тоже сначала таким страдал, потом переписал на пхп+експект, теперь вот питон+експект
источник

SS

Sergey Shevelev in D-Link Russia
дальше видимо будет питон+пхп+експект, если снмп+питон не смогу победить, а то там наркоманство сплошное
источник

AN

Alex N. in D-Link Russia
у меня тут половина на перле и половина на баше
источник

AN

Alex N. in D-Link Russia
Я веб-странички на похапе переписываю потихоньку
источник

AN

Alex N. in D-Link Russia
а скрипты по возможности тоже оптимизирую.. но времени не сильно дофига на это)
источник

o

ololoshwin in D-Link Russia
вопрос зачем mysql ? ))
источник

ML

Mike Lyashenko in D-Link Russia
Ребят ребят
источник

ML

Mike Lyashenko in D-Link Russia
Ребят
источник

ML

Mike Lyashenko in D-Link Russia
Ansible
источник