- با استفاده از این ماژول میتوان مدیریت و کنترل بر روی پروندهها یا پوشهها داشت.
- به عنوان مثال کد زیر باعث میشود تا :
- سطح دسترسی، owner و group پروندهای با نام foo.conf تغییر یابد.
---
- name: PlayBook
hosts: centos-servers
gather_facts: no
tasks:
- name: Change file ownership, group and permissions
file:
path: /etc/foo.conf
owner: sshd
group: sshd
mode: '0644'
...
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
# ansible-playbook playbook.yaml
- در صورتی که کد بالا به صورت موفقیت آمیز اجرا شده باشد، خروجیای مشابه زیر دریافت خواهید کرد :
PLAY [PlayBook] ****************************************************************************************************************************************************
TASK [Change file ownership, group and permissions] ****************************************************************************************************************
ok: [172.16.0.245]
PLAY RECAP *********************************************************************************************************************************************************
172.16.0.245 : ok=1 changed=0 unreachable=0 failed=0
- به عنوان مثال کد زیر باعث میشود تا :
- ابتدا یک Symbolic Link از پروندهی passwd ساخته شود.
- سپس سازنده و گروه سازندهی آن به کاربر centos تغییر یابد.
---
- name: PlayBook
hosts: centos-servers
gather_facts: no
tasks:
- name: Create a symbolic link
file:
src: /etc/passwd
dest: /tmp/passwd.symlink
owner: centos
group: centos
state: link
...
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
# ansible-playbook playbook.yaml
- در صورتی که کد بالا به صورت موفقیت آمیز اجرا شده باشد، خروجیای مشابه زیر دریافت خواهید کرد :
PLAY [PlayBook] ****************************************************************************************************************************************************
TASK [Create a symbolic link] **************************************************************************************************************************************
changed: [172.16.0.245]
PLAY RECAP *********************************************************************************************************************************************************
172.16.0.245 : ok=1 changed=1 unreachable=0 failed=0
- به عنوان مثال کد زیر باعث میشود تا :
- ابتدا پروندهای با نام foo.conf ایجاد شود.
- سپس سطح دسترسی آن به روش Symbolic Mode تغییر یابد.
---
- name: PlayBook
hosts: centos-servers
gather_facts: no
tasks:
- name: Touch a file, using symbolic modes to set the permissions (equivalent to 0644)
file:
path: /etc/foo.conf
state: touch
mode: u=rw,g=r,o=r
...
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
# ansible-playbook playbook.yaml
- به عنوان مثال کد زیر باعث میشود تا :
- ابتدا یک پوشه با نام some_directory در مسیری مشخص ایجاد شود.
- سپس سطح دسترسی آن به 0755 تغییر یابد.
---
- name: PlayBook
hosts: centos-servers
gather_facts: no
tasks:
- name: Create a directory if it does not exist
file:
path: /etc/some_directory
state: directory
mode: '0755'
...
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
# ansible-playbook playbook.yaml
- به عنوان مثال کد زیر باعث میشود تا :
- پروندهای با نام foo.txt در مسیر مشخص شده پاک شود.
---
- name: PlayBook
hosts: centos-servers
gather_facts: no
tasks:
- name: Remove file (delete file)
file:
path: /etc/foo.txt
state: absent
...
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
# ansible-playbook playbook.yaml
- به منظور مطالعهی بیشتر لینکهای زیر پیشنهاد میشود :
https://docs.ansible.com/ansible/latest/modules/file_module.html
How to create files in Ansible
- آزمایش شده بر روی Ansible نسخهی 2.5.1
- آزمایش شده بر روی سیستم عامل Ubuntu 18.04