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.pswp.cn/pingmian/89986.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/89986.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/89986.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數字美元與全球支付革命:穩定幣的興起與全球金融格局的重塑

一、數字美元的崛起:美國戰略布局與全球競爭1. 數字美元的定位與戰略意義 數字美元作為美國構建“數字美元帝國”的核心工具,旨在通過區塊鏈技術實現美元的數字化發行與流通,鞏固其全球儲備貨幣地位。其核心邏輯在于:技術賦能貨幣…

LeetCode 633.平方數之和

給定一個非負整數 c ,你要判斷是否存在兩個整數 a 和 b,使得 a2 b2 c 。 示例 1: 輸入:c 5 輸出:true 解釋:1 * 1 2 * 2 5 示例 2: 輸入:c 3 輸出:false 提示&…

Spring Boot 使用Jasypt加密

一、配置Jasypt 1.在pom.xml中導入依賴 <!-- Jasypt 加密工具 --><dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><version>3.0.5</version></dependency&…

【電影剖析】千鈞一發

目錄 1 人物介紹 2 電影名解讀 3 電影開頭 3.1 電影開頭的兩段話 3.2 片頭設計 4 電影正文 4.1 “杰羅米”各種詭異的行為 4.2 文森特 – 失敗的man 4.3 真正的杰羅米以及假基因身份證 4.4 文森特新征程 4.5 基因人的不容易 4.6 睫毛被查出有問題 4.7 文森特身份初…

論文略讀:Arcee’s MergeKit: A Toolkit for Merging Large Language Models

emnlp 2024在過去的一年里&#xff0c;開源大型語言模型&#xff08;LLMs&#xff09;迅速發展&#xff0c;并已可通過 Hugging Face 模型庫獲取。這些模型的訓練規模可達數萬億個 token&#xff0c;參數量通常在 1 億至 700 億以上不等開源模型檢查點涵蓋了多種任務&#xff0…

刀客doc:Netflix與YouTube開始在廣告戰場正面交鋒

01廣告一開始并不是Netflix的核心業務&#xff0c;但眼下&#xff0c;廣告正逐步成為這家公司與YouTube正面對抗的關鍵戰場。在上周剛發布的Q2財報里&#xff0c;Netflix廣告層已覆蓋全球12個核心市場&#xff0c;月活躍用戶已經逼近9400萬&#xff0c;主要集中在CTV滲透率高的…

(四)Unity3d-ROS聯合仿真:turtlebot在Unity3d中仿真

運行環境Ubuntu20.04Unity3d 1.下載運行 &#xff08;1&#xff09;項目下載地址&#xff1a; Robotics-Nav2-SLAM-Example 最好執行下面命令能將子模塊也下載 git clone --recurse-submodule gitgithub.com:Unity-Technologies/Robotics-Nav2-SLAM-Example.gitgit submodu…

信息學奧賽一本通 1553:【例 2】暗的連鎖

【題目鏈接】 ybt 1553&#xff1a;【例 2】暗的連鎖 【題目考點】 1. 樹上差分&#xff1a;邊差分 類似對差分序列進行修改可以完成對原序列的區間修改。對樹上邊差分進行修改可以完成對樹上一條路徑中所有邊的邊權進行修改。 一條邊的差分值為該邊的權值減去該邊連接的深…

二分查找-852.山峰數組的峰頂索引-力扣(LeetCode)

一、題目解析1.山峰數組數據嚴格滿足arr[0]<arr[1]……<arr[i]>arr[i1]……arr[arr.size()-1]2.時間復雜度要求為O(logN)二、算法解析解法1&#xff1a;暴力解法-O(N)遍歷數組arr&#xff0c;結合山峰數組性質&#xff0c;我們發現峰頂存在arr[i]>arr[i-1]&#xf…

高可用架構模式——數據集群和數據分區

目錄 一、數據集群 1.1、 數據集中集群 1.2、 數據集中集群的復雜度具體體現 1.3、數據分散集群 1.4、數據分散集群的復雜度具體體現 1.5、數據分散集群和數據集中集群的不同點 二、數據分區 2.1、數據分區架構需要考慮的因素 2.1.1、數據量 2.1.2、分區規則 2.1.3、復制規則 2…

上電復位斷言的自動化

POR是所有SoC設計的關鍵功能序列&#xff0c;其作用是將系統從任意狀態恢復至正常狀態。任何未被檢測到的POR缺陷都可能導致實際芯片中的災難性后果。復雜數量的重置邏輯給驗證工程師帶來了更大挑戰——他們需要在RTL仿真過程中捕捉這些設計缺陷。隨著SoC規模和復雜度的持續增長…

2025 年最新 AI 技術:全景洞察與深度解析?

2025 年最新 AI 技術&#xff1a;全景洞察與深度解析?在科技飛速發展的當下&#xff0c;AI 技術無疑是最耀眼的那顆星&#xff0c;持續為我們的生活與工作帶來前所未有的變革。步入 2025 年&#xff0c;AI 技術更是呈現出多點突破、全面開花的態勢&#xff0c;下面就為大家深入…

Vue項目中的AJAX請求與跨域問題解析

一、AJAX請求方式對比與選型1. 原生XHR方式基本使用示例&#xff1a;缺點分析&#xff1a;代碼冗長復雜回調地獄問題需要手動處理JSON轉換錯誤處理不夠直觀2. jQuery的AJAX基本使用示例&#xff1a;$.ajax({url: http://localhost:5000/api/data,type: GET,success: function(d…

使用 Longformer-base-4096 進行工單問題分類

簡述最近接了對Ticket 進行問題分類的任務&#xff0c;使用了prompt和機器學習兩種方式來解決&#xff0c;這里重點介紹Longformer-base-4096 模型訓練的方案使用 Longformer-base-4096 模型實現文本分類系統&#xff0c;利用 Longformer 處理長序列的能力進行準確分類。該解決…

Matplotlib和Plotly知識點(Dash+Plotly分頁展示)

Matplotlib和Plotly知識點&#xff08;DashPlotly分頁展示&#xff09;0、Matplotlib、Plotly和Dash區別 &#xff08;推薦用DashPlotly&#xff09;1.1、Matplotlib &#xff08;靜態圖&#xff09;1. Figures&#xff08;圖形&#xff09;概念創建Figure保存和顯示Figure2. S…

YOLO12論文閱讀:Attention-Centric Real-Time Object Detectors

文章鏈接&#xff1a; 2502.12524https://arxiv.org/pdf/2502.12524 摘要 (Abstract)?? 長期以來&#xff0c;增強 YOLO 框架的網絡架構至關重要&#xff0c;但盡管注意力機制在建模能力方面已被證明具有優越性&#xff0c;改進卻主要集中在基于 CNN 的方面。這是因為基于…

秋招Day17 - Spring - 事務

Spring事務的種類編程式事務和聲明式事務介紹一下編程式事務管理&#xff1f;通過編程的方式顯式控制事務的開始、提交和回滾&#xff0c;一般使用TransactionTemplate的execute方法介紹一下聲明式事務管理&#xff1f;基于AOP&#xff0c;通過調用代理對象攔截目標方法&#x…

多維基分析求導法則

對于n維點R0(I1,I2,I3,......In)如果到R&#xff08;I1&#xff0c; I2 , I3 ,......,In )有基分析求導定理&#xff1a;即R0 R0 *&#xff08;x1 ,x2 ,x3 ,.............xn) R當I1&#xff0c;I2&#xff0c;....,In獨立不能轉化時有了獨立變量的求導和積分不相干法則…

Java值傳遞和構造函數

一.Java值傳遞首先我們來看一串代碼&#xff1a;輸出 10 20&#xff0c;而不是20 10 這是為什么呢&#xff1f;有內存圖可以知道&#xff0c;這個change方法所改變的東西最終沒有寫回到main之中&#xff0c;且他傳的是具體的數據&#xff0c;所以還會輸出原數據&#xff0c;就相…

電商項目_秒殺_架構及核心

秒殺架構設計先看下普通web項目架構&#xff1a; &#xff08;Nginx : 反向代理、負載均衡&#xff0c;一般是運維部分做生產搭建的時候配置好&#xff09;秒殺架構設計&#xff1a;和普通架構區別&#xff1a;原先由Web 服務或Nginx服務提供的靜態資源放到了CDNNginx的職責放?…