我设置的脚本有点问题。一点背景:
脚本的功能是从以::分隔的文本文件中读取服务器列表,登录到服务器,检查 mysql 是否正在运行并返返回告。该文件的配置使得每一行都有:Servername::Ip address::port number
我遇到的问题是,我认为 perl 正在尝试将我提供的 ip 地址连接到代码中的函数。谁能指出我正确的方向?
#!/usr/bin/perl
use strict;
use warnings;
open(FH, '<', 'serverlist_test') or error("Cannot open file , ($!)");
while (my $line = <FH>) {
our ($name, $ip, $port) = split(/::/, $line);
my $version = &MySQL_check($ip, $port);
}
close FH;
sub MySQL_check {
my $issue = `ssh -t root@"$_[0]" -p$"_[1]" 'ps axco command | grep -i mysql'`;
print $issue;
if ($issue =~ /mysql/) {
return "Mysql found";
} else {
return "Mysql not found";
}
}
我做错了什么?
谢谢。
最佳答案
my $issue = `ssh -t root@"$_[0]" -p$"_[1]" 'ps axco command | grep -i mysql'`;
看看
-p$"_[1]"
应该是
-p "$_[1]"
关于linux - 用于检查远程服务器进程的 Perl 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13278738/