使用外壳命令“mv”使用 ansible 将文件夹从一个移动到另一个

Tan*_*har 1 ansible ansible-playbook

我想使用下面的 Ansible 脚本将我的 workspace3 文件夹移动到 /usr/share 目录。但我无法移动它。

 - name: Move workspace3 directory to /usr/share/ Folder
   command: mv /tmp/workspace3/ /usr/share
Run Code Online (Sandbox Code Playgroud)

我也试过用 shell 模块

   shell: mv /tmp/workspace3 /usr/share
Run Code Online (Sandbox Code Playgroud)

我相信这是一个权限问题,我如何通过 ansible 定义权限?

Ava*_*lon 5

/usr/share 是 root 用户拥有的目录。为了在此目录中创建文件夹(或移动文件夹),您必须使用特权升级。这对ansible来说非常简单,只需在您的剧本中使用以下内容即可;

become: yes
Run Code Online (Sandbox Code Playgroud)

确保在运行 playbook 时使用 -K 标志,该标志会询问您 sudo 密码,假设您没有在 sudoers 文件中为该用户配置 NOPASSWD。“成为”使用的默认用户是 root。

文档:http : //docs.ansible.com/ansible/become.html