Ansible basic tutorials
- با استفاده از این ماژول میتوان پرونده یا پروندههایی در خادمهای تحت مدیریت ایجاد و آنها را مدیریت کرد.
- به عنوان مثال دستور زیر باعث میشود تا :
- پروندهی my_tools.conf در مسیر opt/ ایجاد شود.
# ansible all -m file -a "path=/opt/my_tools.conf state=touch"
- در صورتی که دستور بالا به صورت موفقیت آمیز اجرا شده باشد، خروجیای مشابه زیر دریافت خواهید کرد :
172.16.0.247 | SUCCESS => {
"changed": true,
"dest": "/opt/my_tools.conf",
"gid": 0,
"group": "root",
"mode": "0644",
"owner": "root",
"size": 0,
"state": "file",
"uid": 0
}
172.16.0.248 | SUCCESS => {
"changed": true,
"dest": "/opt/my_tools.conf",
"gid": 0,
"group": "root",
"mode": "0644",
"owner": "root",
"size": 0,
"state": "file",
"uid": 0
}
172.16.0.245 | SUCCESS => {
"changed": true,
"dest": "/opt/my_tools.conf",
"gid": 0,
"group": "root",
"mode": "0644",
"owner": "root",
"secontext": "unconfined_u:object_r:usr_t:s0",
"size": 0,
"state": "file",
"uid": 0
}
- نکته: با استفاده از پارامتر state مشخص کردیم که عمل ساخت پرونده توسط چه ابزاری صورت گیرد. در مثال بالا این ابزار touch انتخاب شده است، لذا انتظار میرود این ابزار بر روی تمام خادمهای تحت مدیریت موجود باشد.
- نکته: خاصیت ابزار touch این چنین است که اگر پروندهای از قبل وجود داشته باشد، در صورت ساخت مجدد آن پرونده توسط ابزار touch ، هیچ تغییراتی اعمال نشود. لذا در صورتی که پروندهی my_tools.conf از قبل وجود داشته باشد، ابزار touch تغییراتی بر روی آن اعمال نمیکند. (پرونده بدون هیچ تغییری رها میشود.)
- با استفاده از کلید apsent برای پارامتر state میتوان پرونده یا پوشهای مشخص را پاک کرد.
- به عنوان مثال دستور زیر باعث میشود تا :
- پروندهای با نام ansible.txt در مسیر opt/ پاک شود.
# ansible -i hosts.list debian-servers -m file -a "path=/opt/test.txt state=absent"
- در صورتی که دستور بالا به صورت موفقیت آمیز اجرا شده باشد، خروجیای مشابه زیر دریافت خواهید کرد :
172.16.0.247 | SUCCESS => {
"changed": true,
"path": "/opt/test.txt",
"state": "absent"
}
- نکته: در صورتی که در جلوی پارامتر path به یک پوشه اشاره شود، آن پوشه به طور کامل حذف میشود.
- برای مطالعه بیشتر در خصوص این ماژول به آدرس اینترنتی زیر مراجعه کنید :
https://docs.ansible.com/ansible/latest/modules/file_module.html
- همچنین برای مطالعه بییشتر در خصوص این ماژول، میتوان از دستور ansible-doc استفاده نمود.
- آزمایش شده بر روی Ansible نسخهی 2.5.1
- آزمایش شده بر روی سیستم عامل Ubuntu 18.04