gpt4 book ai didi

linux - ansible 剧本无法继续,因为 `tar` 由于 `file change as we read` 而失败

转载 作者:太空狗 更新时间:2023-10-29 12:28:20 24 4
gpt4 key购买 nike

我正在运行一个 ansible-playbook,它正在运行 tar 命令来压缩一个目录。以下是 ansible 任务。

  - name: tar the old code
command: tar -czf {{ansible_date_time.date}}.tar.gz /home/ubuntu/my-folder

上面给出了下面的错误。

"warnings": use unarchive module rather than running tar stderr: tar: Removing leading '/' from member names tar: /home/ubuntu/my-folder/xyz.log: file change as we read it

我也尝试使用选项 --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 模块可以解压目录。

最佳答案

当 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

关于linux - ansible 剧本无法继续,因为 `tar` 由于 `file change as we read` 而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35023608/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com