时间:2021-05-22
使用串口通信,在备机端使用如下脚本检测来自主机的心跳信号,一旦未接受次数超过指定记数,备机认为主机DOWN机,自动设置为主机的网络参数,顶替主机提供服务。
# ! perl -w use strict; use Win32 :: SerialPort; my $port = ' COM2 ' ; # serail port name registried in OS my $count = 0 ; # count number of heartbeat-receiving failture my $max_count = 5 ; # max fail count to be tolerated my $interface = ' # ---------------------------------- # 接口 IP 配置 # ---------------------------------- pushd interface ip# "local" 的接口 IP 配置set address name="local" source=static addr=192.168.6.185 mask=255.255.255.0set address name="local" gateway=192.168.6.65 gwmetric=0set dns name="local" source=static addr=192.168.6.112 register=PRIMARYadd dns name="local" addr=192.168.6.201 index=2set wins name="local" source=static addr=nonepopd# 接口 IP 配置结束 ' ; # net inetrface config information sub errlog { # log the failtrue occuring time open ERR , ' >>err.log ' ; my @time = localtime (); my $time = sprintf ( " %d " , $time [ 5 ] + 1900 ) . ' - ' . sprintf ( " %d " , $time [ 4 ] + 1 ) . ' - ' . " $time[3] " . ' ' . sprintf ( " %.2d " , $time [ 2 ]) . ' : ' . sprintf ( " %.2d " , $time [ 1 ]) . ' : ' . sprintf ( " %.2d " , $time [ 0 ]); print ERR $time . " \n " ; close ERR;} sub ipchange { # change ip addrress open TMP , ' >tmp ' ; print TMP $interface ; close TMP; eval { system ' netsh -f tmp ' ; unlink ' tmp ' ; }; if ($@) { return 0 ;} return 1 ;} my $ob = Win32 :: SerialPort -> new( $port ) or die " CANNOT OPEN $port " ; # open serial port eval { # set serial port properties $ob -> baudrate( 9600 ); $ob -> parity( ' none ' ); $ob -> databits( 8 ); $ob -> stopbits( 1 ); $ob -> handshake( ' none ' );}; if ($@) { die ' SET FAILED ' ;} $ob -> write_settings or die " CANNOT WRITE $port DRIVER " ; # write to port driver to make it active while ( 1 ) { # loop receiving heartbeat from remote machine # change ip address after designated count of failture my ( $length , $result ) = $ob -> read ( 10 ); if ( $result ) { $count = 0 ; } elsif ( $count == $max_count ) { errlog(); if (not ipchange()) { print ' IP CHANGE FAILED ' ; } last ; } else { $count ++ ; } sleep ( 1 );} undef $ob ;声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
手机本身是没有这个传感器也就是不能用手机来测量心跳的。只有去购买华为手环带心跳检测功能的,然后在手机上装app和手机同步以后,用手环测心跳,手机同步手环的数据来
最近一直在写一个自动检测网络内主机类型的脚本。基本功能可以实现判断主机操作系统类型,如果是域内的主机可以获取主机的硬件参数和性能参数,并判断是否存在网络设备。对
故障现象 公司有两台关键的服务器,一个是主服务器,一个是备用服务器。中间通过心跳线连接,在某台主机一次重启后,网络设置没有任何改动,而心跳功能却不能实现了,两
智能穿戴APP开发的功能有: 1、智能检测:当用户佩戴好后,平台会自动检测用户身高、体重、心跳率、血压等等。 2、专业数据:平台成功检测后,会为用户提供一份
花了1天的时间写了一个检测某ip是否网络畅通的脚本,只检测网络是否畅通的功能很容易实现,但加了一些限制功能却不好实现。复制代码代码如下:#!/bin/bash#