Dosya modülü şu amaçlar için kullanılabilir:
Bir dosyanın veya dizinin mevcut olup olmadığının sağlanması.
Dosya izinlerini ve sahipliğini değiştirme.
Sembolik ve somut bağlantılar yaratmak.
Bir dosyaya dokunmak (değiştirme zamanını güncellemek).
Bu yazımızda file modülünün gerçek dünyadaki kullanım durumlarını pratik örneklerle ele alacağız.
Ansible Dosya Modülünün temel sözdizimi
Örneklere geçmeden önce, dosya modülünün sözdizimini anlamak önemlidir. İşte genel bir bakış:
- name: Manage file or directory
ansible.builtin.file:
path: /path/to/file_or_directory
state: [absent|directory|file|touch|link|hard|mounted]
mode: '0644'
owner: username
group: groupname
Parametreler:
path: Bu, yönetmek istediğiniz dosyanın veya dizinin konumunu belirtir.state: Dosya veya dizinin istenen durumunu tanımlar. En yaygın değerler şunlardır:mode: Dosya veya dizin için izinleri tanımlar (örneğin, dizinler için 0755).owner and group: Dosya veya dizinin sahibi olan kullanıcıyı ve grubu tanımlayın.
Ansible Dosya Modülü kullanarak bir dizin oluşturma
Doğru izinlere sahip dizinler oluşturmak, Ansible playbooklarında yaygın bir görevdir. Dosya modülünü kullanarak bir dizin oluşturmak için state: directory seçeneğini kullanabilirsiniz.
/tmp/new_directory dizininde bir dizin oluşturmak için örnek bir kılavuz:
- name: Create a directory
ansible.builtin.file:
path: /tmp/new_directory
state: directory
mode: '0755'
Her parametrenin kısa bir açıklaması şöyledir:
path: Dizinin oluşturulacağı konumu belirtir.state: directory: Yolun bir dizin olmasını sağlar.mode: Dizinin izinlerini 0755 olarak ayarlar ve sahibine okuma, yazma ve yürütme izinleri, gruba ve diğerlerine ise okuma ve yürütme izinleri verir.
Bir dosyanın izinlerini değiştirme
Dosya izinlerini değiştirmek de yaygın bir işlemdir. Mevcut bir dosyanın izinlerini değiştirmek için dosya modülünü kullanabilirsiniz; bunun için mod parametresini belirtebilirsiniz.
- name: Change file permissions
ansible.builtin.file:
path: /tmp/sample_file.txt
mode: '0644'
İşte açıklaması:
path: İzinleri değiştirilecek dosyayı belirtir.mode: Dosyanın izinlerini 0644 olarak değiştirir, bu da sahibinin okuma ve yazma yetkisine sahip olmasını sağlarken, diğerlerinin yalnızca okuma yetkisine sahip olmasını sağlar.
Dosya ve dizinleri kaldırma
Otomasyon sürecinizin bir parçası olarak bazen dosya veya dizinleri kaldırmanız gerekebilir. Dosya modülü, state: absent seçeneğini kullanarak bunu kolaylaştırır.
Örnek 1: Bir dosyayı kaldırma
- name: Remove a file
ansible.builtin.file:
path: /tmp/sample_file.txt
state: absent
Yukarıdaki playbook dökümü şöyledir:
path: Kaldırılacak dosyanın konumunu belirtir.state: absent: Eğer dosya varsa silinmesini sağlar.
Örnek 2: Bir dizini kaldırma
- name: Remove a directory
ansible.builtin.file:
path: /tmp/new_directory
state: absent
Yukarıdaki oyun kitabının kısa bir açıklaması aşağıda gösterilmiştir:
path: Specifies the location of the directory to be removed.state: absent: Ensures the directory is deleted if it exists.
Dosya Sahipliğini Değiştirme
Dosya sahipliği, çok kullanıcılı bir ortamda dosyaları yönetmenin bir diğer önemli unsurudur. Dosya modülünü kullanarak, sahip ve grup parametrelerini belirterek dosya ve dizinlerin sahipliğini değiştirebilirsiniz.
- name: Change file ownership
ansible.builtin.file:
path: /tmp/sample_file.txt
owner: new_user
group: new_group
Her parametreyi inceleyelim:
path: Sahipliğini değiştirmek istediğiniz dosyanın konumunu belirtir.owner: Dosyanın sahibini new_user olarak değiştirir.group: Dosyanın grubunu new_group olarak değiştirir.
Sembolik Bağlantılar Oluşturma
Sembolik bağlantılar (sembolik bağlantılar), dosya veya dizinlere referans oluşturmanın kullanışlı bir yoludur. Dosya modülünü kullanarak, durum: bağlantı belirterek sembolik bağlantılar oluşturabilirsiniz.
- name: Create a symbolic link
ansible.builtin.file:
src: /tmp/sample_file.txt
dest: /tmp/sample_symlink.txt
state: link
Yukarıdaki playbook açıklaması şöyledir:
src: Sembolik bağlantının işaret edeceği kaynak dosya.dest: Sembolik bağlantının oluşturulacağı yer.state: link: Sembolik bir bağlantının oluşturulması gerektiğini belirtir.
Yazının orijinalini buradan okuyabilirsiniz.

Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.