如何检查 SFTP 服务器上的磁盘空间

如何检查 SFTP 服务器上的磁盘空间

最近,我在 SFTP 服务器上遇到了磁盘空间不足的问题,我意识到我不知道如何检查剩余空间量甚至总空间量。

是否有人知道如何通过 FileZilla 之类的应用程序来执行此操作,或者是否有可以用于此目的的命令?

请注意,该服务器由第三方托管,我希望有一种方法可以回答这个问题,而无需通过他们。

更新:

我尝试使用 putty 和 cygwin ssh 通过 shell 进行连接。Putty 默默失败,而 cygwin 给了我以下错误消息:

$ ssh [user]@[host] -i "[priv.key]"
Last login: Wed Aug 17 12:54:46 2011 from 195.204.103.176
Could not chdir to home directory /local00/ftproot/[user]: No such file or directory
/usr/local/sbin/scponlyc: No such file or directory
Connection to [host] closed.

有任何想法吗?

答案1

shellscponly可能允许该quota命令(如果已启用)。但似乎您已将配置scponly为仅支持 SFTP,并且不允许 shell 访问。

SFTP 协议允许检查磁盘空间(与其他答案所说的相反)。

从中提取SFTP - 检查可用空间stackoverflow.com 的问题:

SFTP 协议版本 6 允许检查可用空间(SSH_FXP_EXTENDED请求名称space-available)。但大多数 SSH/SFTP 服务器(尤其是 OpenSSH,它是最广泛的服务器)仅支持 SFTP 版本 3。

另一方面,OpenSSH 支持[email protected]专有扩展。

一些 SFTP 客户端支持 OpenSSH 扩展。

  • 显然是由 OpenSSHsftp客户通过df命令:

    df [-hi] [path]
    显示保存当前目录(或指定路径)的文件系统的使用信息。如果-h指定了该标志,则将使用“人性化”后缀显示容量信息。该-i标志要求显示除容量信息之外的 inode 信息。此命令仅在实施 '' 的服务器上受支持[电子邮件保护]'' 扩大。

    sftp> df -h
        Size     Used    Avail   (root)    %Capacity
       591GB    358GB    203GB    233GB          60%
    

答案2

ssh <host> df -h

在没有磁盘配额之类的信息的情况下,它将为您提供所有必要的信息。如果您没有 shell 访问权限(或无法通过某种方式运行命令,例如通过 PHP exec),那么您就无法检查磁盘空间,但是话又说回来,如果您没有 shell,您又怎么能负责管理服务器和管理磁盘空间呢?

答案3

使用 SFTP 命令集不可能获取可用大小或已使用的空间。

如果您能够通过 SSH 连接到服务器(相同的主机、用户和密码),则可以发出一个df -h来查看可用空间。或者du -h在文件夹中发出一个来查看文件夹的已用空间。

相关内容