apache - 在 perl php 中通过 ssh 命令重新启动 apache 服务器

标签 apache perl ssh

我正在尝试通过 perl - php 中的 ssh 命令重新启动 Apache 服务器。

下面是我试过的代码。它通过 PuTTY 工作。虽然如果我通过浏览器运行它不会在以下行运行:$output = $ssh->exec("systemctl status apache2") ;

use Net::SSH::Expect;
my $ssh = Net::SSH::Expect->new (
            host => "xx.xx.xx.xx", 
            password=> 'adsd#21', 
            user => 'root', 
            raw_pty => 1
        );
print("\n");
my $output = $ssh->login();
print($output);
if ($output !~ /Welcome/) {
    die "Login has failed. Login output was $login_output";
}


$output = $ssh->exec("systemctl status apache2");

错误:

"WARNING: terminal is not fully functional"

最佳答案

虽然 Net::SSH 是一个优雅的模块,但我建议您使用默认可用的系统工具。

您有 ssh 可用并且使用 ssh-keys 更安全,尤其是因为您当前在脚本中显示密码。如果您不确定如何设置 ssh-keys,请告诉我,我会将其添加到答案中。

实际上,您的整个脚本可以纯粹是:

use strict;
use warnings;

my $apache_status = `ssh username\@servername systemctl status apache2`;
   print $apache_status;

关于apache - 在 perl php 中通过 ssh 命令重新启动 apache 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46233482/

相关文章:

perl - qw 声明中的冒号是什么意思?

linux - 如何使用脚本在远程服务器上设置 `sudo su postgres`

python - 尝试让终端在 Emacs 中工作

apache - 无法缩短我的 MediaWiki 站点 URL? <directory> 指令在哪里?

java - 如何在 apache POI 中的 HSSFCell 中添加图像?

php - 重定向到请求子文件夹的 index.php

perl - 为什么带有方法修饰符的 Moose 角色应用程序在我的代码中不起作用?

php - PHP 中的子域漂亮 URL

perl - 使用 Perl 和 GtkBuilder 连接信号

linux - Azure Linux VM 上的 OpenSSH SSH-2 私钥(旧 PEM 格式)