Что удобно в программировании и администрировании под разные системы и что нет?
Хотелось-бы увидеть конкретные примеры... и ваш опыт. с описанием (а вот-тут удобней!). Можно и абстрактные измышления )))
Модератор: Модераторы
Проще администрировать "красный шапка" чем "Вин Сервер"? Все зависит от знаний администрирования конкретной платформы. И там и там есть куча специфичных моментов...
#!/bin/sh
for server in `cat ./servers.url | egrep -ve "^[ t]*#"`; do
sipcalc -d $server | awk -e 'BEGIN{host="";}{
if (/^Hosts+addresss+-/) {
host=$NF;
}
if ((host != "") && /^Networks+masks+(bits)s+-/) {
print host"/"$NF;
host="";
}
}'
done | sort -u > ./servers.ip
exit 0
#!/bin/sh
ZS=1
if [ "$1" = "-z" -o "$2" = "-z" ]; then
ZS=0
fi
SHT=0
if [ "$1" = "-t" -o "$2" = "-t" ]; then
SHT=1
fi
DIR=/tmp/`date +%s%N`
if [ -d $DIR ]; then
rm -f $DIR/monipt_rcvd_* $DIR/monipt_sent_* 2>/dev/null
else
mkdir $DIR
fi
INTERVAL=2
while sleep $INTERVAL; do
DATA=`iptables -t mangle -nvxL | grep -A 1000 "Chain POSTROUTING" | awk -v DIR=$DIR -v SHOWTOTALS=$SHT -v ZERO_SKIP=$ZS -v INT=$INTERVAL 'BEGIN {
RCVD=0;
SENT=0;
}{
# $1: сколько вошло в интерфейс
# $2: сколько вышло из интерфейса
if ($3 = "CLASSIFY") {
# A[1]=<интерфейс и направление траффика через него>
# A[2]=<класс шэйпера>
split($NF,A,/:/);
TCIF="*";
if (A[1] == 1) {
TCIF="WAN";
} else
if (A[1] == 100) {
TCIF="WAN_in";
} else
if (A[1] == 2) {
TCIF="LAN";
} else
if (A[1] == 102) {
TCIF="LAN_in";
} else
if (A[1] == 3) {
TCIF="DTN";
} else
if (A[1] == 103) {
TCIF="DTB_in";
} else
if (A[1] == 4) {
TCIF="INET";
} else
if (A[1] == 104) {
TCIF="INET_in";
} else
if (A[1] == 5) {
TCIF="DTNO";
} else
if (A[1] == 105) {
TCIF="DTNO_in";
}
CLS="";
if (A[2] == 1020) {
CLS="INET_prio";
} else
if (A[2] == 1021) {
CLS="INET_reg";
} else
if (A[2] == 1022) {
CLS="INET_rest";
} else
if (A[2] == 1010) {
CLS="TASIX_prio";
} else
if (A[2] == 1011) {
CLS="TASIX_reg";
} else
if (A[2] == 1012) {
CLS="TASIX_rest";
} else
if (A[2] == 104) {
CLS="VPN";
} else
if (A[2] == 100) {
CLS="CTL";
}
if ( CLS != "CTL") {
MARK="non-classif";
} else {
MARK="ARP";
}
if (($10 == "connmark") ||($10 == "mark")) {
if ($10 == "connmark") {
mark_s="mark(CN)";
} else {
mark_s="mark(FW)";
}
if ($12 == "0x65") {
MARK="AVAST";
} else
if ($12 == "0x2") {
MARK="STUNNEL";
} else
if ($12 == "0x3") {
MARK="GIT_SSH";
} else
if ($12 == "0x8") {
MARK="BT_CTL";
} else
if ($12 == "0x5") {
MARK="PENSION";
} else
if ($12 == "0x7") {
MARK="IPADDR";
} else
if ($12 == "0x6") {
MARK="MACADDR";
} else
if ($12 == "0x42") {
MARK="MACADDRLP";
} else
if ($12 == "0x64") {
MARK="ANTIVIR";
} else
if ($12 == "0x69") {
MARK="P2P";
} else
if ($12 == "0x66") {
MARK="EXT";
} else
if ($12 == "0x67") {
MARK="ALOQA";
} else
if ($12 == "0x68") {
MARK="UZDTV";
} else
if ($12 == "0x6b") {
MARK="HIGH_PRIO";
} else
if ($12 == "0x72") {
MARK="TASIX_prio";
} else
if ($12 == "0x73") {
MARK="TASIX4IP";
} else
if ($12 == "0x74") {
MARK="TASIX4MAC";
} else
if ($12 == "0x75") {
MARK="TASIX4IP_P2P";
} else
if ($12 == "0x76") {
MARK="TASIX4MAC_P2P";
} else
if ($12 == "0x6a") {
MARK="VPN";
} else
if ($12 == "0xc8") {
MARK="ICMP_ACK64";
} else
if ($12 == "0xc9") {
MARK="INET_VNC";
} else
if ($12 == "0x12c") {
MARK="ACCEPT";
} else
if ($12 == "0x195") {
MARK="INET_GREEDY";
} else
if ($12 == "0x197") {
MARK="HIGH_PRIO";
} else
if ($12 == "0xca") {
MARK="IP_TLG_WORK";
} else
if ($12 == "0xcb") {
MARK="IP_TLG_CHECK";
} else
if ($12 == "0x1a1") {
MARK="TASIX4IP_GREEDY";
} else
if ($12 == "0x1a2") {
MARK="TASIX4MAC_GREEDY";
}
} else
if (($10 == "length") && ($11 == "0:64")) {
MARK="TCP_ACK";
}
FNR=DIR"/monipt_rcvd_"MARK"_"TCIF;
if (system("ls "FNR" 2>/dev/null 1>/dev/null") != 0) {
print "0n" > FNR;
}
getline RCVD < FNR;
FNS=DIR"/monipt_sent_"MARK"_"TCIF;
if (system("ls "FNS" 2>/dev/null 1>/dev/null") != 0) {
print "0n" > FNS;
}
getline SENT < FNS;
if ( (RCVD > 0) || (SENT > 0) ) {
if (!( ZERO_SKIP && ($1 == RCVD) && ($2 == SENT)) ) {
if (SHOWTOTALS) {
printf "=>%-6s=>%6s=> : "mark_s"= %-16s => class= %-10s rcvd/sent: speed %.1f/%.1f kBit/s (total of %d/%d bytes)n", $6,$7,MARK,CLS,(($1-RCVD)*8)/(1000*INT),(($2-SENT)*8)/(1000*INT),$1,$2;
} else {
printf "=>%-6s=>%6s=> : "mark_s"= %-16s => class= %-10s rcvd/sent: speed %.1f / %.1f kBit/sn", $6,$7,MARK,CLS,(($1-RCVD)*8)/(1000*INT),(($2-SENT)*8)/(1000*INT);
}
}
}
print $1 > FNR;
print $2 > FNS;
}
}' | sort -u`
if [ -n "$DATA" ]; then
echo "----------------------"
printf "$DATAn"
else
echo "collecting data.."
fi
done
exit
Только про последний скрипт не забудьте сказать, что на Фрюхе он работать не будет.
debi12345 писал(а):Хм, а на Виндосе можно админить что либо кроме нетбиос-домена ? Ну-ну...
А вообще средств там для администрирования достаточно, кроме gui. wsh, adsi, wmi, powershell ну и cmd
debi12345 писал(а): Отличия есть в стиле администрирования и затрачиваемом времени и усилиях (= производительности труда) - виндовый админ все время в делах и на виду у начальства, а у линуксового админа все автоматизировано - поэтому он выглядит наглым бездельником, приходящим на работу поразвлечься и отдохнуть.
debi12345 писал(а):Вот простейшие утилитарные админские скрипты на Лине, достичь функционала которых на Выни запаришься...
хотя, конечно, в линуксоидной сетке было бы чуть поменьше геморроя.
но зато ломаются уж наверняка! Лично мне настраивать линукс в разы сложнее.
azsx писал(а):В отличии от винды, линукс в любой программе может иметь кучу настроек, да еще и в текстовом виде (или в аналоге реестра, ваще свет тушите). В линукс почти никогда не получается натыкать решение за часик перебора. Всегда надо точно знать что и для чего вы делаете.
Для настройки линукса требуется более высокая квалификация - бесспорно
debi12345 писал(а):Для настройки линукса требуется более высокая квалификация - бесспорно
Не-а. Один раз нашел решение, настроил, ОБЯЗТЕЛЬНО И ПОДРОБНО прокомментировал прямо в файле настроек...
Для Выни в этом случае нужно вести целый дневник со скриншотами.
azsx писал(а):интересно почему?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0