要实现功能:随机选择某台机器上的某个角色,kill掉,看其能否恢复、检测系统容灾。
思路:1. 随机数选择机器、要kill的角色,拼装ssh命令;
2. ps命令找到进程信息,选出进程号,ssh 进行kill;
问题:1. crontab没有标准输出,shell下可以使用的 popen("cmd_xxx").readlines()无法获得系统命令的输出;
解决:使用 2>&1 > /tmp/file_xxx.tmp 重定向到文件中,然后 fd.read() 获得输出;
2. ssh -e -q user@ip 'cmd_xxx' 2>&1 > /tmp/file_xxx.tmp 想把ssh结果直接存到本地,但ssh不支持这种格式;
解决:使用 ssh -e -q user@ip 'cmd_xxx 2>&1 > /tmp/file_xxx.tmp' ——注意上下两句的引号位置不一样
然后 scp user@ip:/tmp/file_xxx.tmp /tmp/,可以正常使用;
系统容灾能力测试脚本
最新推荐文章于 2022-04-28 18:17:13 发布