我从 powershell 命令获取计数并将其注册到变量上。我必须在 when 条件下使用该计数。在 when 条件下使用它之前,我已将其更改为 int 。尽管此处的计数为 0,但仍会跳过该任务(邮件通知)。有人可以告诉我我在这里做错了什么。下面是我正在执行的代码
- name: Get message_count
shell: echo "{{ (output.stdout | from_json).MessageCount }}"
register: message_count #message_count is Zero here
delegate_to: localhost
- set_fact:
countt: "{{ message_count | int}}"
Run Code Online (Sandbox Code Playgroud)
#在使用 set_fact 传递给条件之前尝试转换为整数
- debug: var=countt
- name: send mail notification
mail:
host: abc.zzzz.net
port: 25
from: <noreply@controlnode.com>
to:
- abc@xyz.com
subject: Test mail sent from core server
body: Test mail sent from core server
delegate_to: localhost
when: countt==0
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 CentOS 7 上安装 Ansible,并将 Ansible 配置为使用 Python 3。我已经安装了 Python2 和 Python3。
[root@ansible1 ~]# python --version
Python 2.7.5
[root@ansible1 ~]# python3 --version
Python 3.6.8
Run Code Online (Sandbox Code Playgroud)
如果我使用 安装 Ansible yum install ansible,该ansible --version命令会显示 Ansible 配置为使用 Python 2.7.5。我卸载ansible( yum remove ansible);
[root@ansible1 ~]# ansible --version
ansible 2.9.10
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /bin/ansible
python version = 2.7.5 (default, Aug 7 2019, 00:51:29) [GCC 4.8.5 …Run Code Online (Sandbox Code Playgroud) CSR 属性字段中的 a0:00 是什么意思?(它是空还是空?)
Certificate Request:
Data:
Version: 0 (0x0)
Subject: C=...
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (... bit)
Modulus: ...
Exponent: ...
Attributes:
a0:00
Run Code Online (Sandbox Code Playgroud)
在相关说明中,即使我的配置文件甚至没有提及假定的属性字段,该字段是否应该显示?
[ req ]
default_bits = ...
default_md = ...
default_keyfile = ...
distinguished_name = d_name
string_mask = ...
[ d_name ]
...
Run Code Online (Sandbox Code Playgroud) 我想列出并终止属于使用端口的特定进程的会话的所有进程。这应该通过 Windows 批处理命令来实现,该命令接受端口号作为输入。
例如:假设进程 PA 当前正在侦听端口 8081。PA 运行在会话 S1 下。有进程 PB 和 PC 与 PA 属于同一会话。PB和PC将运行在不同的端口上(它们运行在哪个端口上并不重要)
Windows 命令/批处理文件应以 8081 作为输入并终止进程 PA、PB 和 PC。
这可能吗?感谢对此的一些帮助,因为我不太熟悉批处理命令/脚本。
我失败的尝试:
(for /F "tokens=2" %%i in (for /f "tokens=5" %a in ('netstat -aon ^| findstr 8081') do tasklist /NH /FI "PID eq %a") do taskkill /NH /FI "SESSIONNAME eq %%i")
Run Code Online (Sandbox Code Playgroud) 好吧,这是一个愚蠢的。我在 Ubuntu 16.04 服务器实例上运行 Apache 2.4。我将几乎相同的环境用于生产和测试实例,以及我使用 Vagrant 管理的几乎相同的 VirtualBox 实例进行开发。长期以来,我一直能够以运行 Apache 的同一用户身份通过 SSH 连接到这些服务器实例中的任何一个,部署一些应用程序代码更改,然后运行exit以终止 SSH 会话,之后 Apache 就会运行得很好. 但是,现在我无法exit在 Apache 服务遇到致命错误的情况下执行以下操作:
[mpm_prefork:emerg] [pid 23466] (43)Identifier removed: AH00144: couldn't grab the accept mutex
[core:alert] [pid 17750] AH00050: Child 23466 returned a Fatal error... Apache is exiting!
Run Code Online (Sandbox Code Playgroud)
笔记:
app.app,切换到root,restart服务 as root,切换回app,然后终止会话,它会杀死 Apache。root,restart该服务,然后终止该会话,Apache是罚款。root,restart服务,开关app …环境:AWS / Microsoft Windows Server 2019 虚拟机
一些 .NET 应用程序在 VM 上运行(作为 Windows 服务),这些应用程序发出各种 HTTP 请求。其中之一还使用 MQTT(通过 MQTTnet)将事件从外部服务中继到不同的 HTTP API。
几天内一切都会按预期工作,直到最终来自应用程序的 HTTP 请求开始超时。
Windows 事件查看器每隔几分钟就会显示以下错误:“WinHTTP Web 代理自动发现服务服务因以下特定于服务的错误而终止:无法创建终结点映射器数据库条目。”
此时,似乎任何 Win32/.NET 应用程序都将无法执行 HTTP 请求,包括 IE 等,但 CURL 除外。同样,其他网络连接和协议似乎也很好。我假设这可能是由于 WinHttp(或其他低级 Win32 HTTP 服务)的问题造成的?我花了一些时间研究 Web 代理自动发现服务,并试图理解为什么它会突然开始失败(以及这是原因还是只是结果),但我在网上没有找到任何信息。
我还没有找到可以解决此问题的纠正措施(重新启动服务、使用 netsh 重置内容等)。似乎只有完全重新启动 Windows 才能解决该问题。此时,WinHTTP Web 代理自动发现服务再次正常工作,http 请求再次工作,等等。
我什至很难找到从哪里开始解决这个问题。

我发现 Azure 可用区的文档有点缺乏有关高可用性的详细信息,因此我希望这里有人了解有关某些未记录行为的详细信息。
当在 Azure 上预配虚拟机(或任何其他区域资源,如磁盘)但未选择可用性选项(本例中为可用区)时,会发生什么情况。如果有三个Zone,它驻留在哪个Zone。在 AWS 上,所有虚拟机都位于某个区域,如果没有其他情况,也是随机的。但是 Azure 上有什么?也是随机的,第四个?没有任何?不包含在区域中的单独数据中心?区域内是否存在不属于任何区域的 Azure 数据中心?
为什么我们可以将(数据)磁盘放置在与我们附加的虚拟机不同的可用区域中?由于磁盘可能距离较远,这是否会导致性能下降?AFAIK,这在 AWS 上甚至是不可能的,例如,EBS 必须与 EC2 实例位于同一区域,并且子网不能跨越不同的区域。
我在一个集群中有 2 台主机(运行 vSphere Client 6.7 版)。我如何确定当我想将其中一个进入维护模式时,另一个将能够保存所有 VM 的资源?
谢谢,约翰
virtualization cluster vmware-esxi vmware-vsphere windows-server-2016
Azure 提供各种类型的虚拟机大小,并且它们具有大写字母(例如 B、D、DC、E、F 等)。某些实例类型还具有小写字母(例如 Da、Dd、Das、Ds、Ed 等)。这是否映射到任何特定功能?
我有一个 VPN 服务器,上面装有 Wireguard 和 OpenVPN。我的大部分隧道都是 OpenVPN,但我正在努力过渡到 Wireguard。Wireguard 服务器位于主位置,我在同一远程站点有 3 个客户端。其中两个具有 Wireguard 隧道,一个具有 OpenVPN 隧道。OpenVPN 隧道上的客户端没有看到数据包丢失。我从根本没有隧道的站点上的系统运行 ping,并且没有看到从该站点到 VPN 服务器的数据包丢失。
但两个 Wireguard 客户端每 2 小时就会看到大约 5-10 分钟的数据包丢失。我提供了一张包含 3 个客户端的冒烟结果的图像,最上面的图是 OpenVPN,下面的两个是 Wireguard 客户端。

现在,由于它只是处于测试阶段,我的 Wireguard 客户端有一个基本配置,基本上没有路由。我将工作组设置为几个点对点隧道。
客户端/服务器之间的隧道之一的配置如下所示。Smokeping 正在 VPN 服务器上运行,并对隧道的远端 IPv4 地址执行 ping 操作
VPN 服务器配置
[Interface]
PrivateKey = ...
ListenPort = 32012
Address = 10.3.199.24
Address = fd6c:d0ed:2749:20c7::18
[Peer]
AllowedIPs = 10.3.199.24/31
AllowedIPs = fd6c:d0ed:2749:20c7::18/127
PublicKey = ...
PersistentKeepalive = 120
Run Code Online (Sandbox Code Playgroud)
VPN 客户端配置
[Interface]
PrivateKey = ...
Address = 10.3.199.25
Address …Run Code Online (Sandbox Code Playgroud) ansible ×2
azure ×2
windows ×2
apache-2.4 ×1
availability ×1
batch ×1
batch-file ×1
cluster ×1
csr ×1
http ×1
linux ×1
openssl ×1
packetloss ×1
pip ×1
powershell ×1
python ×1
ssh ×1
ssl ×1
vmware-esxi ×1
winhttp ×1
wireguard ×1