给定一个网址:
http://example.com/some-file.zip
Run Code Online (Sandbox Code Playgroud)
文档根目录example.com是/var/www/example.com/
我希望 apache:
/var/www/example.com/some-file.zip存在,服务它。/var/www/example.com/some-file.zip不存在,请检查/var/www/shared/some-file.zip/var/www/shared/some-file.zip不存在,则发送 404这可能吗?
我已经查看了 Alias 指令,但我认为这将要求我在 URI 中有一些内容来指示资源的位置。
主题总结了场景。我相信答案是没有停机时间,但系统在重建过程中可能会变慢。这很好。但如果有停机时间,多长时间?短维护窗口的小光点是可以接受的。几天的重建将需要一个新的计划来评估如何处理。
详细信息:客户端具有连接到 Synology RS2414RP+(运行 DSM 5)的 iSCSI 连接,后者是具有 12 个托架的机架安装装置。自最初设置以来,所有托架都装有 3TB 驱动器。由于它是专用于一个大型 iSCSI 卷的设备,因此它被设置为使用最大空间量。尽管该空间大小约为 1GB,但它已经工作了数月。
现在系统偶尔会进入“只读”模式,我认为这是由 iSCSI 卷的精简配置达到卷本身的外部限制引起的。设法通过 SSH 输入并抛出 PostgreSQL 数据库的旧/并行备份来使卷“恢复生机”,这在包含 iSCSI 分区的基础卷上释放了大约 36MB 的空间。这足以让 iSCSI 卷再次挂载。但显然是一个等待发生的问题。
因此,由于此 Synology 设备将卷格式化为具有 2 个磁盘容错能力的 Synology Hybrid RAID 设置,因此决定用 4TB 驱动器替换其中一个 3TB 驱动器,以扩展卷。驱动器已插入、格式化并正在运行缓慢的糖蜜奇偶校验阶段。
但是一旦完成奇偶校验,我将不得不登录以扩展卷。在这个最后阶段,从服务中断的角度来看会发生什么?由于 Synology DSM 基于标准开源工具(例如 LVM(逻辑卷管理器)),因此我在网上阅读的内容中,该卷将扩展而不会导致中断。但由于我们谈论的是 27TB+ 的存储,我想双倍/三倍地确保我的假设是正确的。
这基本上是:当奇偶校验完成后,我开始扩展卷,所有服务仍将启动并运行,扩展将作为后台进程发生,从而确保零停机时间?
看起来我需要在这里为所有人更新完整的场景。
我们的用户需要从我们的文件服务器获取他们需要的任何东西以同步到远程位置,但用户在文件服务器上移动文件的权限有限。所以这是我的任务:
创建一个工具,用户可以使用它来获取数据并同步到远程位置。DFS 和 3rd 方工具不是选项,必须是我们自己制作的代码,并且一切都必须在后台运行。
这是我的方法,现在正在运行。我制作了 3 个组件:
**A**** 带有 VBS 的 HTA 应用程序位于用户 PC 上,为用户提供文件浏览器以获取数据。
**B**** 允许 HTA 将数据路径写入 txt 文件的共享位置。此文本文件中的任何路径都将作为软链接到最终位置。
**C**** 文件服务器上的最终位置保存所有软链接。
这是它的基本工作原理:
用户使用我制作的 HTA 从文件服务器中选取数据,它将完整数据路径写入共享位置上的 000.txt 文件。我的无限循环脚本监控这个共享位置,如果这个共享文件夹中的任何用户创建了 000.txt 文件,它将调用另一个脚本来读取这个 000.txt 中的所有数据路径,并mklink用于根据路径用户制作软链接提供并输出软链接到最终位置,然后删除 000.txt 文件。此最终位置上的所有软链接将robocopy在晚上按计划同步。我的HTA应用需要的功能比较多,就不用讲了。
由于这里没有人谈论编码,所以我删除了我的无限循环代码,这个循环脚本从 Windows 开始并作为服务运行。我可以随时开始/停止它。它基本上只是监控那个共享文件夹,如果任何用户在那里创建000.txt文件,它会调用mklink.bat制作softlins,并且mklink.bat在制作软链接时将删除000.txt 。我使用无限循环而不是任务调度程序的原因是用户需要在提交数据路径后立即在最终位置查看结果。我认为任务调度程序的最小间隔是一分钟,(@MikeAwood 说它可以是 1 秒。谢谢!)所以我做了一个 2 秒间隔的无限循环来监视那个共享文件夹。
我的问题如下:
这是在服务器上无限循环运行以监视文件夹的好主意吗?
在此脚本运行时,我监视了服务器上的资源使用情况。我没有看到任何显着的消耗...所以我想它会是无害的,对吧?
如果任务调度程序可以处理 1 秒的间隔,我想我的问题就解决了。谢谢大家。
或者,如果您有更好的方法来做到这一点或对我的做法有任何意见。
我正在运行以下命令将 LVM 从一台主机复制到另一台主机:
dd if=/dev/vg_1/lv1 conv=noerror,sync bs=4M | gzip | ssh user@ip 'gzip -d | dd of=/dev/vg_2/lv1 bs=4M'
Run Code Online (Sandbox Code Playgroud)
首先,大约一个小时前,我的速度约为 11 MB/s。随着时间的流逝,传输速率已增至约 34.4 MB/s,并且仍在以恒定速率增长。
我很想知道为什么。
我最好的猜测是我正在复制的 LVM 非常大,但实际上只有一小部分是数据。结果可能是大块的数据被 0 填充。这会使 gzip 压缩更有效吗?
我想复制我的虚拟机并将其放在负载平衡器后面。
Apache1 Apache2 ....ApacheN
| | |
-------------------------
LoadBalancer
Run Code Online (Sandbox Code Playgroud)
我只想为虚拟主机使用一个配置文件(实际上是一个包含在每个 httpd.conf 中的 conf 文件目录)、一个日志文件和一个用于所有实例的公共 DocumentRoot 目录。这可能吗,只是在虚拟机之间共享一些目录并相应地配置每个 Apache?
或者文件打开和写入会有一些冲突?
是否有更好的方法来维护具有相同配置的所有机器?
我能想到的另一件事是,它是一个复制主配置并重新启动所有 Apache 实例的脚本。还有一些脚本来合并所有日志......
欢迎任何建议。
更新:我认为在我的情况下性能不是问题,但是当我开始注意到日志损坏时,我停止从两个实例写入同一个日志文件。
[04/Oct/2014:17:10:34 +0200] "GET /index.html HTTP/1.0" 200 15082 22633
[04/Oct/2014:17:10:36 +0200] "GET /index.html HTTP/1.0" 200 15082 13[04/Oct/2014:17:10:38 +0200] "GET /index.html HTTP/1.0"[04/Oct/[04/Oct/2014:17:10:40 +0200] "GET /index.[04/Oct/2014:17:09:42[04/Oct/2014:17:10:42 +0200][04/Oct/2014:17:09:44 +0200] "GET /index.html HTTP/1.0" 200 15082
Run Code Online (Sandbox Code Playgroud) 这个日志文件/var/log/kern.log包含一些 IP 地址,我希望系统自动禁止/阻止。
基本上,一个数据包来自UDP协议,并且是一个短数据包,那么我希望IPTables通过Fail2Ban禁止该数据包的主机。
03-serv:~# cat /var/log/kern.log | grep ' UDP: short packet: From '
Dec 19 16:05:12 03-serv kernel: UDP: short packet: From 74.60.6.213:1900 311/299 to x.x.x.x:27015
Dec 19 16:05:57 03-serv kernel: UDP: short packet: From 1.215.252.130:1900 11297/286 to x.x.x.x:27015
Dec 19 16:08:17 03-serv kernel: UDP: short packet: From 184.0.249.136:1900 363/299 to x.x.x.x:27015
Dec 19 16:09:54 03-serv kernel: UDP: short packet: From 1.214.66.49:1900 11297/310 to x.x.x.x:27015
Dec 19 16:11:28 03-serv kernel: UDP: short packet: From 1.214.214.2:1900 11297/320 …Run Code Online (Sandbox Code Playgroud) 我正在运行此命令以从服务器获取失败登录尝试的记录auth.log,并且运行良好:
sudo cat /var/log/auth.{log,log.1} | grep 'Failed password' | grep sshd | awk '{print $1,$2}' | sort -k 1,1M -k 2n | uniq -c
Run Code Online (Sandbox Code Playgroud)
但问题是——就像世界上的每一台服务器一样——我有一些由日志轮换创建的 GZipped 档案,这些档案不会被这个命令解析:
-rw-r----- 1 syslog adm 7822722 Oct 31 13:44 /var/log/auth.log
-rw-r----- 1 syslog adm 12532511 Oct 25 06:59 /var/log/auth.log.1
-rw-r----- 1 syslog adm 2250939 Oct 18 06:55 /var/log/auth.log.2.gz
-rw-r----- 1 syslog adm 2139669 Oct 11 07:06 /var/log/auth.log.3.gz
-rw-r----- 1 syslog adm 2769919 Oct 4 06:54 /var/log/auth.log.4.gz
Run Code Online (Sandbox Code Playgroud)
为了解决这些问题,我有一个使用zcat代替的命令变体,cat但是必须运行两个命令来获取这些数据有点麻烦。有什么方法可以将cat …
有些人说,发送较大的数据包比发送较小的数据包更好。
但在这个应用程序中:http://media.pearsoncmg.com/aw/aw_kurose_network_2/applets/message/messagesegmentation.html
数据包大小越小,到达目的地所需的时间就越短。所以我不明白为什么更喜欢更大的尺寸?你能给我解释一下吗?谢谢
我是 Linux 新手,我在 Digital Ocean 上安装了 Ubuntu 12.04。
我安装了 Monit 并让它通过电子邮件警报成功监控 MySQL。
我也想监控 Apache2,但找不到任何httpd.pid需要放入 monitrc 文件的文件。
我可以使用以下命令启动 Apache2: /etc/init.d/apache2 start
我可以通过以下方式停止 Apache2: /etc/init.d/apache2 stop
我可以使用以下命令重新启动 Spache2: /etc/init.d/apache2 restart
在没有 httpd.pid 文件的情况下,还有什么其他方法可以在 Monit 中监视 Apache2?
DDoS 攻击能否阻止我通过 ssh 连接到我的服务器?
我的老板说没有,因此服务器一定有问题。然而,即使使用robots.txt和.htaccess重写,我们也会被 4-5 个不同的机器人所困扰。
我的 PHP 人员相信它是机器人,我倾向于同意,但是攻击是否有可能阻止我自己通过 ssh 进入我的服务器?