我正在运行ansible-playbook
,它正在运行tar
命令来压缩目录。以下是ansible
任务。
- name: tar the old code
command: tar -czf {{ansible_date_time.date}}.tar.gz /home/ubuntu/my-folder
上面给出了以下错误。
"警告":使用unarchive模块而不是运行tar stderr:tar:删除前导' /'来自会员名称 tar:/home/ubuntu/my-folder/xyz.log:我们读取时文件更改
我还尝试使用选项--ignore-failed-read
,但它没有压缩目录,但成功运行了其余任务。
- name: tar the old code
command: tar -czf {{ansible_date_time.date}}.tar.gz /home/ubuntu/my-folder --ignore-failed-read
由于此任务介于其他任务之间,因此必须在此任务之后运行的任务失败。
ansible没有给模块代码tar。只有unarchive
模块可以解压缩目录。
答案 0 :(得分:1)
当tar命令在我们读取"文件时发生变化时,它将以1的返回码退出。问题,虽然我无法说出Ansible如何解释这一点,但我认为它会将任何非零返回码视为"失败。"我通过告诉Ansible重新定义它认为失败的东西来解决这个问题:
- name: tar the old code
command: tar -czf {{ansible_date_time.date}}.tar.gz /home/ubuntu/my-folder
register: tar_result
failed_when: tar_result.rc > 1