Ansible stat Module: Check File Properties and Existence (Complete Guide)
By Luca Berton · Published 2024-01-01 · Category: file-operations
How to use Ansible stat module to check if files exist, get file size, permissions, checksums. Complete guide with playbook examples for file validation.
Ansible stat Module: Check File Properties and Existence (Complete Guide)
The ansible.builtin.stat module retrieve file or filesystem status. This guide covers all common use cases with practical playbook examples.
Check if a File Exists
Get File Properties
Verify File Checksum
Check if Path is a Directory
Check File Age
Common stat Fields
The stat result contains these useful fields: • stat.exists — whether the path exists • stat.isdir — is it a directory • stat.isreg — is it a regular file • stat.islnk — is it a symbolic link • stat.size — file size in bytes • stat.uid / stat.gid — owner/group IDs • stat.pw_name / stat.gr_name — owner/group names • stat.mode — permissions (e.g., "0644") • stat.checksum — file checksum (when requested) • stat.mtime — last modified time (epoch) • stat.atime — last access time (epoch)
FAQ
How do I check if a file exists in Ansible?
Use ansible.builtin.stat with register, then check result.stat.exists in a when conditional. This is the idempotent way to conditionally create or modify files.
What is the difference between stat and file modules?
The stat module reads file information without changing anything. The file module creates, modifies, or deletes filesystem objects. Use stat for checks, file for changes.
How do I get a file checksum in Ansible?
Use ansible.builtin.stat with checksum_algorithm: sha256 (or md5, sha1). Access the result via result.stat.checksum.
Conclusion
The ansible.builtin.stat module is a versatile tool for retrieve file or filesystem status. Use the examples above as starting points and adapt them to your infrastructure needs.
Related Articles • Ansible file Module: Manage Files and Directories • Ansible find Module: Search for Files
Category: file-operations