Überprüfen des erfolgreichen Dateitransfers
Nachdem Sie das copy
-Modul verwendet haben, um Dateien zu übertragen, ist es wichtig zu überprüfen, ob der Dateitransfer erfolgreich war. Ansible bietet mehrere Möglichkeiten, um die Integrität und Korrektheit der kopierten Dateien sicherzustellen.
Überprüfen der Dateiexistenz
Der einfachste Weg, um einen erfolgreichen Dateitransfer zu überprüfen, besteht darin, zu prüfen, ob die Zieldatei auf dem Remotehost existiert. Sie können das stat
-Modul in Ansible verwenden, um Informationen über die Remote-Datei abzurufen, einschließlich ihrer Existenz.
- hosts: all
tasks:
- name: Copy file to remote host
copy:
src: /path/to/local/file.txt
dest: /path/to/remote/file.txt
- name: Verify file existence
stat:
path: /path/to/remote/file.txt
register: remote_file
- debug:
msg: "File transfer successful"
when: remote_file.stat.exists
In diesem Beispiel wird das stat
-Modul verwendet, um zu prüfen, ob die Remote-Datei existiert. Wenn die Eigenschaft stat.exists
true
ist, wird der Dateitransfer als erfolgreich angesehen.
Vergleich der Datei-Checksummen
Um die Integrität der kopierten Datei sicherzustellen, können Sie die Checksumme der lokalen Datei mit der Checksumme der Remote-Datei vergleichen. Dies hilft, zu überprüfen, ob die Datei ohne Beschädigung übertragen wurde.
- hosts: all
tasks:
- name: Copy file to remote host
copy:
src: /path/to/local/file.txt
dest: /path/to/remote/file.txt
- name: Get local file checksum
stat:
path: /path/to/local/file.txt
register: local_file
- name: Get remote file checksum
stat:
path: /path/to/remote/file.txt
register: remote_file
- debug:
msg: "File transfer successful"
when: local_file.stat.checksum == remote_file.stat.checksum
In diesem Beispiel wird das stat
-Modul verwendet, um die Checksumme sowohl der lokalen als auch der Remote-Datei abzurufen. Wenn die Checksummen übereinstimmen, wird der Dateitransfer als erfolgreich angesehen.
Durch die Überprüfung der Existenz und Integrität der kopierten Dateien können Sie sicherstellen, dass der Dateitransferprozess erfolgreich abgeschlossen wurde und dass die Remote-Systeme die richtigen Dateien haben.