当前位置: 首页 > 知识库问答 >
问题:

Ansible playbook“找不到src中指定的路径”

吕钧
2023-03-14

当我这样做时,我正在运行这条消息:

ansible-playbook -i inventory junos_config_new.yml --check -vvv

Playbook:junos_config_new.yml

这是我的剧本...

    name: Juniper SRX configuration compliance checks 
    hosts: juniper
    gather_facts: false
    connection: local
       tasks:
         - name: Syslog server checks 
           junos_config:
                 src: ~/ansible_junos/files/syslog_config.txt
             comment: Ensure that appropriate Syslog server configured 
           register: junos_output
         - debug:
             var: junos_output

         - name: success
             debug:
               msg: Syslog server check - This check has passed with the following output({{ junos_output }})
               when: not junos_output.changed 

         - name: failed
            debug:
              msg: Syslog server check - This check has failed with the following output({{ junos_output }})
             when: junos_output.changed 

         - name: Admin credentials check
            junos_config:
                   src: ~/ansible_junos/files/admin_user.txt
               comment: Ensure that Admin user havee been created
            register: junos_output
         - debug:
              var: junos_output

         - name: success
               debug:
                 msg: Admin credentials check - This check has passed with the following output({{ junos_output }})
                when: not junos_output.changed 

         - name: failed
              debug:
                msg: Admin credentials check - This check has failed with the following output({{ junos_output }})
               when: junos_output.changed 

目录~/ansible_junos/files/syslog_config.txt位于正确的位置~/ansible_junos/files/应该是放置所有要与防火墙进行比较的配置的正确位置吗?

请让我知道。

共有1个答案

阎俊英
2023-03-14

这是因为~是一个bash特性,而不是一个实际的路径组件;shell扩展~表示当前用户(或直接以~命名的用户)的主目录,但是,ansible模块必须使用expandUser这样做。

您可以尝试通过expanduser筛选器发送文件名,或者您可能必须使用gather_facts:true才能访问ansible_env.home

     - set_fact:
         config_directory: '{{ "~/ansible_junos/files" | expanduser }}'
     - name: Syslog server checks 
       junos_config:
         src: '{{ config_directory }}/syslog_config.txt'
         comment: Ensure that appropriate Syslog server configured 
       register: junos_output
 类似资料:
  • 我得到以下Tomcat错误: 发布到Tomcat v8.5 Server atlocalhost...遇到问题。发布失败并出现多个错误。 细节: 发布失败,出现多个错误 找不到文件:C:\Users…\HerramentationLogica\target\m2e wtp\web资源\META-INF\MANIFEST.MF。 未找到文件:C:\Users…\HerramentationLogic

  • 我已经编写了一个基本的jsp代码,用于存储和检索数据库中的数据。在此之前,我正在检查用户验证。 当我点击提交按钮时,它将重定向到我的jsp页面。 我已经写了一个数据库。属性文件分开。 当我给出了读取属性文件的完整路径时。,程序执行正常。(这不是像下面这样硬代码的最佳方式)。 FileInputStream in=new FileInputStream("C:\Program Files\Apach

  • 1)当我打开新的CMD(Win R= 2) 当我执行一些命令时,如cmd/C dir(或cmd/C php-v)或其他命令(第2行) 3)(最讨厌的)当我运行函数从PHP或Node.js或可能任何脚本语言。( 1) 当我直接从cmd(或mingw,…)执行命令时 让我们从cmd的简单命令开始。 php-r“exec('dir',$stdout,$stderr);print(内爆(\”\n\“,$s

  • 我以管理员权限运行命令提示符卸载我电脑上的Ananconda,在此过程之后,我重新打开cmd,发现cmd开头有一行“系统找不到指定的路径”。 我可以保证我的cmd以前没有这一行,我该如何修复它?这是我应该注意的严重错误吗? 非常感谢。 “系统找不到指定的路径。”

  • 按照http://maven.apache.org/download.cgi上的所有说明操作 Java版本:1.7.0_03,供应商:Oracle Corporation Java Home:C:\程序文件\Java\jdk1.7.0_03\jre 默认区域设置:en_US,平台编码:Cp1252 操作系统名称:“Windows 7”,版本:“6.1”,arch:“AMD64”,系列:“Windo