例如有179,30两条linux服务器主机。
设定由179主机去唤醒30主机进行数据交互;
分别在179主机上编写脚本文件iot_init.sh和init179.sh,在30主机上编写脚本init30.sh;
文件内容如下
iot_init.sh
#!/bin/bash
service mongodb start;
sleep 10;
sshpass -p root1232@password ssh root@10.1.1.30 "/usr/local/iot/init30.sh";
sleep 10;
/userdata/iot/init179.sh;
init179.sh
#!/bin/bash
cd /userdata/iot/collection/modbus;
./start.sh;
sleep 30;
cd /userdata/iot/collection/relay;
./start.sh;
sleep 10;
init30.sh
#!/bin/bash
cd /usr/local/iot/edgeagent;
./start.sh;
sleep 10;
cd /usr/local/iot/collect/adapter_dy_collection;
./start.sh;
sleep 10;
cd /usr/local/iot/collect/dahuaGate;
./start.sh;
sleep 10;
然后配置179主机的自启动文件
--179自启动
在/etc/rc.local中追加:
cd /userdata/iot/;
./iot_init.sh;
远程调用其他服务主机的服务需要安装sshpass,安装步骤如下:
# sshpass源码包安装
wget http://sourceforge.net/projects/sshpass/files/sshpass/1.05/sshpass-1.05.tar.gz
tar xvzf sshpass-1.05.tar.gz
cd sshpass-1.05
./configure
make
make install
#安装完毕,查看30主机内存
sshpass -p adminqqwq@123 ssh adminqqwq@10.1.1.30 "df -h"
sshpass -p adminqqwq@123 ssh adminqqwq@10.1.1.30 'df -h';
sshpass -p adminqqwq ssh adminqqwq@10.1.1.179 'df -h';