SSH远程命令实践:如何打包、压缩并传输服务器文件

news/2024/12/3 8:18:21/

大家好,今天我要分享的是如何使用SSH命令来远程打包、压缩服务器上的文件,并将其传输到本地或其他服务器。这对于需要在远程服务器上进行文件备份或迁移的场景非常有用。

以下是本文的主要内容:

一、命令详解

我们要执行的命令是:

ssh root@192.168.3.157 "tar -C /mnt/UDISK -cvf - logs app_debug data/db data/map --exclude data/db/database.db-journal|gzip -ck" 1>logs.tar.gz

这条命令的作用如下:

  1. 通过SSH协议登录到IP地址为192.168.3.157的服务器,并以root用户身份执行命令。
  2. 使用tar命令在/mnt/UDISK目录下创建一个包含指定文件和目录的归档文件,并排除某个文件。
  3. 将tar命令的输出通过管道传递给gzip命令进行压缩。
  4. 将压缩后的数据流重定向到本地文件logs.tar.gz。

二、命令分解

  1. tar -C /mnt/UDISK -cvf - logs app_debug data/db data/map --exclude data/db/database.db-journal

    • -C /mnt/UDISK:指定tar命令的工作目录。
    • -cvf -:创建归档文件,并将内容输出到标准输出。
    • logs app_debug data/db data/map:指定要打包的文件和目录。
    • --exclude data/db/database.db-journal:排除不需要打包的文件。
  2. |gzip -ck

    • |:管道符号,将tar命令的输出传递给gzip命令。
    • gzip -ck:压缩数据,-c表示输出到标准输出,-k表示保留原始文件。
  3. 1>logs.tar.gz

    • 将gzip命令的输出重定向到本地文件logs.tar.gz。

三、文件传输

压缩后的文件已经通过SSH连接直接传输到了本地机器。如果你需要将文件传输到其他位置,可以使用以下命令:

  • 使用scp命令:
scp logs.tar.gz user@other_server_ip:/destination/path/
  • 使用sftp命令:
sftp user@other_server_ip
> put logs.tar.gz /destination/path/
  • 使用rsync命令:
rsync -avz logs.tar.gz user@other_server_ip:/destination/path/

四、总结

通过本文,我们学习了如何使用SSH命令远程打包、压缩并传输服务器文件。


http://www.ppmy.cn/news/1551949.html

相关文章

YOLOv11融合FCMNet中的WCMF模块及相关改进思路

YOLOv11v10v8使用教程: YOLOv11入门到入土使用教程 YOLOv11改进汇总贴:YOLOv11及自研模型更新汇总 《FCMNet: Frequency-aware cross-modality attention networks for RGB-D salient object detection》 一、 模块介绍 论文链接:https://…

如何实现一套键盘鼠标控制两台计算机(罗技Options+ Flow功能快速实现演示)

需求背景 之前我写过一篇文章如何实现一套键盘鼠标控制两台计算机(Mouse Without Borders快速上手教程)_一套键鼠控制两台电脑-CSDN博客 当我们在局域网内有两台计算机,想使用一套键鼠操控时,可以安装Mouse Without Borders软件…

数字图像处理内容详解

1.对比度 最大亮度 / 最小亮度 2.邻域 m邻接:对于像素p和q,如果p和q四临接,或p和q八临接且两者的四邻域的交集为空 通路:如果俩点全部是K邻接(K代表4,8,m),则说明存在K…

Linux环境变量与本地变量

文章目录 Linux环境变量与本地变量什么是环境变量查看环境变量设置环境变量本地变量命令行参数 Linux环境变量与本地变量 什么是环境变量 操作系统或运行时环境中存储的一些变量,用来存储与进程或系统相关的配置信息。这些变量在进程启动时由操作系统或Shell读取&…

go语言读取yaml配置文件内容

1、config.yaml配置文件内容假设如下 name: "example" version: 1.0 settings:timeout: 30debug: truefeatures:- feature1- feature22、定义结构体 go语言定义结构体匹配yaml内容 package mainimport ("fmt""log""os""gopkg.…

解决vscode中的不能安装VS code 服务(XHR Failed)【已解决】

碰到这种情况一般是要在本地下载某些文件,然后上传到远程服务器。但因为本地代理有问题,导致下载失败。 解决方法: 本地client的代理设置为全局代理,即Global模式,然后重新连接远程服务器,即可正常下载解…

数据查找文件夹里Excel、Word文件

我经常需要处理大量的Excel文件,为了解决查找数据时的困扰,我编写了一个小工具。这个工具可以搜索文件夹下的所有Excel文件,只需输入你想查找的字符串,它就会告诉你该字符串出现在哪个Excel文件的哪个表格中。 下载地址&#xff…

线程的互斥与同步

线程的加载 在内存当中我们知道还有一个关于共享区的概念,在这上面他有对库映射的虚拟地址,也有对创建的线程pthread做的管理。 我们所用的pthread_create()函数呢,其实也就是就是返回在共享区里创建的线程地址。而线程地址指向的首地址其实…