无法归档目录

时间:2018-07-19 09:44:42

标签: ansible

这是代码的一部分:

- name: backup tomcat_jira_init.tar.gz
  archive:
    path: /etc/init.d/tomcat_jira
    dest: /home/alessio/Jira_Backup2/tomcat_jira_init.tar.gz

错误是:

  

任务[备份tomcat_jira_init.tar.gz] ****************************************** ****************************************************** **********************************************
  致命的:[节点1]:失败! => {“已更改”:false,“ module_stderr”:“与172.27.5.40的共享连接已关闭。\ r \ n”,“ module_stdout”:“跟踪(最近一次调用):\ r \ n文件\” / tmp /ansible_robzvq/ansible_module_archive.py \“,第486行,位于\ r \ n main()\ r \ n文件\” / tmp / ansible_robzvq / ansible_module_archive.py \“,第434行,位于main \ r \ n f_out = gzip中.open(dest,'wb')\ r \ n File \“ / usr / lib64 / python2.7 / gzip.py \”,位于open \ r \ n的第34行,返回GzipFile(文件名,模式,compresslevel)\ r \ n __init __ \ r \ n中的文件\“ / usr / lib64 / python2.7 / gzip.py \”,第94行fileobj = self.myfileobj = __builtin __。open(文件名,模式或“ rb”)\ r \ nIO错误:[Errno 2]没有这样的文件或目录:'/ home / alessio / Jira_Backup2 /'\ r \ n“,” msg“:”模块失败“,” rc“:1}           要重试,请使用:--limit @ / home / alessio / apache-basic-playbook / test3.retry

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您正在混淆本地模块和远程模块。请记住,Ansible从根本上构建了一个脚本,然后将其上传到远程计算机,然后在远程计算机上执行该脚本。请记住,路径和目标都引用远程计算机,而不是“控制器”计算机,这是有道理的。对于大多数模块,生成的脚本不知道它们是在其他位置生成并上传到目标计算机的。

您需要将文件存档到一个临时文件中,使用获取模块进行获取,然后在远端删除(或不删除)该临时存档。

- name: backup tomcat_jira_init.tar.gz
  archive:
    path: /etc/init.d/tomcat_jira
    dest: /tmp/tomcat_jira_init.tar.gz

- name: pull the aerchive from the remote machine
  fetch:
    src: /tmp/tomcat_jira_init.tar.gz
    dest: /home/alessio/Jira_Backup2/
    flat: yes

- name: (optionally) delete the temp archive at the remote end
  file:
    path: /tmp/tomcat_jira_init.tar.gz
    state: absent