lao*_*lux 3 linux openssh sftp
我想使用 SFTP 获取远程目录的大小。在本地,我会运行du -sh,但我的 OpenSSHsftp客户端没有该选项。我想指出的是,我没有 SSH shell 访问权限,因此任何连接都ssh user@server将被删除。
有任何想法吗?也许编写解决方案的脚本?例如,我可以想象列出ls -lSFTP 会话中使用的所有远程文件,但我必须解析输出并遍历所有子目录。我也愿意使用与 OpenSSH 不同的客户端。
服务器和客户端都运行Linux。
SSHFS使用 SFTP 子系统。这是一个基于FUSE的解决方案,熟悉安全问题。您可以(并且应该)以普通用户身份进行安装:
sshfs user@server:some/path /some/local/mountpoint/
Run Code Online (Sandbox Code Playgroud)
然后在本地使用du -sh。如果您想要的目录路径位于some/path/foo/directory远程系统上,那么您需要使用/some/local/mountpoint/foo/directory:
du -sh /some/local/mountpoint/foo/directory
Run Code Online (Sandbox Code Playgroud)
卸载:
fusermount -u /some/local/mountpoint/
Run Code Online (Sandbox Code Playgroud)
注意:上面的示例some/path是相对路径,相对于 SFTP 最初使用的任何远程目录./。字符串./本身(或.空字符串)可用于安装此确切目录。也可以使用绝对路径(例如/bar/baz/dir)。
| 归档时间: |
|
| 查看次数: |
6128 次 |
| 最近记录: |