AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-19946

OmiPenguin's questions

Martin Hope
OmiPenguin
Asked: 2022-06-23 23:16:14 +0800 CST

Ansible - 如何根据条件重新启动服务器?

  • 0

我编写了在 Linux 服务器上应用安全补丁的剧本,剩下的唯一部分就是编写任务以重新启动已修补的服务器。

以下是应用补丁的任务内容

- name: Deploying Security Packages                              
  shell: "yum update --security -y"                              
  register: progress                                             
  when: deploypackages == "y"                                    
                                                                 
- name: Installed Packages                                       
  debug:                                                         
    msg: "{{ progress.stdout_lines | regex_search('complete') }}"
  #when: progress.changed | regex_search('complete')   

我正在寻找一个过滤器来在输出中查找已注册变量中的单词,如果是completed,kernel然后重新启动服务器。

谢谢

尝试 1 - 失败

出于测试目的,我已更改kernel为xz-libs,但达到when条件时失败。

---
- name: Deploying Security Packages
  #shell: "yum update --security -y"
  yum:
    name: '*'
    state: latest
    security: yes
  register: yum_update
  when: deploypackages == "y"

- name: Installed Packages
  debug:
    msg: " Packages installed Successfully "
  when:
    - yum_update.changed
    - yum_update.stdout | regex_search('xz-libs', ignorecase=True ) is not none

它给出了这个错误

TASK [deploying_security_updates : Deploying Security Packages] **********************
changed: [192.168.8.26]

    TASK [deploying_security_updates : Installed Packages] *******************************
    fatal: [192.168.8.26]: FAILED! => {"msg": "The conditional check 'yum_update.stdout | regex_search('*xz-libs*', ignorecase=True ) is not none' failed. The error was: nothing to repeat\n\nThe error appears to be in '/home/sysadmin/ansible_files/play-security-update/roles/deploying_security_updates/tasks/main.yaml': line 11, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: Installed Packages\n  ^ here\n"}

调试

- name: Deploying Security Packages                                                
  yum:                                                                             
    name: '*'                                                                      
    state: latest                                                                  
    security: yes                                                                  
  register: yum_update                                                             
  when: deploypackages == "y"                                                      
                                                                                   
- name: Installed Packages                                                         
  debug:                                                                           
    #msg: " Packages installed Successfully "                                      
    msg: " {{ yum_update.stdout | regex_search('xz-libs', ignorecase=True ) }}"    
  #when:                                                                           
  #  - yum_update.changed                                                          
  #  - yum_update.stdout | regex_search('*xz-libs*', ignorecase=True ) is not none 



Do you want to deploy Packages: y

PLAY [To Apply Security Patches on Linux Servers] *******************************************************************************************************************************************************************************************

TASK [Gathering Facts] **********************************************************************************************************************************************************************************************************************
ok: [192.168.8.26]

TASK [Condition Failed! Wrong User Input] ***************************************************************************************************************************************************************************************************
skipping: [192.168.8.26]

TASK [check_for_updates : Looking for Package Updates] **************************************************************************************************************************************************************************************
skipping: [192.168.8.26]

TASK [check_for_updates : Printing Available Updates] ***************************************************************************************************************************************************************************************
skipping: [192.168.8.26]

TASK [deploying_security_updates : Deploying Security Packages] *****************************************************************************************************************************************************************************
changed: [192.168.8.26]

TASK [deploying_security_updates : Installed Packages] **************************************************************************************************************************************************************************************
fatal: [192.168.8.26]: FAILED! => {"msg": "Unexpected templating type error occurred on ( {{ yum_update.stdout | regex_search('xz-libs', ignorecase=True ) }}): expected string or buffer"}

PLAY RECAP **********************************************************************************************************************************************************************************************************************************
192.168.8.26               : ok=2    changed=1    unreachable=0    failed=1    skipped=3    rescued=0    ignored=0

调试输出

ok: [192.168.8.26] => {
    "msg": {
        "changed": true,
        "changes": {
            "installed": [],
            "updated": [
                [
                    "xz",
                    "5.2.2-2.el7_9.x86_64 from rhel-remote"
                ],
                [
                    "xz-libs",
                    "5.2.2-2.el7_9.x86_64 from rhel-remote"
                ]
            ]
        },
        "failed": false,
        "msg": "",
        "rc": 0,
        "results": [
            "Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-\n              : manager\nThis system is not registered with an entitlement server. You can use subscription-manager to register.\n --> device-mapper-persistent-data-0.7.3-3.el7.x86_64 from @anaconda/7.6 removed (updateinfo)\n --> 7:device-mapper-event-1.02.170-6.el7_9.5.x86_64 from rhel-remote removed (updateinfo)\n --> libgnomekbd-3.26.0-3.el7.x86_64 from rhel-remote removed (updateinfo)\n --> cryptsetup-python-2.0.3-3.el7.x86_64 from @anaconda/7.6 removed (updateinfo)\n --> PackageKit-gstreamer-plugin-1.1.10-2.el7.x86_64 from rhel-remote removed (updateinfo)\n --> libstoragemgmt-1.6.2-4.el7.x86_64 from @anaconda/7.6 removed (updateinfo)\n --> PackageKit-gtk3-module-1.1.10-2.el7.x86_64 from rhel-remote removed (updateinfo)\n --> 7:device-mapper-event-1.02.149-8.el7.x86_64 from @anaconda/7.6 removed (updateinfo)\n --> setroubleshoot-plugins-3.0.67-3.el7.noarch from @anaconda/7.6 removed (updateinfo)\n --> libdrm-2.4.91-3.el7.x86_64 from @anaconda/7.6 removed (updateinfo)\n --> mesa-dri-drivers-18.3.4-12.el7_9.x86_64 from rhel-remote removed (updateinfo)\n --> subscription-manager-plugin-container-1.24.51-1.el7_9.x86_64 from rhel-remote removed (updateinfo)\n --> firewalld-0.6.3-13.el7_9.noarch from rhel-remote removed (updateinfo)\n --> gdb-7.6.1-114.el7.x86_64 from @anaconda/7.6 removed (updateinfo)\n --> grubby-8.28-26.el7.x86_64 from rhel-remote removed (updateinfo)\n --> hostname-3.13-3.el7.x86_64 from @anaconda/7.6 removed (updateinfo)\n --> 32:bind-libs-lite-9.11.4-26.P2.el7_9.9.x86_64 from rhel-remote removed (updateinfo)\n --> abrt-dbus-2.1.11-52.el7.x86_64 from @anaconda/7.6 removed (updateinfo)\n --> unzip-6.0-21.el7.x86_64 from @rhel-remote removed (updateinfo)\n
 Package xz-libs.x86_64 0:5.2.2-2.el7_9 will be an update\n--> Finished Dependency Resolution\n\nDependencies Resolved\n\n================================================================================\n Package         Arch           Version               Repository           Size\n================================================================================\nUpdating:\n xz              x86_64         5.2.2-2.el7_9         rhel-remote         229 k\n xz-libs         x86_64         5.2.2-2.el7_9         rhel-remote         103 k\n\nTransaction Summary\n================================================================================\nUpgrade  2 Packages\n\nTotal download size: 332 k\nDownloading packages:\nNo Presto metadata available for rhel-remote\n--------------------------------------------------------------------------------\nTotal                                              1.3 MB/s | 332 kB  00:00     \nRunning transaction check\nRunning transaction test\nTransaction test succeeded\nRunning transaction\n  Updating   : xz-libs-5.2.2-2.el7_9.x86_64                                 1/4 \n  Updating   : xz-5.2.2-2.el7_9.x86_64                                      2/4 \n  Cleanup    : xz-5.2.2-1.el7.x86_64                                        3/4 \n  Cleanup    : xz-libs-5.2.2-1.el7.x86_64                                   4/4 \n  Verifying  : xz-libs-5.2.2-2.el7_9.x86_64                                 1/4 \n  Verifying  : xz-5.2.2-2.el7_9.x86_64                                      2/4 \n  Verifying  : xz-libs-5.2.2-1.el7.x86_64                                   3/4 \n  Verifying  : xz-5.2.2-1.el7.x86_64                                        4/4 \n\nUpdated:\n  xz.x86_64 0:5.2.2-2.el7_9            xz-libs.x86_64 0:5.2.2-2.el7_9           \n\nComplete!\n"
        ]
    }
}

PLAY RECAP **********************************************************************************************************************************************************************************************************************************
192.168.8.26               : ok=3    changed=1    unreachable=0    failed=0    skipped=3    rescued=0    ignored=0
text-processing ansible
  • 2 个回答
  • 359 Views
Martin Hope
OmiPenguin
Asked: 2021-09-23 02:57:39 +0800 CST

将 SSH 流量转发到远程服务器

  • 2

在我的 linux VM 上,我有两个 IP

192.168.11.88 192.168.11.99

我希望 8889 端口上来自 192.168.11.99 的 ssh 流量将流量转发到端口 22 上的远程服务器 172.16.5.80

如何使用 IPTables 实现这一点

谢谢


正如 FelixJN 所建议的那样。我使用了 IPtables 的 socat 实用程序,以下配置有效,流量转发到远程服务器。

[Unit]
Description=forwards local port 192.168.56.70:8889 to 192.168.56.70:22
After=multi-user.target

[Service]
ExecStart=/usr/bin/socat -lf /var/log/socat-ssh.log TCP-LISTEN:8889,fork,bind=192.168.56.71 TCP:192.168.56.70:22
Restart=On-Failure
RestartSec=5
User=root

[Install]
WantedBy=multi-user.target
iptables port-forwarding
  • 1 个回答
  • 288 Views
Martin Hope
OmiPenguin
Asked: 2019-07-31 00:33:44 +0800 CST

Ansible - 如何在输出中选择元素

  • -1

我是一周前刚开始接触 ansible 的新手。我在玩剧本和临时命令 我运行临时命令 ansible ansiblenodes -m setup -a "filter=ansible_mounts"

192.168.75.31 | SUCCESS => {
    "ansible_facts": {
        "ansible_mounts": [
            {
                "block_available": 217708,
                "block_size": 4096,
                "block_total": 259584,
                "block_used": 41876,
                "device": "/dev/sda1",
                "fstype": "xfs",
                "inode_available": 523952,
                "inode_total": 524288,
                "inode_used": 336,
                "mount": "/boot",
                "options": "rw,seclabel,relatime,attr2,inode64,noquota",
                "size_available": 891731968,
                "size_total": 1063256064,
                "uuid": "8a896a10-d8b0-4c95-9743-69b213b47f5a"
            },
            {
                "block_available": 2145829,
                "block_size": 4096,
                "block_total": 3273216,
                "block_used": 1127387,
                "device": "/dev/mapper/rhel-root",
                "fstype": "xfs",
                "inode_available": 6400742,
                "inode_total": 6551552,
                "inode_used": 150810,
                "mount": "/",
                "options": "rw,seclabel,relatime,attr2,inode64,noquota",
                "size_available": 8789315584,
                "size_total": 13407092736,
                "uuid": "9fe9a7c9-613e-428d-b255-93f0006cf9ad"
            }
        ],
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false
}

现在,如果我想编写一本剧本,我应该如何提及仅显示挂载点及其可用空间。

ansible
  • 1 个回答
  • 1350 Views
Martin Hope
OmiPenguin
Asked: 2018-07-30 03:29:39 +0800 CST

如何在 Solaris 10 系统范围内永久设置/更改限制

  • 0

我收到了来自 oracle 的电子邮件,要求更改 solaris 10 服务器的限制以使 oracle 应用程序正常工作,

不幸的是我没有 Solaris 的经验,所以需要帮助

值将如下所示

A00110 This rule verifies that the ulimit settings are adequate Oracle Database 11g R2. The recommended values are not less than: 
ulimit(TIME) = unlimited
ulimit(FILE) = unlimited
ulimit(DATA) = 1048576
Soft ulimit(NOFILES) = 1024
Hard ulimit(NOFILES) = 65536
ulimit(VMEMORY) = 4194304
and not more than 
Soft ulimit(STACK) = 10240
Hard ulimit(STACK) = 32768
VmemoryNotDefined 
StackHardUnlimited Review the ulimit settings: 
Set the hard ulimit(STACK) to a maximum of 32768 
ulimit(VMEMORY) is not defined
solaris ulimit
  • 1 个回答
  • 4469 Views
Martin Hope
OmiPenguin
Asked: 2018-02-09 00:15:25 +0800 CST

AWK 不同的结果

  • 0

我正在搜索基于 Ips amd 进程的打开文件列表。我用下面的命令

    for i in `sudo netstat -tulpna|awk '{print $5}'|grep -E "[0-9]{3}"|grep -v "^192\|10"|cut -f1 -d ":"`;do sudo netstat -tulpna|awk '/XXX.XXX.XXX.XXX/ {print $7}';done
    26181/java
26181/java
26181/java
26181/java
26181/java
26181/java
26181/java
26181/java
26181/java
26181/java
26181/java
26181/java

如果我添加单引号并且在 awk 条件下 /XXX.XXX.XXX.XXX/ 我给出静态值,它将打印第 7 列,则工作正常

但是如果我使用双引号和 /$i/ 变量

for i in `sudo netstat -tulpna|awk '{print $5}'|grep -E "[0-9]{3}"|grep -v "^192\|10"|cut -f1 -d ":"`;do sudo netstat -tulpna|awk "/$i/ {print $7}";done
tcp        0      0 XXX.XXX.XXX.XXX:443            XXX.XXX.XXX.XXX:62778          ESTABLISHED 26181/java
tcp        0      0 XXX.XXX.XXX.XXX:443            XXX.XXX.XXX.XXX:35708         ESTABLISHED 26181/java
tcp        0      0 XXX.XXX.XXX.XXX:443            XXX.XXX.XXX.XXX:40920         ESTABLISHED 26181/java
tcp        0      0 XXX.XXX.XXX.XXX:443            XXX.XXX.XXX.XXX:40918         ESTABLISHED 26181/java
tcp        0      0 XXX.XXX.XXX.XXX:443            XXX.XXX.XXX.XXX:31211         ESTABLISHED 26181/java
tcp        0      0 XXX.XXX.XXX.XXX:443            XXX.XXX.XXX.XXX:35708         ESTABLISHED 26181/java
tcp        0      0 XXX.XXX.XXX.XXX:443            XXX.XXX.XXX.XXX:40920         ESTABLISHED 26181/java
tcp        0      0 XXX.XXX.XXX.XXX:443            XXX.XXX.XXX.XXX:40918         ESTABLISHED 26181/java
tcp        0      0 XXX.XXX.XXX.XXX:443            XXX.XXX.XXX.XXX:31211         ESTABLISHED 26181/java
tcp        0      0 XXX.XXX.XXX.XXX:443            XXX.XXX.XXX.XXX:35708         ESTABLISHED 26181/java
tcp        0      0 XXX.XXX.XXX.XXX:443            XXX.XXX.XXX.XXX:40920         ESTABLISHED 26181/java
tcp        0      0 XXX.XXX.XXX.XXX:443            XXX.XXX.XXX.XXX:40918         ESTABLISHED 26181/java
tcp        0      0 XXX.XXX.XXX.XXX:443            XXX.XXX.XXX.XXX:31211         ESTABLISHED 26181/java
tcp        0      0 XXX.XXX.XXX.XXX:443            XXX.XXX.XXX.XXX:35708         ESTABLISHED 26181/java
tcp        0      0 XXX.XXX.XXX.XXX:443            XXX.XXX.XXX.XXX:40920         ESTABLISHED 26181/java
tcp        0      0 XXX.XXX.XXX.XXX:443            XXX.XXX.XXX.XXX:40918         ESTABLISHED 26181/java
tcp        0      0 XXX.XXX.XXX.XXX:443            XXX.XXX.XXX.XXX:31211         ESTABLISHED 26181/java

当它应该只打印第 7 列时。我在这里缺少什么

rhel awk
  • 2 个回答
  • 130 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve