ansible.builtin.mv
时间: 2024-05-11 11:13:03 浏览: 285
ansible.builtin.mv是一个Ansible模块,用于将文件或目录从一个位置移动到另一个位置。它类似于Linux命令mv,但可以在远程主机上使用。
该模块需要指定源文件或目录的路径和目标路径,可以选择性地指定文件权限、所有者和组。它还支持使用远程sudo或become权限来执行操作。
以下是一个示例playbook,演示如何使用ansible.builtin.mv模块将文件从一个位置移动到另一个位置:
```
- name: Move file
ansible.builtin.mv:
src: /path/to/source/file
dest: /path/to/destination/file
mode: '0644'
owner: user
group: group
remote_src: yes
```
相关问题
ansible.builtin
### Ansible.builtin 模块概述
`ansible.builtin` 是 Ansible 中的一个命名空间,用于组织和分类模块。它包含了大量常用的模块,这些模块被设计为跨平台支持的标准工具集[^1]。
#### 命名空间的作用
Ansible 的模块命名空间机制允许开发者将功能分组以便于管理和维护。`ansible.builtin` 提供了一套核心模块集合,适用于大多数常见的自动化任务。例如 `ansible.builtin.file`, `ansible.builtin.copy`, 和 `ansible.builtin.shell` 都属于此类别[^2]。
---
### 使用方法
通过 `-m` 参数指定模块名称即可调用 `ansible.builtin` 下的任意模块。以下是具体语法:
```bash
$ ansible <目标主机或组> -m ansible.builtin.<模块名> [-a "<参数列表>"]
```
其中 `<模块名>` 可以替换为你需要使用的任何内置模块名称,而 `-a` 后面则提供该模块所需的额外参数。
#### 示例 1: 调用 shell 模块执行命令
如果希望远程运行一条简单的 Shell 命令,则可以这样操作:
```bash
$ ansible raleigh -m ansible.builtin.shell -a 'echo $TERM'
```
此命令将在名为 "raleigh" 的所有节点上打印当前终端类型变量 `$TERM` 的值[^1]。
#### 示例 2: 获取系统设置详情 (setup 模块)
为了收集有关目标机器的事实数据(facts),可利用 setup 模块来完成这一需求:
```bash
$ ansible your_host_or_group -m ansible.builtin.setup -a "filter=ansible_memory_mb"
```
这条语句会筛选出与内存大小相关的事实信息,并返回给用户查看[^3]。
#### 示例 3: 定时任务安排 (at 模块)
下面展示如何创建一个延迟一小时后才会被执行的任务实例:
```yaml
- name: 使用 at 模块执行命令
ansible.builtin.at:
command: "echo 'Hello, world' > /tmp/hello.txt"
count: 1
units: hours
value: 1
job_file: /tmp/at_job.txt
```
这段 YAML 片段定义了一个 Playbook 条目,用来向受控设备提交一个新的后台作业文件 `/tmp/at_job.txt` ,里面保存着即将在未来某个时刻触发的动作描述字符串 `"echo 'Hello, world' > /tmp/hello.txt"` 。整个过程预计耗时一个小时才正式启动[^4]。
---
### 注意事项
尽管许多传统意义上的 “标准” 功能都被迁移到了新的 `ansible.builtin.*` 结构下,但仍有部分特定操作系统专属的功能保留原样或者转移到其他子包里比如 `ansible.posix.*` 系列。因此,在实际部署过程中需留意区分两者适用范围的不同之处[^2]。
---
[root@ansible ansible_playbook]# ansible-playbook -C rsync.yaml ERROR! this task 'copy' has extra params, which is only allowed in the following modules: ansible.builtin.raw, ansible.legacy.add_host, ansible.builtin.meta, ansible.legacy.include, ansible.legacy.import_role, script, ansible.legacy.raw, group_by, ansible.builtin.shell, ansible.legacy.win_command, include, shell, include_vars, ansible.builtin.import_tasks, add_host, ansible.builtin.include_vars, ansible.legacy.include_role, ansible.builtin.include_role, ansible.legacy.include_vars, ansible.legacy.win_shell, ansible.legacy.group_by, import_tasks, ansible.builtin.set_fact, ansible.builtin.command, ansible.builtin.include_tasks, include_tasks, ansible.builtin.script, ansible.builtin.include, raw, meta, ansible.legacy.set_fact, ansible.builtin.add_host, ansible.legacy.script, ansible.legacy.import_tasks, win_command, ansible.builtin.win_shell, include_role, win_shell, set_fact, ansible.legacy.shell, ansible.legacy.command, import_role, ansible.legacy.meta, ansible.builtin.import_role, ansible.legacy.include_tasks, ansible.builtin.group_by, ansible.builtin.win_command, command The error appears to be in '/etc/ansible/ansible_playbook/rsync.yaml': line 11, column 7, but may be elsewhere in the file depending on the exact syntax problem. The offending line appears to be: - name: create rsync local user ^ here
这个错误提示表明在'/etc/ansible/ansible_playbook/rsync.yaml'文件的第11行第7列附近存在错误。根据错误信息,问题出现在名为"create rsync local user"的任务上。这个任务可能使用了不被允许的额外参数。
根据Ansible的文档,只有特定的模块允许使用额外参数,如:ansible.builtin.raw、ansible.legacy.add_host、ansible.builtin.meta等。你需要检查该任务的参数,确保没有使用不被允许的额外参数。
阅读全文
相关推荐


















