Apa cara termudah untuk membuat file kosong menggunakan Ansible? Saya tahu saya dapat menyimpan file kosong ke dalam files
direktori dan kemudian menyalinnya ke host jarak jauh, tetapi saya merasa itu agak tidak memuaskan.
Cara lain adalah dengan menyentuh file di host jarak jauh:
- name: create fake 'nologin' shell
file: path=/etc/nologin state=touch owner=root group=sys mode=0555
Tapi kemudian file tersebut disentuh setiap kali, muncul sebagai garis kuning di log, yang juga tidak memuaskan ...
Apakah ada solusi yang lebih baik untuk masalah sederhana ini?
force: no
.Sesuatu seperti ini (menggunakan
stat
modul terlebih dahulu untuk mengumpulkan data tentangnya dan kemudian memfilter menggunakan kondisional) seharusnya berfungsi:Sebagai alternatif, Anda mungkin dapat memanfaatkan
changed_when
fungsionalitas tersebut.sumber
Opsi lain, menggunakan modul perintah:
Argumen 'create' memastikan bahwa tindakan ini tidak dilakukan jika file tersebut ada.
sumber
Berdasarkan jawaban yang diterima, jika Anda ingin file diperiksa izinnya pada setiap proses, dan ini berubah sesuai jika file tersebut ada, atau cukup buat file jika tidak ada, Anda dapat menggunakan yang berikut ini:
sumber
file: path=/etc/nologin state=touch
Sepadan penuh dengan sentuhan (baru di 1.4+) - gunakan stat jika Anda tidak ingin mengubah stempel waktu file.
sumber
file: path=/etc/nologin state=touch modification_time=preserve access_time=preserve
.modul file menyediakan cara untuk menyentuh file tanpa mengubah waktunya.
Referensi: https://docs.ansible.com/ansible/latest/modules/file_module.html
sumber
Ternyata saya tidak memiliki reputasi yang cukup untuk menempatkan ini sebagai komentar, yang akan menjadi tempat yang lebih tepat untuk ini:
Kembali. Jawaban AllBlackt, jika Anda lebih suka format multiline Ansible Anda perlu menyesuaikan kutipannya
state
(Saya menghabiskan beberapa menit mengerjakan ini, jadi semoga ini mempercepat orang lain),sumber
Untuk membuat file di mesin jarak jauh dengan perintah ad-hoc
Mohon koreksi saya jika saya salah
sumber
Diubah jika file tidak ada. Buat file kosong.
sumber
Kombinasi dua jawaban, dengan twist. Kode akan terdeteksi sebagai diubah, ketika file dibuat atau izin diperbarui.
dan versi yang juga mengoreksi pemilik dan grup serta mendeteksinya sebagai berubah saat memperbaiki ini:
sumber