����� Guido Socher (homepage)
�� ������:
Guido �������� Linux �� ����������� ������� ������ �����������.
Linux ��-�� ����� ���������� ��������� ��������� ����� ������������.
������� �� �������:
Gleba <syschenko(at)ukr.net>
����������:
|
���������� ����������� ������� "watchdog"
������:
� ���� ������( ��-������
���������� ��� ������ ������� �� Linux ) ������� ��� ������ ������� ��������������� �� �������, �
�������� ����������� �������. ������ �� ���� ������� ��� ������� � ��
�����������. � � ���� ������ �� ���������� ����������� �������� �������, �����
�������� � �������� ����������, � ������� ����� ������������� ����� ���� 2
������������, �������������� ��� �������� ���������������� �� �������:
- ������ ���������� �������
- ���������� ����������� ��������� �������
������������� ����� ����� ��
����� ���������� � ��������� ��� �������� � 5 ����.
_________________ _________________ _________________
��� �� ��� �� ���������� ����������� (watchdog)?
���������� �����������,
( ������������ � ����� ���������������� �������� watchdog - ��-������
"���������� ���"), ��� ����� �����, ������� ��������� ������������ ���������
������� � ��������� �� �����������������. ����� �������� ����������� �� �����
Mars Pathfinder (���� ����� �� ��������� ���������� �� ���� ������ � �������
��������, ����� ������������ ������������� ������� ����� ��� ��������) � ��
��������� ����� ������������� ��������.
������� ��������� ������� -
������������ ������� ������ ����������� �� ���������� �������, ��� �����,
����������� ���� �����������������. � ������ ���� ������� ���������
�����������, ��� � �������������� ������� ���������������.
��������,
��� ������� ������ � ������������� Linux ������ �������� ��� ������������
��������, � ������� ����������� � ���� ���. ���� �� ������
�������������� ��������� � �� ���������� �������������, �� ���������� ��� ���
�� � ����, � ���� ������ ��������� ������ �� ������� �������� - ����� ������ ( memtest86.com) , �������� CPU, ��������
������� ������ IDE � �.�.
�� ����� ������ ��������� ������: ����� �����
�������� �� �����������, ���� Linux �� ����� ������� �������� � ����������?
����� ��� �� ����� - ����� ������� ��� ��� ����� �������� � ����������.
������ �������� ������������ ������, � ������� ������ ���������� ���������.
���� ���� ������ � ������� ���� �������� ��� ����� ������������� �������� �
�� ����� � ��� �������������. � � ������ ������� ������ ������ �����: "��� ��
���������?". � ��� ������ ���� ��� ������ ������� ��� ����� ���, ����� ��� ���
����������� ��������? � �������� ������� �������������� ���������� ��������
��� ������ ������!
��, �������� ���������� ����������� �� ����� ����
������� � �� ������� �� ������� ������, � ���� �� ������ �������������� ���
������ ������������, �� ��� ����� ������� ������������ � � ��������������
������������ (������� ����� ������������ ��� �����������
���������� ��������� ).
������������� �����������
�������� ����������� �������, ������� �� �����
��������, ������������� ��� �������� ���������������� ���������������� ����������.
���� ��� ����������� ��������� ���������������� ������� ���� ���� ���������
� ������������ ����� ���������� ��� ���-������ ��� ���� ������, ����� ����
�������������� ������ ��������� ������������, �������� ���� �����������
CPU.��� �������� ����� ������������ crontab. � �������� ������� ���
���� ������� � ������ ��-������
���������� ��� ������ ������� �� Linux . ������� �� �� ���� �� ����������.
�����
�������� ������� ��� �������������� ������� ����, ������������� ����� �
��������� ������������.
#!/bin/sh
PATH=/bin:/usr/bin:/usr/local/bin
export
PATH
#
# ���������� ��������� ������������
# ----------------
#
��������� ���� �� 80% �������������.
# (crontab �������������
���������� e-mail ���� ������
# ��������)
df | egrep '
(8.%|9.%|100%) '
#
# ���������� �����
# ������ ������ �� ����� �����.
�����
# ���� ������ ���� ������ �������������
# ----------------
#
�������� � ���������� ����� ������ ��� �� 6 Mb
swpfree=`free | awk
'/Swap:/{ print $3 }'`
if expr $swpfree \> 6000 > /dev/null ;
then
echo "$0 warning! ������������� ����� ���������� $swpfree"
echo "
"
free
echo " "
ps auxw
fi
#
# ���������� ����
#
-------------------
# ��� IP ��� ���
����������:
hostn="linuxbox.your.supercomputer"
#
if ping -w 5 -qn -c 1
$hostn > /dev/null ; then
# ok host is up
echo "0" >
/etc/pingfail
else
# ������� �� ���������� �������� ping
if [ -r
/etc/pingfail ]; then
pingfail=`cat /etc/pingfail`
else
# � ������
���������� ����� pingfail
# ��������� ���������
exit
0
fi
pingfail=`expr "$pingfail" "+" 1`
echo "$pingfail ping
failures"
echo "$pingfail" > /etc/pingfail
if [ $pingfail -gt 10 ];
then
echo "�� �������� �� ����� ��� 10 ��������.
������������..."
/sbin/shutdown -t2 -r now
fi
fi
# --- ����� �������
---
����� ������������ ���� ������ ������ � crontab ��� ��� �� �����
����������� ������ 15 �����:
1,15,30,45 * * * * /where/the/script/is
���������� �����
����������� ���� �� ������. � ������� �������������
���� ������. ��� ��� ����������� ������������� ������� ����. ����
������������ ��� �����, ���� � ���� �� 5V, 500 O�, � ������ �� 5V,
120 O�. ��� ������� ��������������� �������������� ������� ���� ��� ������
�������� ��� ��������. �������� �� �������� ����� ���������.
����� ���
���� �� 120 O� :
����� ��� ���� �� 500 O�:
������ ����������
�������� ��� ������� RTS � CD. �� ����� ��� �������� ��������� �������, �� �
Eagle ������ �������� ���.
� �� ������� ������ ������������ ������������.
��� ��� ����� ���������� ������ ���� �� �����, ������ �� �������� ������
DB9 ��� ����������������� �����. ����� �������� �����, �������� 1N4148.
����� � ������ ��� ����� ���������� ���� �� 500 O�, ����� ��� �� �����������
R4 � ����������� �� 2000��� (��� 2200���). � ��� �1 ����� ������������
����������� �������� �������� (1000���).
��������: ��� ����� � ���� ��
120 O� ��� ����������� ������� ���������, � ��� ���� � ���� �� 500 O� -
�������. ��� �� �����, ������� ���������� �� ������� ���������� ����, ��� ��
�������.
�����, ����� � ������� Eagle CAD � ���������� ����� ��� ���������
����� �������� � ����������� �����, ������ �� ������� ��������� �
����� ������. ��������� Eagle CAD ��� Linux ����� ������� � cadsoftusa.com.
������� ������
����� ��������� �� ������� NE555.
���������� ������������ �� ���� ��� �����������, RS-������� � �������� �� 3
���������� 5 �O�, �������� ������ ������������ ������������. ������ ���, �����
�� ����� 6 (threshold) ���������� ����������� ���� 2/3, ����� RS-��������
������������� � ��������� "1".
������ ���������� ���� �����. ����� RTS ����������������� �����
������������ ��� �������� ������� ����� �����. ������ ���������� � ������
RS232 ���������� +/-10V, � ������� ��� ����������� ���� ����� ������������� �1.
����������� C1 ���������� ����� ������ � ��������� � �������� ������������
������� ��� ������������ ���������������� ��������� ����. ����������� C2
�������� ���������� ����� �������� ( 4.7 M�� ). ���������� �1, �����������
�� ����� DTR ����������������� �����, ��������� ����������� C2.� ������
���������� �������, ��-�� ���� ��� ��������� ������, ����������� ��������
( �������� � ������� 40 ���. ) ������ ���������� �� 2/3 ���������
����������, ����� ���� RS-������� �������� � ��������� "1".
���� �1, R2, ��������� � ���� ������ ���� ���������� ����� �������,
����� ���� ���������� �������������� � ������ �� ���� ������� ���������� ��
������������ �1. ��� ���������� ����� "������ ������" ���� "������" ���� ������.
��������� ������ ������ �� ������ ������������ ����������.
�� ����� ����� ���������� ������ ���������� ���������� ������������ �
����� CD ����������������� �����. ���� ���������� �� ����� 15 ������, �����
��������� ������� "shutdown -h now", ������� � �������� ������. ��� �� �����
������ ������ � ������������ � ������������� ������������� ��� ������������
����������.
����������� �����������
������� ������������ ����� ���������
��������� �� �, ������� ����� ��������� �� /etc/init.d/. ��� ������� ������
�� ����� RTS RS232, ����� ���� ������ ������������ ( ������ 12 ���. ) ��������
�������� �� ����� DTR (������� ���������� 40 ������). ��� ���������� ����������
���������� ��������� �������� RTS � �������� ��������� ������� �� DTR.
� ���������� ����������� ���� ������� �1 � ������� ��������� �������� ���������
����������, �������� ����������� �������������� ������������. ��� ���������
���������, ���������� ����
linuxwd-0.3.tar.gz � ��������
make
����� ����� ���������� ����������� ���� linuxwd � /usr/sbin/linuxwd.
���������� ��������� linuxwd_rc ������ (��� redhat/mandrake, ��� linuxwd_rc_anydist
��� ������ �������), ������� ����, � �������� ���������� ���� ����������
(ttyS1=COM2 ��� ttyS0=COM1). ���������� ������ �
/etc/rc3.d/S21linuxwd
�
/etc/rc5.d/S21linuxwd
��� � ���.
������������
����� ���� ��� �� ��� ��������, ��������� ������� ��
����������������� ����� ��� ��� ���������� �� � ����������. ���������� �����,
������� ����� ����� ��������� � ����� RTS ����������������� �����,
�� 40-50 ������ � ����� ������� �� 9-10V DC. �� ������ �������� ������ ���
��������� ���� � ������ ���������� ���������. ����� ���� ������ �����������,
� ��������� ���������� ������ �� ��� ��� ���� �� �� �������� +10V �� �����,
������� ����� ����� ��������� � ����� DTR ����������������� �����.
����� ���� ��� �� ��� ���������, ������������ ��� ��� � ����������.
��������� linuxwd ����� ����� ������������, � ���� ������ ��� �����
������� ������ �� ����� � ��������������� �� ����� ����� ������ �������� �
����� DTR ��� ������������ ���������� �������. ��������� �������:
linuxwd -t /dev/ttyS0
��� ������� linuxwd � ������ ����� (����
������������ ���������� � COM2, ������� /dev/ttyS1).
����������� ����������
��������� RS232 ����� ��������� ��������:
��������� 9-�� ����������� ������� ( ����� ) �� ������� ����������.
9-����. |
25-����. |
�������� |
����������� |
�������� |
1 |
8 |
CD |
���� |
�������� ������������ ������� |
2 |
3 |
RXD |
���� |
����������� ������ |
3 |
2 |
TXD |
����� |
������������ ������ |
4 |
20 |
DTR |
����� |
�������� ����� |
5 |
7 |
GND |
-- |
���������� ���������� |
6 |
6 |
DSR |
���� |
���������� ����� |
7 |
4 |
RTS |
����� |
������ �������� |
8 |
5 |
CTS |
���� |
����� � �������� |
9 |
22 |
RI |
���� |
��������� ������ |
������ RS232 ���������� ������������ ��������������� � ����������������� �����
����������. ��� ����������� ������ ������ � ����, ������� ������� �� ������
������ ���������� � ���������� ���� �����������.
����������
�������� ������� ����������� ��������� ������� �� ����
100-���������� �������� ������ ����� �������. �������� ������, ��������� �
��������� �������� ������� ����� ���������� ����. ����� ������������� ��������
������� �������� � �� ����� ����� � ���� �������, �� � � ���� ��
�����������������. � ����������, ������� ������������� �����, ��� ��������� �
��������� ������������ ����������� ������������ ���������.
������
�������� �������
� ������ ������� ���� �������� �������. �� ���� �������� �� ������ ��������
���� ����������� ��� ����������� ����������� ������ ��������� :
2002-12-03, generated by lfparser version 2.31