当前位置: 首页 > ds >正文

ssh2-sftp-client 简化 sftp 文件传输的 node库

  • ssh2-sftp-client 极大地简化了通过 sftp 进行文件传输的复杂性。无论你是需要上传、下载、删除文件,还是列出目录内容,可当简易的部署脚步
  • npm run deploy
const SftpClient = require('ssh2-sftp-client')
const sftp = new SftpClient()const config = {host: 'ip',port: '端口号',username: '服务器账号',password: '服务器密码' // 或者使用 privateKey 字段提供私钥路径
}const remoteDir = '/database/nginx/html/TianJin/operation' // 远程目录路径
const newFolderPath = '/database/nginx/html/TianJin/operationBak1' // 重命名后的文件夹新路径(仅改变名称)
// const localDir = 'bak' // 本地保存路径sftp.connect(config).then(() => {console.log('连接成功!')// console.log('开始下载目录...')// return sftp.downloadDir(remoteDir, localDir) // 这里本意想下载到本地进行备份console.log('开始备份文件夹...')// return sftp.rename(remoteDir, newFolderPath) // 重命名文件夹(远程已经有的文件夹名称,会重命名错误)
}).then(() => {// console.log('目录下载成功!')console.log('文件夹备份成功!')console.log('开始上传文件...')sftp.uploadDir('operation', remoteDir).then(() => { //'operation'打包后的文件夹目录,这里js放在同级目录中所以,这里可以只填写文件夹名console.log('文件上传成功!') //这里会直接将远程文件目录覆盖掉,所以前面可以加上备份操作return sftp.end()}).catch((err) => {console.error(err.message)if (sftp.sftp) {sftp.sftp.end()}})
}).catch((err) => {console.error(err.message)if (sftp.sftp) {sftp.sftp.end()}
})
http://www.xdnf.cn/news/16097.html

相关文章:

  • python实现接收九数云的异常分析指标推送通知
  • C++基础数据结构
  • Java IO 流详解:从基础到实战,彻底掌握输入输出编程
  • A316-HF-DAC-V1:专业USB HiFi音频解码器评估板技术解析
  • 牛客网题解 | 单词识别
  • 关于Ajax的学习笔记
  • 二叉树实现堆,咕咕咕
  • 结构型模式-架构解耦与扩展实践
  • Linux的目录
  • stream event
  • 软文发布平台推荐指南,软文发稿平台该怎么选?
  • 网络协议(三)网络层 IPv4、CIDR(使用子网掩码进行网络划分)、NAT在私网划分中的应用
  • Axios
  • Qt中的网络通信
  • javaSE(从0开始)day13
  • 通过TPLink路由器进行用户行为审计实战
  • 【图像处理基石】什么是相机的内外参数?
  • springcloud -- 微服务02
  • 关于 URL 中 “+“ 号变成空格的问题
  • 数据结构:找出字符串中重复的字符(Finding Duplicates in a String)——使用哈希表
  • HTTP性能优化实战技术详解(2025)
  • Linux进程核心机制:状态、优先级与上下文切换详解
  • Redis进阶--缓存
  • AQS 抽象队列同步器 资源竞争-排队等待
  • C++实战案例:从static成员到线程安全的单例模式
  • Django视图与路由系统
  • Elasticsearch、Solr 与 OpenSearch 搜索引擎方案对比分析及选型建议
  • 漏洞扫描 + 渗透测试:双轮驱动筑牢网络安全防线
  • 计算机发展史:个人计算机时代的多元融合与变革
  • cartographer内置评估工具使用流程:评估前端优化的误差