别的linux机器上执行另一个机器得命令发到微信上
时间: 2023-07-18 09:48:10 浏览: 57
要将另一个 Linux 机器上执行的命令的结果发送到微信,您需要进行以下步骤:
1. 在本地机器上安装 `expect` 工具,例如在 Ubuntu 上可以使用以下命令进行安装:
```
sudo apt-get install expect
```
2. 编写一个 `expect` 脚本,用于在远程机器上执行命令并将结果保存到本地机器上的一个临时文件中。例如,将以下脚本保存为 `remote_cmd.expect` 文件:
```
#!/usr/bin/expect
# 设置远程机器的用户名、IP 地址和密码
set user username
set host remote_machine_ip
set password your_password
# 设置要在远程机器上执行的命令
set command "command"
# 登录远程机器并执行命令,并将结果保存到本地机器上的一个临时文件中
spawn ssh $user@$host $command
expect {
"*password:*" { send "$password\r" }
}
set timeout -1
expect eof
set result $expect_out(buffer)
set file [open "/tmp/result.txt" "w"]
puts $file $result
close $file
```
在脚本中,您需要设置远程机器的用户名、IP 地址和密码,以及要在远程机器上执行的命令。脚本执行完毕后,结果将保存到本地机器上的 `/tmp/result.txt` 文件中。
3. 在本地机器上执行以下命令,使用 `expect` 脚本登录远程机器并执行命令:
```
expect remote_cmd.expect
```
4. 使用 `curl` 命令将 `/tmp/result.txt` 文件中的内容上传到一个文件共享服务,例如 https://file.io,获取上传文件的 URL。
```
curl -F "file=@/tmp/result.txt" https://file.io
```
5. 将上传文件的 URL 发送到微信即可。
注意,为了保证安全性,您应该在远程机器上创建一个仅限于执行指定命令的用户,并使用该用户登录远程机器。另外,您需要确保本地机器和远程机器之间可以正常通信,并且远程机器可以访问互联网。