faqs.org.ru

 Главная > Операционные системы > Семейство UNIX >

FAQ по UNIX

Секция 2 из 2 - Предыдущая - Следующая

31. РРР и дозвон по нескольким номеpам

Я в свое время сделал для себя скрипт. Точнее для diald. Он за один запуск
звонит по одному из списка номеров. Hе знаю, может быть сейчас есть более
продвинутые методы.
----------------------------------------------------
#!/bin/sh
############################################################
#         Usage: pppd connect 	   #
#             Kirill Pushkin, kirill@aanet.ru		   #
############################################################

# Configuration parameters
SCRIPTNAME=`basename $0`
MEMOFILE=/tmp/$SCRIPTNAME.last

# The phone number to dial
MAX_PHONES=3
PHONES="111-1111 222-2222 333-3333"

# The initialization string for your modem
MODEM_INIT="AT&F1M1L0"

# The chat sequence to recognize that the remote system
# is asking for your user name.
USER_CHAT_SEQ="ogin:--ogin:--ogin:--ogin:--ogin:--ogin:--ogin:"

# The string to send in response to the request for your user name.
USER_NAME="*******"

# The chat sequence to recongnize that the remote system
# is asking for your password.
PASSWD_CHAT_SEQ="word:--word:--word:--word:--word:"

# The string to send in response to the request for your password.
PASSWORD="*******"

# Pass a message on to diald and the system logs.
function message () {
[ $FIFO ] && echo "message $*" >$FIFO
logger -p local2.info -t connect "$*"
}

# Initialize the modem. Usually this just resets it.
message "Initializing Modem"
chat TIMEOUT 5 "" $MODEM_INIT TIMEOUT 45 OK ""
if [ $? != 0 ]; then
    message "Failed to initialize modem"
    exit 1
fi

# Dial the remote system.
COUNTER=0
LAST_COUNTER=`cat $MEMOFILE`
if [ $LAST_COUNTER -ge $MAX_PHONES ]; then
   TO_DIAL_NO=1
else
   TO_DIAL_NO=$[$LAST_COUNTER+1]
fi
for i in $PHONES; do
    COUNTER=$[$COUNTER+1]
   if [ $TO_DIAL_NO = $COUNTER ]; then
       #echo $COUNTER - $i
	PHONE_NUMBER=$i
   fi
done
echo $TO_DIAL_NO > $MEMOFILE

message "Dialing system at $PHONE_NUMBER"
chat \
	TIMEOUT 45 \
	ABORT "NO CARRIER" \
	ABORT BUSY \
	ABORT "NO DIALTONE" \
	ABORT ERROR \
	"" ATDP$PHONE_NUMBER \
	CONNECT ""

case $? in
   0) message Connected;;
   1) message "Chat Error"; exit 1;;
   2) message "Chat Script Error"; exit 1;;
   3) message "Chat Timeout"; exit 1;;
   4) message "No Carrier"; exit 1;;
   5) message "Busy"; exit 1;;
   6) message "No DialTone"; exit 1;;
   7) message "Modem Error"; exit 1;;
   *)
esac

# We're connected try to log in.
message "Loggin in"
chat \
	TIMEOUT 5 \
	$USER_CHAT_SEQ \\q\\p$USER_NAME \
	TIMEOUT 45 \
	$PASSWD_CHAT_SEQ $PASSWORD PPP \\d

if [ $? != 0 ]; then
    message "Failed to log in"
    exit 1
fi

# Success!
message "Protocol started"


32. Скрипт для синхронизации time и монтирования сетевых дисков Поднял SAMBA Primary Domain Controller под Red Hat 6.0 (Samba 2.03). Win98 входят в домен нормально как в NT, но хочется скрипт для синхронизации time и монтирования сетевых дисков как "Выполняется макрос поключения к Windows NT". Рассмотрим простейщий случай 1. Добавляем в smb.conf в секцию [global] : ... time server = yes logon script = logon.bat ... 2. Добавляем в smb.conf ресурс netlogon : [netlogon] comment = Samba Network Logon Service path = /home/netlogons case sensitive = no guest ok = yes locking = no read only = yes 2. Создаем в RH соответствующее оглавление cd /home mkdir netlogons # имя из поля path = ... (см.выше) chmod 755 netlogons 3. Создаем в этом оглавлении файл logon.bat , имеющий содержимое: @echo off net time /set /yes net use H: /home /savepw:no net use W: \\SMBSRV\winapps /savepw:no !!! ВНИМАНИЕ. Этот файл должен быть в MS-DOS'овском представлении, то есть в конце каждой строки д.б. CR-LF , а не просто LF, как это принято в UNIX'ах . ------- Более сложный вариант, когда в smb.conf написано: [global] ... logon script = %m.bat ; или же logon script = %U.bat ... Тогда в /home/logons надо надо заводить свой файл для каждой Win-машины ( если %m.bat ) или для каждого пользователя ( если %U.bat ) . Отсутствие файла ошибкой не являестя (просто ничего не будет выполняться). И еще несколько полезных советов: а. Крайне не рекомендуется использовать в logon-файлах диск Z: . б. Не советую устанавливать/изменять в smb.conf параметр logon path, т.к. в файле-образце содержится неверный пример . в. советую добавить в [global] ... client code page = 866 preserve case = yes character set = koi8-r ... г. Не советую ставить в [global] ... case sensitive = yes ...
33. ppp и дозвон по нескольким номеpам? Сходить на http://www.nitek.ru/~igor/pppd/ , прочитать и сделать. Владимир E-mail: karamba2@com2com.ru
34. Что обозначает комманда type ? Вы можете использовать комманду 'type' для того что бы узнать какую программу выполнит шелл. % type netscape netscape is /usr/local/bin/netscape
35. Коротко о Bash. Для того что бы обновить содержимое экрана нажмите Ctrl-L. Ctrl-A поместит курсор в начало строки, Ctrl-E в конец. Ctrl-U очистит текст от текущей позиции курсора до начала строки. Ctrl-R - поиск в истории комманд. Ctrl-C удобна тогда, когда вы набрали комманду и не желаете ее выполнить, вместо нажимания [Enter] нажмите Ctrl-C. Появиться новое приглашение в следующей строчке. Ctrl-C так же прерывает текущее выполнение комманды. Если у вас длинные, повторяющиеся задачи, проще использовать цикл для их выполнения. Пример: 'for test in 1 2 3 4 5 6 7 ; { touch $test; }' Создаст 7 файлов с именами 1, 2, ..., 7 в текущей дирректории. Более практичное применение: 'for file in .procmailrc .fetchmailrc .muttrc ; { scp user@myhost.com:/home/user/$file .; }' Это скопирует 3 файла с myhost.com на локальный хост. 1999.07.29 - Hадоели почтовые уведомления? Мне надоело в bash получать сообщения о новой почте каждый раз, когда я нажимаю Enter после ввода комманды, при использовании X-ов и одного терминала как почтовое окно. Я добавил 'unset MAILCHECK' в мой .bashrc для того что бы избавиться от этого.
36. Вопрос по поводу настройки SQUIDa. > Заполняя формы я не могу передать эти данные WEB серверу. Нетскэйп > выдаёт Connection Failed и пишет, что сервер занят. Характерный пример > - http://pingwin.net.ru. Классный сайт, вот только при попытке в поле > ввести имя и отправить его - возникает через некоторое время > вышеописанная ошибка. > Я нахожусь за фаирволом, и когда переключаю нетскапе на прокси моего > провайдера - то всё работает. > Раньше я избавился от похожей проблеммы выставив в /etc/squid.conf > такие строки: > > hierarchy_stoplist > cache_stoplist cgi-bin ? > > Но что ещё можно сделать? Спасибо, уже всё настроил. Нужно было прописать строку: passthrough_proxy TYT.IP.MOY.PROVIDER После этого всё зарабоьало просто исключительно! Ура!
37. Рисование графиков статистики. [skip] > 1 Считать с какого IP сколько байт считали. При этом должно получаться два > числа: сколько взяли из кеша и сколько скачали из сети. http://www.unimelb.edu.au/pwebstats/pwebstats.html > 2 Уметь суммировать указанную статистику по спискам IP адресов > Я смог найти две штуки: calamaris и spa, но это не совсем то что надо :( > Ткните пальцем, pls, что можно попробовать? Для этого подходит фраервол -- ipfwadm или ipchains (урлу не помню, но он должен быть в поставке линуха) с флагом -F. Можно еще приспособить mrtg (http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/mrtg.html), что бы оно рисовало графики по собраной им статистике.
38. Чем можно огpаничивать входящий поток http и ftp? > Потому как выделенка всего-лишь > 33.6, а клиентов в локалке штук 10 + 2 модемных входа. А надо > чтобы беp тоpмозов pаботал smtp и еще нечто подобное. > Т.е. видимо д.б. нечто огpаничивающее потоки с > поpтов-источников: 20, 21, 80, 3128, 8080. 8081 и т.п. Используй policy routing и traffic shaper - подробнее в /usr/src/linux/Documentation/networking. Ядро должно быть 2.2.x.
39. mail to news? > приходящих на почтовый ящик в определённую ньюс группу. Когда у меня был > inn я просто в aliases писал: anekdot: "inews -h -n anekdot". А сейчас > стоит dnews и я нефига не нашёл как там можно перенаправлять. Может кто > знает. Или опишите процедуру переправки сообщений на ньюс, просто например > с оутглюка. Есть dposter и drobot, один из них пеpехватывает почтy и кидает в каталог, дpyгой из этого каталога беpет и кидает в ньюс-гpyппy. Читай FAQ на netwinsite.com, и кажется на них маны есть
40. apache statistic > где можно сабж заиметь, чтоб отображало кто/куда/когда ? :) на freshmeat.net в разделе лог анализаторов.
41. Может кто подскажет как юниксах просмотреть какой файлик какой пользователь юзает на данный момент? Под FreeBSD - fstat. Под Linux - fuser или lsof
42. Как ограничить скорость клиента squid в случае если канал забит? >Как правило канал забивает один клиент устанавливающий кучу соединений, >используя какой-нибудь reget. 1-ый ответ: Второй squid умеет. Комментарии в самом файле достаточно туманны, лучше почитать FAQ на http://squid.nlanr.net - там все достаточно подробно описано. 2-ой ответ: Допустим у нас есть крутые юзвери, неограниченые в скорости и все остальные, которых нужно ограничить. acl cool_users src 10.0.0.1 10.0.0.28 10.0.0.61 acl other_users src 10.0.0.13 10.0.0.19 10.0.0.86 10.0.0.111 acl all src 0.0.0.0/0.0.0.0 delay_pools 2 # Допустим 2 delay pools delay_class 1 1 # Допустим pool 1 is a class 1 pool delay_class 2 2 # Допустим pool 2 is a class 1 pool delay_access 1 allow cool_users delay_access 1 deny all delay_access 2 allow allowed_hosts delay_access 2 deny all delay_parameters 1 -1/-1 # Неограничено delay_parameters 2 6000/6000 6000/6000 # Допустим -- 6 КБод Это для squid-2.2STABLE4. Для 1-й версии нужен какой-то патч. Подробности -- в доке и FAQ-е по squid.
43. Что хочется: утилитку для Linux'а, чтобы распозновала кодировку входящего файла и создавала перекодированный файл с другим расширением/добавлением (например koi8). all2koi из комплекта cyrutils - пытается угадать исходную кодировку и перекачивает в кои. Почти не врет - врет только на нетекстовых файлах (где байты идут каккие попало и есть вкрапления русских слов). Там еще комплект жестких перекодировщиков - alt2koi, win2alt и так далее, правда вход и выход у них со стандартных потоков, но напишешь скриптик с подстановкой имен файлов и все пойдкет. У меня этот алл2кои стоит в фильтре просмотрщика в mc - все тексты (за некоторым исключением :)) показывает по русски - даже не знаю - какая кодировка у многих из них. :)
44. А не будет ли так любезен многоуважаемый all, подсказать мне, есть ли под Linux такого типа программулька, которая бы автоматически рассылала квитанции о прочтении почты. К примеру, юзер по pop3 забрал почту, а она разослала квитанции тем кто ему зту почту прислал. OpenMail - это хорошо делает.
45. Лучше всего работает tn (by Dmitry Maloff). Путем подкрутки terminfo удалось заставить его работать нормально под mc,slrn,ncurses. Да в-общем-то легко... Зачем народу заниматься сексом с этим делом еще и еще? 1. Лучше не трогать системное описание at386 (еще пригодиться может) и создать новый тип терминала. Hапример, at386-tn. ------------- cut here ----------------------------------------- # Reconstructed via infocmp from file: /usr/share/terminfo/a/at386-tn at386-tn|TN console emulation, am, bw, eo, xhp, xon, colors#8, cols#80, lines#25, pairs#64, acsc=-\^.v0\215`\226a\220f\234g\277h\221i\276j\205k\203l\202m\204n\ 212q\0t\206u\207v\211w\210x\201y\257z\262{\320|\274}#~\224, bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[2J\E[H, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, dl1=\E[1M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, home=\E[H, ich=\E[%p1%d@, ich1=\E[1@, il=\E[%p1%dL, il1=\E[1L, ind=\E[S, indn=\E[%p1%dS, invis=\E[9m, is2=\E[0;10;39m, kcbt=^], kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kend=\E[Y, kf1=\EOP, kf10=\EOY, kf11=\EOZ, kf12=\EOA, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW, kf9=\EOX, khome=\E[H, kich1=\E[@, knp=\E[U, kpp=\E[V, krmir=\E0, nel=\r\E[S, op=\E[37;40m, rev=\E[7m, ri=\E[T, rin=\E[%p1%dT, rmacs=\E[10m, rmso=\E[m, rmul=\E[m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr=\E[10m\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p5%t;2%; ?%p6%t;1%;%?%p9%t;12%e;10%;%?%p7%t;9%;m, sgr0=\E[0;10m, smacs=\E[11m, smso=\E[7m, smul=\E[4m, tbc=\E[2g, ------------- cut here ----------------------------------------- Внимание: перенесенные строки acsc и sgr надо объединить! 1.Пара строк вдогонку. 1.0. Вырезать и положить в файл at386-tn.tic . Зайти рутом. выполнить tic -s at386-tn.tic . root обязателен т.к. иначе скомпилированное определение ляжет не в общую базу, а в локальный каталог. 1.1. Опытным путем установлено что добавление xhp (коррекция аппаратного глюка стирания до конца строки на HP терминалах) хотя и притормаживает вывод, но позволяет правильно выполнять отрисовки в ncurses. Проверялось на тестовой программе sample. 1.2. acsc имеет немного странный вид, это из-за приколов с termcap на Informix. 1.3. mc несмотря на указание атрибутов colors, setab, setaf все равно запускается в b/w режиме. Что ему надо чтобы он распознался как цветной я разбираться не стал. Решается при помощи mc -c. Дальше все работает без проблем, я им пользуюсь не часто, так что -c меня не раздражает. Hормально работают все скроллинги и кнопки. 1.4. Hормально работает vi. 1.5. В vim есть глюк, если дойти до конца редактируемого файла и начать возвращаться назад, то все красится в синий цвет. Можно сделать PgDn вверх/вниз и все вернется на свои места, но иногда раздражает. Все остальное вроде работает нормально. В принципе vim можно обесцветить. Для этого надо переменные его внутреннего termcap Setab и Setaf установить в "" или поставить ^[[39;40m и там и там. 1.6. slrn работает прекрасно. нормально показываются треды, нормально идет заполнение до конца строки, нет проблем с 25 строкой (как в irlex) мелкие усовершенствования: в файл .slrnrc добавлено: ------------- cut here ----------------------------------------- color header_name "blue" "white" color headers "black" "white" ignore_quotes "^[A-Za-z ]?[A-Za-z ]?[A-Za-z ]?[><:|=]" interpret ".slrn.sl" ------------- cut here ----------------------------------------- первые две строки выставляют более или менее нормальный цвет в отличие от кислотного по умолчанию. 3-я строка выполняет подсветку строк в соответствии с регулярным выражением 4-я строка подгружает макросы. из /usr/doc/slrn/examples распаковал slrn.sl.gz в $HOME/.slrn.sl и добавил туда ttyprint.sl из /usr/doc/slrn/examples/macros. Теперь можно по ^P печатать статьи на локальный принтер, который подключен к Win9x, где собственно и работает tn. Только надо придумать как почикать ненужные headers. Макрос что ли написать? 2. У меня немного странная перекодировочная таблица. Она отличается от авторской. Это все из-за Informix IDS, иначе там корявые одинарные рамки. Положить туда где лежит tn.exe. Кто работает с Informix DS for Linux - надеюсь поможет. begin 644 koi8-alt M``$"`P0%!@<("0H+#`T.#Q`1$A,4%187&!D:&QP='A\@(2(C)"4F)R@I*BLL M+2XO,#$R,S0U-C'EZ>WQ]?G_$L]J_P-G# MM,+!Q=_L+&R]/[Y^_?S\O_U^/WZ]LVZU?'6R;BWN]33R+Z]O,;'S+7P MMKG1TLO/T,K8U\[\[J"AYJ2EY*/EJ*FJJZRMKJ_OX.'BXZ:B[.NGZ.WIY^J> ?@(&6A(64@Y6(B8J+C(V.CY^0D9*3AH*8G9F7F@`` ` end 3. termcap entry для Informix DS. --------------------------------------------------------------------------- # TN emulator console with koi8-r russian code table. # This is terminal definition for TN console # color control of this terminal emulator differs from ANSI standard: # ESC[7m does not select reverse video, reverse video programmed by stack # machine # ESC[1m selects bold fg \ these attribs still active until reset by ESC[0m # ESC[5m selects bold bg / # # use of blink is undefined (blink is possible to embed in to tn) # underscore emulated by fg bg highlighting, so black looks like grey # tn|at386-tn|at386|at386-koi8-r:\ :pa#64:Co#8:op=\E[x:\ :ac=q\200x\201m\204v\211j\205t\206n\212u\207l\202w\210k\ 203y\230z\231f\234~\225a\220h\221`^D.^Y-^XI^U0\215:\ :al=\E[L:am:bs:NP:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:co#80:\ :dc=\E[P:dl=\E[M:do=\E[B:bt=\E[Z:ho=\E[H:ic=\E[@:li#25:cb=\E[1K:\ :ms:nd=\E[C:pt:rs=\E[x\E[m\Ec:so=\E[7m:se=\E[m:\ :k0=\EOP:k1=\EOQ:k2=\EOR:k3=\EOS:k4=\EOT:k5=\EOU:k6=\EOV:k7=\EOW:\ :k8=\EOX:k9=\EOY:kA=\EOs:kB=\EOt:kC=\E[H:kE=\E[F:\ :ki=\E[L:kj=\177:kf=\E[G:kg=\E[I:\ :kb:ku=\E[A:kd=\E[B:kl=\E[D:kr=\E[C:\ :le=^H:eo:sf=\E[S:sr=\E[T:\ :nw=\E[E:ec=\E[%dX:\ :DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:cv=\E[%i%dd:ch=\E[%i%d`:bw:\ :bl=^G:ut:it#8:gs=\E[12m:ge=\E[10m:gb=\202\204\203\205\200\201:\ :ZA=\E[%?%p4%t%?%p2%t5%e1%;%e0%;;%?%p2%t30;4%e40;3%;%?%p1%{0}%=%t7 %e%p1%{1}%=%t3%e%p1%{2}%=%t5%e%p1%{3}%=%t1%e%p1%{4}%=%t6%e%p1%{5}%=%t2 %e%p1%{6}%=%t4%e%p1%{7}%=%t0%;m: --------------------------------------------------------------------------- Внимание: перенесенные строки ac и ZA строку надо объединить, только не удалите лишнего! Тоже пара строк в догонку. Я предполагаю, что если сесть и помедитировать, то можно подогнать termcap под стандартную таблицу koi8-alt (поправить ac и gb). Hо и так все работает, так что менять ничего не хочется. Informix 4GL-программы в данном варианте termcap опознают кнопки дополнительной клавитуры Ins, Del, Home, End, PageUp, PageDown. Home и End распознаются как F13 и F15 соответственно. Цвет в Informix кодируется в ZA entry, которая суть нестандартное расширение termcap. По видеоатрибутам Informix 4GL: указываемый цвет по умолчанию нормальной интенсивности (не-bold), reverse выбирает reverse (пришлось научиться программировать на стек-машине :) чтобы это правильно сделать). blink не используется, так как его возможно реализовать в tn. В ansiw95 это сделано, кстати. При указании underline выбирается повышенная интенсивность (bold), я вынес это на underline так как его обычно нет на цветных терминалах и он с извращением делается на стандартной VGA при работе с эмуляторами (опять же в ansiw95 он сделан, хотя и только в b/w режиме)
46. Как сделать автоответчик на входящие письма? > В .procmailrc записывается :0 c * !^FROM_DAEMON |(formail -rt ;\ echo "X-Envelope-From: vacation daemon";\ echo "";\ echo "Thanks for your letter.";\ echo "I am temporarily out on town. Will be back tomorrow";\ ) |$SENDMAIL -oi -t }

Секция 2 из 2 - Предыдущая - Следующая

Вернуться в раздел "Семейство UNIX" - Обсудить эту статью на Форуме
Главная - Поиск по сайту - О проекте - Форум - Обратная связь

© faqs.org.ru