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