每次启动服务时,我都想在启动服务之前执行一个脚本。
我知道我可以ExecStartPre
在服务定义文件中使用,但我想知道是否可以在不编辑来自服务包的文件的情况下实现。
该脚本是一个简单的命令,完成后退出,它创建主服务使用的文件(它从安全存储中获取 TLS 证书和密钥)。
每次启动服务时,我都想在启动服务之前执行一个脚本。
我知道我可以ExecStartPre
在服务定义文件中使用,但我想知道是否可以在不编辑来自服务包的文件的情况下实现。
该脚本是一个简单的命令,完成后退出,它创建主服务使用的文件(它从安全存储中获取 TLS 证书和密钥)。
我们使用StackExchange blackbox和Hiera-eyaml-gpg使用 GPG 密钥加密我们的 Git 存储库中的文件。
我将 Git 配置为使用Textconv配置解密文件,因此当我执行诸如git show ...
,git diff ...
或git log -p ...
.
我还在我的 OSX 上使用GPG 代理,所以它会记住密码一段时间。
我遇到的问题特别是 eyaml - 如果我执行git show HEAD..FETCH_HEAD
并且代理需要刷新密码,那么它会自动弹出一个漂亮的 TUI 要求重新输入它。如果它是通过 Blackbox 而不是由gpg-hiera-eyaml
.
我想找到一种方法直接从命令行告诉 gpg“如果需要,请询问密码”,而不必触发一些黑盒命令。
这可能吗?
谢谢。
编辑:这是 OSX 上的 GPG 1.4.20。
编辑:我尝试使用预设密码,gpg-preset-passphrase -v -c $(gpg --list-secret-keys --with-fingerprint --with-colons | awk -F: '$1 == "fpr" { print $10 }')
但没有任何区别 -git diff
使用 eyaml 文件仍会尝试读取密码并失败。
我正在寻找一种方法来在一个位置查看我们所有的 AWS 账户限制(例如,每个区域的最大存储桶数、ELB 的最大数量等)。
我在http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html找到了该页面,但这仅列出了默认限制。在我们的要求提出了一些限制之后,它不会告诉我我们的限制。
例如,我还发现aws ec2 describe-account-attributes
了 ,但这仅给出了与 EC2 相关的限制。
我们在 Elastic Load Balancer 后面的 AWS EC2 实例上运行了几个 Puppet Master 版本 3.7(非 PE)(主要用于高可用性)。
目前,负载均衡器的检查只是端口 8140 上的 TCP 连接。但这并没有检测到其中一个实例已挂起(它仍在接受初始 TCP 连接,但没有对其进行任何操作)。
我正在寻找向 puppet master 发送有意义的“no-op”请求并让它发回结果的方法。
更具体的要求:
是否有一个好的静态路径可以让运行状况检查使用?到目前为止,我还没有找到任何东西。
我们正在努力解决一个常见问题,即尝试为我们的开发人员提供一个 Oracle 11g 实例进行测试。我们的标准构建代理基于 Ubuntu 12.04,但 Oracle 仅支持基于 RedHat 的操作系统。
网上流传着一些关于在 Ubuntu 上安装 Oracle 的技巧,但它们似乎非常脆弱,而且很容易碰运气。
我们希望避免仅仅为了支持 Oracle 而必须在 RedHat(/CentOS) 之上支持整个构建服务器 Puppet 配置,所以我开始怀疑我们是否可以使用 Docker 来提供 Oracle 所需的类似 RedHat 的环境在我们的标准 Ubuntu 系统之上。这个想法是 Oracle 将在自己的容器中运行,但构建代理的其余部分仍将在标准 Ubuntu 上运行,能够通过 TCP 与 Oracle 通信。
我知道 LXC 是什么以及它们与成熟的虚拟化(如 KVM/VirtualBox 等)之间的区别,但我想知道它是否仍然可行。
谢谢。
我们使用石墨来跟踪一段时间内的磁盘使用历史。我们的警报系统会查看来自石墨的数据,以在可用空间低于一定数量的块时提醒我们。
我想获得更智能的警报——我真正关心的是“我需要多长时间才能对可用空间进行处理?”,例如,如果趋势显示 7 天后我将用完磁盘空间然后引发警告,如果少于 2 天则引发错误。
Graphite 的标准仪表板界面可以非常智能地使用衍生工具和 Holt Winters 信心带,但到目前为止我还没有找到将其转换为可操作指标的方法。我也很擅长以其他方式处理数字(只需从石墨中提取原始数字并运行脚本即可)。
一个复杂的问题是图表不平滑 - 文件被添加和删除,但随着时间的推移,总体趋势是磁盘空间使用量增加,因此可能需要查看本地最小值(如果查看“无磁盘”指标) 并在波谷之间绘制趋势。
有人做过吗?
sync; sync; sync; sleep 30; halt
我仍然看到人们在谈论关闭或重新启动 Linux 时建议使用咒语。
我从 Linux 一开始就一直在运行它,虽然这是 BSD 4.2/4.3 和 SunOS 4 天推荐的过程,但我不记得至少在过去十年中我必须这样做,在此期间我可能经历了Linux的关机/重启可能数千次。
我怀疑这是不合时宜的,因为即使在单用户模式(例如/tmp)下,内核也无法卸载和同步根文件系统和其他关键文件系统,因此有必要明确告诉它刷新尽可能多的数据到磁盘。
这些天,还没有在内核源代码中找到相关代码(通过http://lxr.linux.no和谷歌挖掘),我怀疑内核足够聪明,甚至可以干净地卸载根文件系统,并且文件系统足够聪明在正常shutdown
//期间卸载自身之前有效地执行同步(2 reboot
)poweorff
。
"sync; sync; sync"
仅在文件系统无法完全卸载(例如物理磁盘故障)或系统处于仅强制直接重新启动(8)将使其摆脱冻结状态(例如负载太高,让它安排关机命令)。
sync
在卸载可移动设备之前,我也从不执行此过程,也从未遇到问题。
另一个例子 - Xen 允许 DomU 从 Dom0 发送shutdown
命令,这被认为是“干净关闭”,无需任何人先登录并输入魔法sync; sync; sync
。
我是对的还是我幸运地关闭了数千次系统?
我目前使用没有密码的服务器 SSL 证书,以允许 Apache 无人值守启动。
有客户的迹象要求我们更安全地保护 SSL 证书。我还不确定他们的目标是什么,但现在我猜他们不希望磁盘上有未受保护的 SSL 证书。我想我无法避免在 Apache 的内存中清楚地看到它,但让我们假设这是可以接受的。
我想出了一个精心设计的系统,将密码短语保存在内部服务器(即不在前线 Web 服务器上)的进程内存中,并使用 Apache SSLPassPhraseDialog(http ://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslpassphrasedialog)。内部服务器必须在启动时输入密码短语,并且我们将有多个此类服务器负载平衡以实现高可用性。
我的问题是: