我在托管服务提供商处托管了服务器,他们还托管了我的域名的 DNS 记录。现在我想添加由我自己的 DNS 服务解析的子域。例如:
econemon.com
ftp.econemon.com
还,
econemon.com
,但我不确定这应该如何工作。现在,我已经通读了关于 DNS 的维基百科文章来充实我的知识,但让我感到困惑的部分是:客户端如何知道向哪个服务器请求 IP 地址ftp.econemon.com
?它会从托管商那里获得这些信息吗?如果是这样,我是否必须在那里注册子域(那时我需要我的名称服务器做什么)?
我tar
过去常常在我的服务器上创建文件系统不同部分的快照,然后将该快照 ftp 到异地位置进行存档。
我只想在发生变化时才开始该操作。一些备份运行在所有系统文件夹中,这些文件夹很少更改(即安装新软件或修改配置时)。
每当发生变化时,我都想要一个完整的快照。我可以使用 生成修改文件列表find
,但我真的只需要知道该列表的长度是否为 0 或更大。使用 find 太慢了。
我知道有增量备份,并且我已经在其他情况下将 rsync 与 ZFS 结合使用。然而,这里的备份主机是一个 FTP 服务器(所以没有 rsync),我需要完整的备份(因为备份存档用作还原或克隆服务器的映像)并且我想要压缩输出(所以 tar 很方便)。
编辑:请注意,我不是在寻找增量备份(我有),而是为了快速(有点排除查找等)和简单的方法来确定完整快照是否与上一个相同。也许我的措辞不太好。我现在编辑了标题。
我最近设置了一个需要 JDK 才能运行的构建服务器(例如,编译 Java 源代码)。Ubuntu 中的 OpenJDK 包将 OpenJDK JRE 作为依赖项引入,而后者又依赖于大量仅与图形环境相关的包。对于标准 JRE,有一个包的无头版本,但对于 JDK,没有。
这个问题之前已经在很多地方讨论过,我找到并使用的一个解决方案是这样的:
$ apt-get --no-install-recommends -d install openjdk-6-jdk
$ dpkg -i --ignore-depends=openjdk-6-jre /path/to/just-downloaded.deb
Run Code Online (Sandbox Code Playgroud)
虽然这有效,但它现在使我的系统依赖树损坏,并且 apt-get 拒绝进一步安装,直到我运行apt-get -f
.
有没有更好的解决方案?
我拥有一个域名econemon.com
。以下是 DNS 条目的摘录(为简洁起见,省略了一些记录):
econemon.com. 1800 IN NS ns.stratoserver.net.
econemon.com. 1800 IN NS ns2.stratoserver.net.
econemon.com. 1800 IN A 85.214.92.48
Run Code Online (Sandbox Code Playgroud)
这些名称服务器来自我的提供商,据我所知,它们是我域的权威服务器。
现在,当我向其中之一询问不存在的子域的地址记录时,它会以我的服务器的地址作为响应,如下所示:
$ host -t A nosuchdomain.econemon.com ns.stratoserver.net
Using domain server:
Name: ns.stratoserver.net
Address: 81.169.163.40#53
Aliases:
nosuchdomain.econemon.com has address 85.214.92.48
Run Code Online (Sandbox Code Playgroud)
当然,这正是我想要的,以便拥有虚拟主机等。现在,假设我添加了一个条目
econemon.com. IN NS ns.econemon.com
Run Code Online (Sandbox Code Playgroud)
和ns.econemon.com
列表的正确 A 记录,并且该名称服务器实际上对某些子域有不同的 A 记录,会发生什么?
subdomain.econemon.com
根据您询问的名称服务器,请求会产生不同的地址吗?(我想会的。)我正在为能源咨询业务开发软件并监控数据中心的能源使用情况,我注意到数据中心的典型电力负载“模式”只是一条平坦的线,因为所有设备都 24/7 全天候运行。如果您将其与我们所做的实际使用模式(网络负载、CPU 使用率等)进行比较,您通常会长时间使用很少使用但可用的全部容量。
这些模式在许多情况下是非常可预测的,为了节省能源,定期或在低负载条件下关闭部分设备(服务器、交换机、存储)会很好。但是,我可以想到必须考虑的几个方面,包括
可能还有更多。是否有处理这种情况的软件,还有什么应该注意的?这是一个可行的建议吗?
就我而言,集群并不一定意味着在操作系统级别对机器进行集群,通过负载平衡器(即应用程序级别集群)接收请求的相同主机也将被计算在内。我不确定 MySQL 集群或类似的工作方式,但我可能也会计算这些。
我正在寻找任何操作系统的建议。
另请参阅我在 Stack Overflow 上提出这个问题的关于能源效率的帖子。
我需要将 PHP 和 Python 代码以及适当的环境(Web 服务器、数据库服务器)部署到远程 Windows 系统,我不知道什么工具链相当于ssh
、scp
、bash
等。
所以,基本上,我需要能够做的是以下内容:
ssh
(我什至不知道那是 Windows 上的文本界面还是图形界面)。主要问题可能首先是我如何安全地进入机器,然后剩下的就是一般的 Windows 管理知识,这可能是一个范围太广而无法解决的问题。
我在维护 Linux 机器方面有多年的经验,并且我在这些机器上使用过各种复杂的工具,从scp
PHP 文件的普通ing 到 Java 应用程序容器的部署,甚至是带有 Vagrant 的完整 VM。
在 Windows 上,我是一个完全的菜鸟,我什至不知道从哪里开始。我一生中可能在台式机上安装过 Apache、MySQL、PHP 两次,仅此而已。
最终在 Linux 机器上运行的东西的奖励积分,但我可以运行虚拟机并从那里做任何事情。
为了测试目的,我在连接到本地网络的虚拟机中运行了 Windows XP。测试是远程完成的。完成后,我想从 Linux 机器远程关闭它们。
ETA:请注意,Windows 机器运行 XP Home,因此没有安全/组策略。
对于相同设置中的 Linux 系统,我执行以下操作:
#> ssh root@linux-vm123 'shutdown -h now';
Run Code Online (Sandbox Code Playgroud)
对于 Windows 系统,我应该能够做到:
#> net rpc SHUTDOWN -I xx.xx.xx.xx -f -U user%pwd
Run Code Online (Sandbox Code Playgroud)
但这给了我以下错误:
Could not connect to server xx.xx.xx.xx
The username or password was not correct.
Connection failed: NT_STATUS_LOGON_FAILURE
Run Code Online (Sandbox Code Playgroud)
用户是管理员,帐户设置了密码。我需要在 Windows 系统上设置什么吗?
ETA:有没有一种方法可以只测试登录,即不发送可能需要其他权限或设置的关闭命令?
我正在尝试设置一个 DNS 来补充我的主机商提供的 DNS(另请参阅此相关问题)。现在我似乎不明白我的域的 DNS 记录,这是这样的(为简洁起见,省略了一些条目):
econemon.com. 1800 IN NS ns.stratoserver.net.
econemon.com. 1800 IN NS ns2.stratoserver.net.
econemon.com. 1800 IN A 85.214.92.48
Run Code Online (Sandbox Code Playgroud)
现在,尽管阅读了 Wikipedia 中的 DNS,但我并没有真正理解两件事:
在您将 Apache 用于 PHP/Python 脚本并使用 lighttpd 用于静态文件的设置中,但只有一个侦听外部 IP 地址并充当另一个侦听环回接口的代理,这应该是哪个,为什么,以及重要吗?