javascript - 需要从远程服务器检查根目录的大小
问题描述
我无法找到远程 ftp/sftp 服务器根目录的大小
我已经尝试过ls -l
命令du -sh
,没有任何效果
vars.filepath = "sftp://username:password@abc.server.com/root/";
cmd = "ls -l "+vars.filepath;
vars.res = execCommand(cmd, true);
logInfo("size : "+ vars.res);
它应该给我以 MB 为单位的根目录的大小,不包括子目录的大小。
它给了我ls
和du
命令
-53,cannot access sftp://username:password@abc.server.com/root/ 没有那个文件或目录
但是当我尝试FTP/SFTP
通过winscp/filezilla
它连接时。
解决方案
您只能使用 SFTP 在本地系统上运行命令。运行帮助以查看可用的命令:
sftp>帮助
我认为du
命令行中的 sftp 不可用,您需要使用 ssh 代替
你可以只使用 SSH 但如果 JS 是必须的 ssh-exec 应该可以工作
未经测试,但应该非常接近
跑
npm i ssh-exec
创建文件 ssh.js
粘贴 :
var exec = require('ssh-exec')
//option 1 requires id_rsa as private key
exec('ls -lh', 'ubuntu@my-remote.com').pipe(process.stdout)
// option 2
//USE ENV VAR LIKE $MY_PWORD DONT HARDCODE PW
exec('du -sh /PATH/TO/DIIR', {
user: '"userName",
host: 'my-remote.com',
key: myKeyFileOrBuffer,
password: '$MY_PWORD'
}).pipe(process.stdout)
/// option 3 what you are trying to do with sftp
exec('ls -lh', 'ubuntu@my-remote.com', function (err, stdout, stderr) {
console.log(err, stdout, stderr)
})
推荐阅读
- c - C“块”插入字符
- python - 多处理和速度执行
- javascript - Reactjs 中的递归函数
- jquery - Jquery按钮不提交请求
- html - CSS 动画滚动文本在 Edge 浏览器中不起作用(translate3d)
- laravel - Laravel 雄辩的请求
- visual-studio - Visual Studio F# 交互式窗口一直没有在当前目录中打开
- java - Apache POI - 在适合合并区域的同时保持原始图片比例
- python - “用户 'sa' (18456) 登录失败”,即使我提供了正确的凭据
- css - 如何在 React JS 的 ModalHeader 组件中右对齐我的按钮组件