AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

全部问题(server)

Martin Hope
lbanz
Asked: 2015-09-10 07:23:47 +0800 CST

传输 15TB 的小文件

  • 81

我正在将数据从一台服务器归档到另一台服务器。最初我开始了rsync一份工作。仅仅为 5 TB 的数据构建文件列表需要 2 周时间,而传输 1 TB 数据需要一周时间。

然后我不得不终止这项工作,因为我们需要在新服务器上休息一段时间。

已经同意我们会将其 tar,因为我们可能不需要再次访问它。我正在考虑将它分成 500 GB 的块。在我完成之后tar,我将通过ssh. 我正在使用tar,pigz但它仍然太慢。

有更好的方法吗?我认为两台服务器都在 Redhat 上。旧服务器是 Ext4,新服务器是 XFS。

文件大小从几 kb 到几 mb 不等,5TB 中有 2400 万个 jpeg。所以我猜 15TB 大约需要 60-80 百万。

编辑:在玩了几天 rsync、nc、tar、mbuffer 和 pigz 之后。瓶颈将是磁盘 IO。由于数据跨 500 个 SAS 磁盘和大约 2.5 亿个 jpeg 条带化。但是,现在我了解了所有这些我将来可以使用的好工具。

linux
  • 11 个回答
  • 17730 Views
Martin Hope
Adam Matan
Asked: 2013-05-03 03:41:53 +0800 CST

使用 tcpdump 的 http 标头的人类可读格式

  • 82

我想在 Linux 机器上查看从 Apache(侦听端口 80)发送到 Tomcat(端口 4080)的 HTTP 标头。

根据维基百科,

标头字段是明文字符串格式的以冒号分隔的名称-值对。

我尝试了以下tcpdump命令的一些变体:

$ sudo tcpdump -lnX dst port 4080 -c 10

11:29:28.605894 IP SOME_IP.33273 > SOME_IP.4080: P 0:49(49) ack 1 win 23 <nop,nop,timestamp 1191760962 509391143>
    0x0000:  4500 0065 3a9f 4000 3f06 0084 628a 9ec4  E..e:.@.?...b...
    0x0010:  628a 9c97 81f9 0ff0 9e87 eee0 144b 90e1  b............K..
    0x0020:  8018 0017 fb43 0000 0101 080a 4708 d442  .....C......G..B
    0x0030:  1e5c b127 4845 4144 202f 6461 7070 6572  .\.'HEAD./dapper
    0x0040:  5f73 6572 7669 6e67 2f41 644d 6f6e 6b65  _serving/AdMonke
    0x0050:  793f                                     y?

结果总是一样的 - 乱码和英文单词(例如HEAD)的奇怪组合。

如何以人类可读的格式查看标题?

http
  • 3 个回答
  • 199903 Views
Martin Hope
Saif Bechan
Asked: 2010-03-24 21:33:49 +0800 CST

处理 HTTP w00tw00t 攻击

  • 82

我有一个带有 apache 的服务器,我最近安装了 mod_security2,因为我受到了很多攻击:

我的 apache 版本是 apache v2.2.3,我使用 mod_security2.c

这是错误日志中的条目:

[Wed Mar 24 02:35:41 2010] [error] 
[client 88.191.109.38] client sent HTTP/1.1 request without hostname 
(see RFC2616 section 14.23): /w00tw00t.at.ISC.SANS.DFind:)

[Wed Mar 24 02:47:31 2010] [error] 
[client 202.75.211.90] client sent HTTP/1.1 request without hostname 
(see RFC2616 section 14.23): /w00tw00t.at.ISC.SANS.DFind:)

[Wed Mar 24 02:47:49 2010] [error]
[client 95.228.153.177] client sent HTTP/1.1 request without hostname
(see RFC2616 section 14.23): /w00tw00t.at.ISC.SANS.DFind:)

[Wed Mar 24 02:48:03 2010] [error] 
[client 88.191.109.38] client sent HTTP/1.1 request without hostname
(see RFC2616 section 14.23): /w00tw00t.at.ISC.SANS.DFind:)

以下是 access_log 中的错误:

202.75.211.90 - - 
[29/Mar/2010:10:43:15 +0200] 
"GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1" 400 392 "-" "-"
211.155.228.169 - - 
[29/Mar/2010:11:40:41 +0200] 
"GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1" 400 392 "-" "-"
211.155.228.169 - - 
[29/Mar/2010:12:37:19 +0200] 
"GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1" 400 392 "-" "-" 

我尝试像这样配置 mod_security2:

SecFilterSelective REQUEST_URI "w00tw00t\.at\.ISC\.SANS\.DFind"
SecFilterSelective REQUEST_URI "\w00tw00t\.at\.ISC\.SANS"
SecFilterSelective REQUEST_URI "w00tw00t\.at\.ISC\.SANS"
SecFilterSelective REQUEST_URI "w00tw00t\.at\.ISC\.SANS\.DFind:"
SecFilterSelective REQUEST_URI "w00tw00t\.at\.ISC\.SANS\.DFind:\)"

mod_security2 中的东西是 SecFilterSelective 不能使用,它给了我错误。相反,我使用这样的规则:

SecRule REQUEST_URI "w00tw00t\.at\.ISC\.SANS\.DFind"
SecRule REQUEST_URI "\w00tw00t\.at\.ISC\.SANS"
SecRule REQUEST_URI "w00tw00t\.at\.ISC\.SANS"
SecRule REQUEST_URI "w00tw00t\.at\.ISC\.SANS\.DFind:"
SecRule REQUEST_URI "w00tw00t\.at\.ISC\.SANS\.DFind:\)"

即使这样也行不通。我不知道该怎么办了。有人有什么建议吗?

更新 1

我看到没有人可以使用 mod_security 解决这个问题。到目前为止,使用 ip-tables 似乎是最好的选择,但我认为文件会变得非常大,因为 ip 每天会更改几次。

我想出了另外两个解决方案,有人可以评论他们的好坏。

  1. 我想到的第一个解决方案是从我的 apache 错误日志中排除这些攻击。这将使我更容易在其他紧急错误发生时发现它们,并且不必在长日志中吐槽。

  2. 我认为第二种选择更好,那就是阻止未以正确方式发送的主机。在这个例子中,w00tw00t 攻击是在没有主机名的情况下发送的,所以我认为我可以阻止不正确形式的主机。

更新 2

在仔细阅读答案后,我得出了以下结论。

  1. 为 apache 进行自定义日志记录会消耗一些不必要的资源,如果确实存在问题,您可能希望查看完整的日志而不会丢失任何内容。

  2. 最好忽略命中并专注于分析错误日志的更好方法。为您的日志使用过滤器是一个很好的方法。

关于这个主题的最后想法

如果你至少有一个最新的系统,上面提到的攻击不会到达你的机器,所以基本上不用担心。

一段时间后很难从真实攻击中过滤掉所有虚假攻击,因为错误日志和访问日志都变得非常大。

以任何方式防止这种情况发生都会消耗您的资源,最好不要将资源浪费在不重要的事情上。

我现在使用的解决方案是Linux logwatch。它会向我发送日志摘要,并对其进行过滤和分组。通过这种方式,您可以轻松地将重要的与不重要的分开。

谢谢大家的帮助,我希望这篇文章也能对其他人有所帮助。

apache-2.2 security spam
  • 11 个回答
  • 90684 Views
Martin Hope
Nate Murray
Asked: 2009-10-27 07:43:42 +0800 CST

如何在不重新启动的情况下重新加载默认 Mac OSX 路由表

  • 82

问候,

我正在使用vpncVPN客户端。我也在做一些棘手的事情,route以确保我仍然可以访问我的本地网络等(这里的细节不是很重要)。

有时我得到了路由表,所以我得到ping: sendto: Network is unreachable了原本应该解决的 url。

目前,如果我重新启动 Mac OS X,那么一切都会恢复正常。我想做的是将路由表重置为“默认值”(例如它在启动时设置的值),而无需重新启动整个系统。

我认为第 1 步是route flush(删除所有路线)。第 2 步需要重新加载所有默认路由。

关于如何做到这一点的任何想法?(例如,第 2 步是什么?)

编辑 另外,我注意到另一个症状traceroute在有问题的地址上也失败了。例如:

traceroute the.good.dns.name

traceroute: bind: Can't assign requested address

networking
  • 4 个回答
  • 133626 Views
Martin Hope
Helen
Asked: 2009-07-22 05:24:38 +0800 CST

每 2 小时运行一次 Cron [重复]

  • 83
这个问题在这里已经有了答案:
为什么我的 crontab 不工作,我该如何排除故障? (7 个回答)
7年前关闭。

我有如下所示的 cron 作业,并希望它每 2 小时运行一次,但它每 2 分钟运行一次。

有人可以告诉我哪里出错了吗?

  
* */2 * * * /path-to-script

linux cron
  • 4 个回答
  • 149901 Views
Martin Hope
Tony
Asked: 2009-07-19 07:58:36 +0800 CST

我在 OS X 上的 mysql 日志在哪里?

  • 82

我检查了 /var/log 和 /usr/local/mysql ,但似乎找不到日志。我正在尝试解决使用 php 函数建立数据库连接的错误。

mysql mac-osx log-files
  • 11 个回答
  • 124062 Views
Martin Hope
Teddy
Asked: 2009-07-06 04:10:43 +0800 CST

重读分区表而不重新启动?

  • 83

有时,当调整大小或以其他方式处理磁盘上的分区时,cfdi​​sk 会说:

Wrote partition table, but re-read table failed. Reboot to update table.

(这也发生在其他分区工具上,所以我认为这是一个 Linux 问题而不是 cfdisk 问题。)为什么会这样,为什么它只是有时会发生,我能做些什么来避免它?

注意:请假设我实际编辑的分区都没有打开、安装或以其他方式使用。


更新:

cfdisk 用于ioctl(fd, BLKRRPART, NULL)告诉 Linux 重新读取分区表。到目前为止推荐的其他两个工具 ( hdparm -z DEVICE, sfdisk -R DEVICE) 的作用完全相同。partprobe DEVICE另一方面,该命令似乎使用了一个名为 BLKPG 的新 ioctl,这可能会更好;我不知道。(如果 BLKPG 失败,它也会退回到 BLKRRPART。)

BLKPG 似乎是“此分区已更改;这是新的大小”操作,看起来像是partprobe在通过的设备上的所有分区上单独调用它,因此如果各个分区未使用,它应该可以工作。但是,我还没有机会尝试。

linux partition fdisk
  • 15 个回答
  • 150569 Views
Martin Hope
Michael Ferrante
Asked: 2009-06-11 18:24:49 +0800 CST

如何配置 Windows 机器以允许与 DNS 别名共享文件

  • 82

配置 Windows 环境以允许我使用 DNS CNAME 来引用服务器需要什么过程?

我想这样做,以便我可以将我的服务器命名为 SRV001,但仍然\\file 指向该服务器,所以当 SRV002 替换它时,我不必更新人们拥有的任何链接,只需更新 DNS CNAME 和每个人将指向新服务器。

windows domain-name-system file-sharing alias netbios
  • 2 个回答
  • 159444 Views
Martin Hope
MattMcKnight
Asked: 2009-06-03 08:18:04 +0800 CST

数百次失败的 ssh 登录

  • 82

每天晚上我都会在我的 RedHat 4 服务器上收到数百甚至数千次失败的 ssh 登录。出于远程站点的防火墙原因,我需要在标准端口上运行。我应该做些什么来阻止它。我注意到许多来自同一个 IP 地址。不应该过一段时间就停止吗?

linux redhat ssh
  • 16 个回答
  • 17504 Views
Martin Hope
Kip
Asked: 2009-05-20 09:02:22 +0800 CST

Unix“whoami”命令的 Windows 等效项是什么?

  • 82

是否有 Windows 等效的 Unix“whoami”命令?如果是这样,它是什么?

windows command-line-interface
  • 7 个回答
  • 131283 Views
上一页
下一页

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve