如何有效地将许多文件移动到新服务器?

2024-04-29

我正在更换托管提供商,需要将数百万个上传的文件传输到新服务器。所有文件都位于同一目录中。是的。你读对了。 ;)

过去我这样做过:

  1. 压缩源服务器中的所有文件
  2. scp到新服务器的 zip
  3. Unzip
  4. Move directory to appropriate location
    • 不管出于什么原因,我从第 1 步开始的 zip 总是带有路径,并要求我进行 mv。

上次我这样做大约需要 4-5 天才能完成,大约是我现在的 60%。

我希望有更好的方法。你有什么建议?

文件结构是散列的。像这样的事情:AAAAAAAAAA.jpg - ZZZZZZZZZZ.txt

这是我们正在讨论的一个想法:

根据 3 个字母前缀将 zip 拆分为大量迷你 zip。就像是:

AAAAAAAAAA.jpg - AAAZZZZZZZ.gif => AAA.zip

理论优点:

  • 可以加快传输速度,允许同时传输多个 zip
  • 可以限制因传输失败而损失的时间。 (等待2天转账最终失败真是太糟糕了)

理论上的缺点:

  • 可能会大大减慢初始 zip 的速度,因为 zip 必须通过通配符查找文件(AAA*),也许可以通过同时运行多个 zip 线程(使用所有 CPU 而不是仅使用一个 CPU)来抵消。
  • 复杂?

我们还考虑过 rsync 和 scp,但担心手动传输每个文件的费用。由于远程服务器是空的,我不需要担心已经存在的内容。

你怎么认为?你会怎么做?

(是的,我最终会将这些移动到 Amazon S3,并且我只会向它们发送磁盘,但与此同时,我昨天需要它们!)


你实际上有多种选择,我最喜欢的是使用rsync.

rsync [dir1] [dir2]

该命令实际上会比较目录,并仅同步它们之间的差异。

有了这个,我最有可能使用以下内容

rsync -z -e ssh [email protected] /cdn-cgi/l/email-protection:/var/www/ /var/www/

-z Zip
-e 外壳命令

您还可以使用 SFTP、通过 SSH 的 FTP。

Or even wget.

wget -rc ssh://[email protected] /cdn-cgi/l/email-protection:/var/www/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何有效地将许多文件移动到新服务器? 的相关文章

  • Bash 脚本跳过提取受密码保护的档案

    我有一个脚本 它使用命令对某些文件夹中的特定 zip 和 或 tar gz 存档进行批量提取 unzip o zip path d destination folder 不幸的是 当存档受密码保护时 脚本会停止并等待密码输入 有没有办法省略
  • 当在 python linux 中执行命令 os.system() 时,在 python 中给出响应 yes/no

    考虑一个像这样的命令 yum install boto 当我在终端中执行时 要继续 会询问我是 否 我可以像这样用 python 回应它吗 os system yum install boto Next Yes 将通过相同的 python
  • 我可以在 Ubuntu 上使用 Homebrew 吗?

    我只是尝试使用 Homebrew 和 Linuxbrew 在我的 Ubuntu 服务器上安装软件包 但都失败了 这就是我尝试安装它们的方法 sudo apt get install build essential curl git m4 r
  • 如何运行 bash 压缩脚本?

    有没有一种方法可以直接运行带有 参数 的压缩bash脚本 而无需将其解压缩到文件中 然后运行解压缩的文件 例如 我需要使用一些给定的参数执行 setup mysql gzip 压缩脚本 n wordpress locahost 而不先解压缩
  • 通过名称获取进程ID

    我想在 Linux 下获得一个给定其名称的进程 ID 有没有一种简单的方法可以做到这一点 我还没有在 C 上找到任何可以轻松使用的东西 如果追求 易于使用 char buf 512 FILE cmd pipe popen pidof s p
  • GCC 详细模式输出解释

    我是 Linux 新手 谁能向我解释一下我的 hello world 程序的以下详细模式输出 另外 这些文件是做什么用的crt1 o crti o crtend o crtbegin o and crtn o and lc and lgcc
  • log4j.RollingFileAppender 不压缩文件

    如何在 log4j 中压缩备份文件RollingFileAppender 我有以下log4j 属性file 当超过大小限制时 它会创建备份文件但不会压缩它 log4j appender request org apache log4j Ro
  • 在 MacOS 上构建需要 net461 的 dotnet SDK 项目的最简单方法

    我有一个 dotnet SDK sln and a build proj with
  • 点击界面没有出现

    我决定添加一个点击界面并在我的代码中使用它 但我能够得到它的状态 sudo ip f link tuntap add tap10 mode tap sudo ip link set tap10 up 之后当我执行 ip link 时 tap
  • 每个虚拟主机的错误日志?

    在一台运行 Apache 和 PHP 5 的 Linux 服务器上 我们有多个带有单独日志文件的虚拟主机 我们似乎无法分离 phperror log虚拟主机之间 覆盖此设置
  • 为什么我的代码在编译用于分析 (-pg) 时在多线程下运行比在单线程下运行慢?

    我正在写一个光线追踪器 最近 我在程序中添加了线程 以利用 i5 四核上的附加内核 奇怪的是 应用程序的调试版本现在运行速度变慢 但优化后的构建运行速度比添加线程之前更快 我将 g pg 标志传递给 gcc 以进行调试构建 并将 O3 标志
  • Flex 的远程版本误解了我的规则

    我使用 flex 和 bison 编写了一个小汇编程序 可以在我的机器 ubuntu 10 10 上构建并运行正常 现在其他人正在尝试在 arch linux 上构建它 并且他们安装的 flex 产生了不同的 lex yy c 这是不匹配的
  • PHP 日志文件颜色

    我正在编写一个 PHP 日志文件类 但我想为写入文件的行添加颜色 我遇到的问题是颜色也会改变终端的颜色 我想要实现的是仅更改写入日志文件的行的颜色 class logClass extends Singleton private funct
  • php56 - CentOS - Remi 仓库

    我刚刚在测试盒上安装了 php 5 6 正常的 cli php 解释器似乎不存在 gt php v bash php command not found gt php56 v PHP 5 6 13 cli built Sep 3 2015
  • 使用 terminfo 的终端颜色?

    我正在编写一个 C 类 允许在终端中使用颜色 我希望它适用于每个终端 在支持真彩色 24 位 的终端上打印 在支持它的终端上具有 256 色 6x6x6 其他都是基本的 16 种颜色 我曾经使用 termcap 编写过一次 C 函数 并且我
  • Linux 阻塞与非阻塞串行读取

    I have 这段代码 https stackoverflow com questions 6947413 how to open read and write from serial port in c用于在Linux中从串行读取 但我不
  • %config(noreplace) 文件上出现意外的 RPM 冲突

    我正在创建我自己的RPM using rpmbuild My RPM 包含配置文件哪个应该永远不会被覆盖 即使 RPM 包含这些配置文件的新版本 为了存档这个 我用以下标签标记了它们 config noreplace opt mypacka
  • VSCODE 在 Linux 上不适用于我

    刚刚了解 VSCODE 很高兴尝试一下 我下载 解压并运行可执行文件 我得到 Code 2183 0429 201254 ERROR browser main loop cc 170 Running without the SUID san
  • 如何获取 bash 中从 Ping 接收到的数据包的百分比?

    当 ping 主机时 我希望输出仅显示收到的数据包 已发送 5 个 的百分比 我想我需要使用grep不知怎的 但我不知道如何 我是 bash 编程的新手 这是我所在的地方 ping c 5 q host grep grep 中应该包含什么
  • 如何清理 Runtime.exec() 中使用的用户输入?

    我需要通过命令行调用自定义脚本 这些脚本需要很少的参数并在 Linux 机器上调用 当前版本容易出现各种shell注入 如何清理用户给出的参数 参数包括登录名和路径 Unix 或 Windows 路径 用户应该能够输入任何可能的路径 该路径

随机推荐