云计算百科
云计算领域专业知识百科平台

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

大家好,今天我要分享的是如何使用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

这条命令的作用如下:

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

  • 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:排除不需要打包的文件。
  • |gzip -ck:

    • |:管道符号,将tar命令的输出传递给gzip命令。
    • gzip -ck:压缩数据,-c表示输出到标准输出,-k表示保留原始文件。
  • 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命令远程打包、压缩并传输服务器文件。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » SSH远程命令实践:如何打包、压缩并传输服务器文件
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!