根据手册页,如果执行行之一以 255 错误退出,则 xargs 将退出:
如果命令的任何调用以 255 的状态退出,xargs 将立即停止而不读取任何进一步的输入。发生这种情况时,会在 stderr 上发出错误消息。
我怎样才能让 xargs不这样做?
我有一个大约 1500 行的批处理作业,我想一次运行 50 行。我发现它总是在某条生产线上死亡,并且没有完成工作。不好!
一个更好的问题,描述我正在尝试做的事情的问题是:
我怎样才能运行一个 1500 行的批处理脚本,一次 50 行,这样它就不会在中间退出作业,并将输出捕获到某种日志文件中?
在所有其他条件相同的情况下,如果使用更大的磁盘,存储阵列的 IOPS 性能将如何变化。
例如,以一个具有 10 X 100GB 磁盘的阵列为例。
测量连续 256kb 块写入的 IOPS(或任何 IOPS 指标)
让我们假设所测得的 IOPS 为 1000 IOPS。
将阵列更改为具有 10 X 200GB 磁盘的阵列。使用相同的 RAID 配置、相同的块大小等进行格式化。
人们会期望 IOPS 保持不变、增加还是减少?变化是大致线性的吗?即增加 2 倍或减少 2 倍(因为我已将磁盘容量增加了 2 倍)
使用 10 X 50GB 磁盘重复这些问题。
编辑:更多上下文
这个问题是我的 Sysadmin 团队之间的一次对话导致的,该团队并不精通所有存储。(适用于存储的许多方面,但不适用于管理 SAN 或其他方面的细节)。我们收到了一大堆新的 Netapp 托盘,每个磁盘的磁盘容量比我们现有的托盘更高——双倍容量。有人评论说,新托盘的 IOPS 会更低,因为磁盘更大。然后出现了一个汽车类比来解释这一点。这两条评论都不适合我,所以我想把它交给 The Team,即 Stack-Exchange-land。
汽车类比是关于两辆汽车,加速度不同,最高速度相同,行驶四分之一英里。然后将距离更改为半英里。实际上,我不记得确切的类比,但由于我在 interwebz 上发现了另一个类似的类比,我认为这可能是一个常见的 IOPS 类比。
在某些方面,问题的实际答案对我来说并不重要,因为我们不会使用这些信息来评估购买。但是我们确实需要评估将托盘连接到现有头部的最佳方法,以及雕刻出聚集体和体积的最佳方法。
我对此进行了一些研究,但没有找到明确的答案。
我们有一个使用 PHP+Memcache 会话处理程序的 Web 应用程序。
我有几个问题,都是相互关联的,但最终我的问题是,“为什么 PHP 会话在我们认为应该到期时显然没有到期?” 即最终用户应该在设定的时间后退出应用程序,但不是。
下面是点,请帮我把它们连接起来,并告诉我我错在哪里:
用户没有被注销。
我怎么能调试呢?Memcache 并不完全透明。
没有工作的示例案例是会话超时设置为两小时的站点。示例用户会在晚上最后一次使用该站点,然后在 8 到 10 小时后返回该站点并仍处于登录状态。
PHP 有几个会话设置来控制垃圾收集(即删除过期会话)发生的可能性。
我的问题是:这个概率是否适用于任何给定 Apache 服务器上所有虚拟主机上的所有运行 Apache 线程?
例如:
我正在尝试衡量是否需要调整给定 VirtualHost、整个服务器或其他内容的 gc_probability 设置。
使用 aws-cli 客户端 ( https://github.com/aws/aws-cli ),有没有办法使用日期范围过滤器查找实例?或者使用“早于 X 日期”或“最后 X 天”过滤器?
似乎唯一与日期相关的过滤器是使用字符串通配符指定确切日期或部分日期。例如,我发现指定日期如下有效:
aws ec2 describe-instances --filters "Name=launch-time,Values=2015-03\*"
Run Code Online (Sandbox Code Playgroud)
例如,这会在 2015 年 3 月启动所有实例。
我想要的相当于这个 POSIX“查找”命令,“查找过去 30 天的所有内容”:
find . -mtime -30
Run Code Online (Sandbox Code Playgroud) 这适用于 Ubuntu 14.04 和 Centos 7。
我需要限制以 root 身份主动运行的用户数量。即在 CLI 上以 root 身份登录。
基本上,我一次只希望一个用户能够以 root 身份运行命令。这里的目的是审计。
我研究了在 /etc/security/limits.conf 中设置限制,但 pam_limits.so 模块似乎只影响登录。或者登录shell。没有把握。但无论具体情况如何,它确实会阻止用户多次通过 SSH 连接到一个盒子,但不会阻止多个用户通过“sudo su”成为 root 用户。因此,设置limits.conf 仍然可以允许多个用户同时以root 身份登录。
这是我尝试过的limits.conf行来限制这个:
root hard maxlogins 1
Run Code Online (Sandbox Code Playgroud)
接下来我尝试限制@admins 组中的用户。我认为这些用户是唯一允许 sudo su 到 root 的用户(基于我们现有的自定义 sudo 规则)。
@admins hard maxlogins 1
Run Code Online (Sandbox Code Playgroud)
这似乎做我想做的事,但似乎笨拙/错误。称之为直觉——我不太清楚我认为这个错误的地方。
最后,“为什么?”。为什么我有这个要求?
我们正在尝试实施控制以满足 PCI-DSS 3.1 要求 8.5“不要使用组、共享或通用 ID、密码或其他身份验证方法”——强调“共享”。在 Windows 环境中,您只需授予用户执行任何操作的权限,并且没有人共享主管理员帐户。Linux 环境的设计使得在某些情况下,您确实希望以 root 身份登录。在 Linux 环境中必须有一种符合 PCI 标准的方法来解决这个问题。
从 AWS 收到这封电子邮件,“Amazon EC2 实例计划停用”。如果您大量使用 AWS,您可能已经看过这封电子邮件。这是它的肉:
我们有关于您帐户的重要消息。EC2 检测到在 us-east-1 区域托管一个或多个 Amazon EC2 实例的底层硬件性能下降。由于这种降级,您的实例可能已经无法访问。正在运行的实例将在 YYYY-MM-DD UTC 时间上午 12:00 之后停止或终止。受影响的实例如下:
i-12345678
<...其他内容,与我的问题无关...>
你需要做什么?
如果您仍然可以访问该实例,我们建议您执行以下操作:
<...其他内容,与我的问题无关...>
- 如果您的实例的根设备是 EBS 卷,您可以通过创建实例的 AMI 并从 AMI 启动新实例来替换实例。有关更多信息,请参阅 Amazon Machine Images...其他与我的问题无关的内容
AWS 文档和电子邮件本身表明我必须从当前实例创建一个 AMI来解决这个问题。不过,我听说只要停止实例并重新启动它就会将其迁移到新硬件。
这是真的?
如果简单地停止/启动不能解决这个问题,是否有一个简单的解决方案,不像创建一个 AMI 并从中启动那样笨拙?
这应该非常简单,我想我遗漏了一些明显的东西。
OpenVPN 文档声明您可以在 Unix 域套接字上运行管理接口。好的,没问题,我试过了。
openvpn --dev tun --management /dev/openvpn unix
Run Code Online (Sandbox Code Playgroud)
这似乎有效;设备已创建,OpenVPN 启动。
但是,如何连接到管理界面?它不是 TCP,所以 Netcat 将无法工作。我尝试将命令直接回显到套接字并出现错误:
$ echo "help"| /dev/openvpn
bash: /dev/openvpn: No such device or address
Run Code Online (Sandbox Code Playgroud)
我知道我错过了一些基本的东西,但我可以在互联网上找到零个例子,任何人实际连接到 Unix 域套接字上的管理接口。
我一直在使用术语“单一源”来表示使用单一身份验证源(例如单一 LDAP 服务)但不是单一登录的身份验证方案。即您必须多次登录,但您使用的是相同的凭据。
“单一来源”身份验证是否有常用的技术术语或首字母缩略词?我找不到一个。
我认为这是不支持或不可能的,但也许有人欺骗 EC2 这样做。
我有一组为我的任务适当配置的 10 个实例。
我想使用自动缩放功能自动打开/关闭它们。与从 AMI 启动新实例相反。我还希望实例永远不会被终止,而只是被关闭。
这在 EC2 中甚至可能吗?
amazon-ec2 ×2
linux ×2
memcache ×2
php ×2
apache-2.2 ×1
autoscaling ×1
aws-cli ×1
bash ×1
hard-drive ×1
iops ×1
ldap ×1
limits ×1
moodle ×1
openvpn ×1
pci-dss ×1
performance ×1
session ×1
storage ×1
sudo ×1
ubuntu-14.04 ×1
xargs ×1