使用Python、SSH、subprocess和find -print0打印远程服务器文件内容

1 投票
2 回答
1691 浏览
提问于 2025-04-17 00:25

我想用Python的subprocess模块和ssh连接到一个远程服务器,然后用'find . -print0'命令列出一个目录里的文件,并逐行打印出每个文件的内容,同时避免内存问题。有没有什么好主意?

2 个回答

0

你可以看看 Fabric,它是用Python写的,能够很好地处理远程主机和请求者之间的大量数据传输。

编辑:

如果你想打印出文件的内容,可以试试这个:

find . -exec cat {} \;

然后,你需要通过ssh把它发送到你的远程主机上。

ssh user@host 'find . -exec cat {} \;'

接着,用一个 subprocess 调用来执行这个操作。

1

我建议用bash,不过如果你真的想用python的话,可以试试这个链接:http://www.lag.net/paramiko/。这个是一个用于ssh的客户端。如果你了解ssh的话,其实就是在另一台机器上执行一些命令。

撰写回答