-
RHCE9.0 (点击查看课程介绍)
-
上课课时:72课时/12天+考试辅导1-2天
-
开班频率:2个月开一期
-
最新新班:7月27日 周末班
-
上课方式:面授/直播;提供随堂录播
ansible.builtin.file 模块用于管理文件和目录的属性。可以创建、删除文件或目录,修改文件权限、所有者等属性。
01 选项说明:
选项
必须
类型
默认值
说明
path
是
str
无
要管理的文件或目录的路径
state
否
str
无
状态或类型。可为 file,directory,absent,link 等
mode
否
str
无
权限,如 0644、0755 等
owner
否
str
无
所有者
group
否
str
无
属组
recurse
否
bool
no
是否递归更改目录及其内容的所有者、组和权限
src
否
str
无
用于创建符号链接时,指向源文件的路径
force
否
bool
no
在创建符号链接或硬链接时,如果目标已存在,是否强制替换
selevel
否
str
无
设置文件或目录的 SELinux 安全级别
serole
否
str
无
设置文件或目录的 SELinux 角色
setype
否
str
无
设置文件或目录的 SELinux 类型
seuser
否
str
无
设置文件或目录的 SELinux 用户
02 用例:
# 创建或修改一个文件的属主,属组及权限 - name: Change file ownership, group and permissions ansible.builtin.file: path: /etc/foo.conf owner: foo group: foo mode: '0644' # 创建一个目录 - name: Create a directory if it does not exist ansible.builtin.file: path: /etc/some_directory state: directory mode: '0755' # 创建一个带httpd_sys_content_t标签的目录 - name: Create the /webdev directory with SELinux label ansible.builtin.file: path: /webdev state: directory group: webdev setype: httpd_sys_content_t mode: '2775' # 递归修改目录属主和属组 - name: Recursively change ownership of a directory ansible.builtin.file: path: /etc/foo state: directory recurse: yes owner: foo group: foo # 创建一个连接文件 - name: Create a symbolic link ansible.builtin.file: src: /file/to/link/to dest: /path/to/symlink owner: foo group: foo state: link # 强制创建/更新link地址 - name: Force replace an existing symbolic link ansible.builtin.file: src: /etc/newsourcefile path: /etc/linkfile state: link force: yes # 更新修改和访问时间 - name: Update modification and access time of given file ansible.builtin.file: path: /etc/some_file state: file modification_time: now access_time: now # 更新文件访问时间 - name: Set access time based on seconds from epoch value ansible.builtin.file: path: /etc/another_file state: file access_time: '{{ "%Y%m%d%H%M.%S" | strftime(stat_var.stat.atime) }}' # 删除文件 - name: Remove file (delete file) ansible.builtin.file: path: /etc/foo.txt state: absent # 递归删除目录 - name: Recursively remove directory ansible.builtin.file: path: /etc/foo state: absent
往期相关文章推荐