运行 远程服务器上的脚本并保存输出
Run a script on remote server and save output
我正在设置两台服务器:服务器 1 和服务器 2。我在服务器 1 上编写了一个 运行 的脚本,并将输出保存到 answer.txt 文件,现在我想要相同的脚本到服务器 2 上的 运行 并将输出保存到同一文件。我们使用基于密钥的登录从一台服务器登录到另一台服务器。
脚本目的地:- /healthcheck.sh
输出文件:- /answer.txt
定时任务表:-
* * * * * /healthcheck.sh &>> /answer.txt
我可以 运行 服务器 1 上的脚本,但无法找到将输出保存到同一文件的方法。
#!/bin/sh
hostname
free -m | awk 'NR==2{printf "Memory Usage: %s/%sMB (%.2f%%)\n", ,,*100/ }'
df -h | awk '$NF=="/"{printf "Disk Usage: %d/%dGB (%s)\n", ,,}'
top -bn1 | grep load | awk '{printf "CPU Load: %.2f\n", $(NF-2)}'
systemctl status squid|grep Active
我想要两个服务器的答案在同一个文件中。
让我们将具有 /answer.txt 的服务器称为 'host'。在主机上,您可以像使用
一样重定向到文件
host$ /healthcheck.sh &>> /answer.txt
另一方面,要通过 ssh 密钥登录将某些客户端的输出放入同一个文件中,您可以从客户端登录到主机并使用 ssh 传输输出:
client$ /healthcheck.sh 2>&1 | ssh user@host tee -a /answer.txt
此处的“-a”用于附加>>。
亲切的问候
ssh -i Key_location.pem host@server '( ~/healthcheck.sh )' >>/answer.txt
healthcheck.sh 必须保存在主机的主目录中。
我正在设置两台服务器:服务器 1 和服务器 2。我在服务器 1 上编写了一个 运行 的脚本,并将输出保存到 answer.txt 文件,现在我想要相同的脚本到服务器 2 上的 运行 并将输出保存到同一文件。我们使用基于密钥的登录从一台服务器登录到另一台服务器。
脚本目的地:- /healthcheck.sh
输出文件:- /answer.txt
定时任务表:-
* * * * * /healthcheck.sh &>> /answer.txt
我可以 运行 服务器 1 上的脚本,但无法找到将输出保存到同一文件的方法。
#!/bin/sh
hostname
free -m | awk 'NR==2{printf "Memory Usage: %s/%sMB (%.2f%%)\n", ,,*100/ }'
df -h | awk '$NF=="/"{printf "Disk Usage: %d/%dGB (%s)\n", ,,}'
top -bn1 | grep load | awk '{printf "CPU Load: %.2f\n", $(NF-2)}'
systemctl status squid|grep Active
我想要两个服务器的答案在同一个文件中。
让我们将具有 /answer.txt 的服务器称为 'host'。在主机上,您可以像使用
一样重定向到文件host$ /healthcheck.sh &>> /answer.txt
另一方面,要通过 ssh 密钥登录将某些客户端的输出放入同一个文件中,您可以从客户端登录到主机并使用 ssh 传输输出:
client$ /healthcheck.sh 2>&1 | ssh user@host tee -a /answer.txt
此处的“-a”用于附加>>。
亲切的问候
ssh -i Key_location.pem host@server '( ~/healthcheck.sh )' >>/answer.txt
healthcheck.sh 必须保存在主机的主目录中。