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

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.dtcms.com/a/290805.html

相关文章:

  • 轮状太空城的科学依据浅谈
  • 渗透测试视角:Web 应用常见漏洞的利用与防御策略
  • Unity-NavMesh详解-其二
  • 牛客周赛 Round 101
  • 职坐标:嵌入式AI项目指南
  • MySQL 核心知识点梳理(1)
  • JVM 类加载过程笔记
  • 二维DP深度解析
  • Linux(Centos 7.6)命令详解:jobs
  • 服务器后台崩溃的原因
  • openpnp - 贴片前,矫正板子位置时,使用多个mark点的位置并不一定精确(mark点可能板厂做的位置就不准)
  • 小智ai MCP学习笔记
  • 2021 RoboCom 世界机器人开发者大赛-本科组(复赛)解题报告 | 珂学家
  • SOLIDWORK教育版实时协作打破空间限制
  • 组合设计模式
  • 笔试——Day14
  • tcp的三次握手与四次挥手
  • 手机录制视频时,硬编码和软编码哪个质量高?(硬件编码、软件编码)
  • 跨端分栏布局:从手机到Pad的优雅切换
  • 删除 XML 格式中双引号内的空格
  • odoo-059 xml中字段上写 domain 和 filter_domain 什么区别
  • 对理性决策模型的剖析及应用路径
  • vue2使用v-viewer图片预览:打开页面自动预览,禁止关闭预览,解决在微信浏览器的页面点击事件老是触发预览初始化的问题
  • OpenEuler 22.03 系统上安装配置gitlab runner
  • Linux网络编程-osi、udp
  • nextjs+react接口会请求两次?
  • react class和function 如何模拟vue中的 双向绑定 监听 computed的方式
  • macbookpro m1 max本儿上速搭一个elasticsearch+kibana环境
  • Electron 主进程与渲染进程之间交互方式
  • Spring Boot自动装配原理深度解析:从核心注解到实现机制