Để thực hiện một số thao tác cục bộ (không phải trên máy từ xa), tôi cần đặt nội dung của biến ansible bên trong một tệp tạm thời. Vui lòng lưu ý rằng tôi đang tìm một giải pháp đảm bảo việc tạo tệp tạm thời đến một vị trí có thể ghi nó (không có tên mã cứng) và cũng có thể xử lý việc xóa tệp vì chúng tôi không muốn để lại những thứ phía sau.Làm cách nào để lưu biến ansible vào tệp tạm thời được tự động xóa khi kết thúc quá trình thực thi playbook?
5
A
Trả lời
1
Thay vì làm điều đó bằng một tệp, tại sao không chỉ use the environment? Điều này wan bạn có thể dễ dàng làm việc với các biến và nó sẽ được sống thông qua các phiên ansible và bạn có thể dễ dàng lấy nó trong bất kỳ bước hoặc bên ngoài của họ.
1
Mặc dù sử dụng môi trường shell/ứng dụng có lẽ, nếu bạn đặc biệt muốn sử dụng một tập tin để lưu trữ dữ liệu biến bạn có thể làm một cái gì đó như thế này
- hosts: server1
tasks:
- shell: cat /etc/file.txt
register: some_data
- local_action: copy dest=/tmp/foo.txt content="{{some_data.stdout}}"
- hosts: localhost
tasks:
- set_fact: some_data="{{ lookup('file', '/tmp/foo.txt') }}"
- debug: var=some_data
Đối với yêu cầu của bạn để cung cấp cho các tập tin một tên duy nhất và làm sạch nó ở cuối vở kịch. Tôi sẽ để việc triển khai đó cho bạn
Các vấn đề liên quan
- 1. Làm cách nào để tạo các tập lệnh tự động xóa khi kết thúc quá trình thực thi?
- 2. Daemonizing một tệp thực thi trong ansible
- 3. Lưu tệp tạm thời
- 4. Lỗi khi chạy ansible-playbook
- 5. Lưu các tập lệnh shell tạm thời thay vì xóa
- 6. Dòng lệnh không đợi cho đến khi quá trình thực thi exe kết thúc
- 7. FileSystemWatcher kích hoạt trước khi tệp được lưu - làm cách nào để bạn "tạm dừng" quá trình này?
- 8. Quy trình lưu trữ Exec vào bảng tạm thời động
- 9. Tệp tạm thời Java và xóa tự động
- 10. Làm cách nào để khởi chạy một tệp thực thi khi kết thúc cài đặt chính xác?
- 11. biến ký trong vòng lặp with_items trong Ansible playbook
- 12. Tạm dừng thực thi cho đến khi Websocket kết nối
- 13. Playbook ansible để thực thi các lệnh từ shell của người dùng
- 14. Làm cách nào để thực thi thứ tự with_dict trong Ansible?
- 15. Làm cách nào để thực thi một tệp thực thi được nhúng dưới dạng tài nguyên
- 16. Làm thế nào để xóa các tập tin tạm thời tự động trong ruby-ray?
- 17. truy cập biến lưu trữ hàng tồn kho trong playbook ansible
- 18. Xóa các tệp tạm thời được tạo bởi pdf()
- 19. Tạo tập tin tạm thời và tự động xóa
- 20. ASP.NET - Lưu trữ các tệp tạm thời
- 21. Xóa các Tệp Tạm thời sau khi sử dụng
- 22. Quá trình không đồng bộ bắt đầu và đợi cho đến khi kết thúc
- 23. VBScript - Làm thế nào để làm cho chương trình đợi cho đến khi quá trình kết thúc?
- 24. Làm thế nào để biến "tự do" sau khi kết thúc chức năng?
- 25. Làm cách nào để có được một đường dẫn phù hợp để lưu trữ các tệp tạm thời?
- 26. ifstream.eof() - kết thúc tệp được truy cập trước khi kết thúc thực sự
- 27. mysql: Làm cách nào để xóa ký tự khi bắt đầu hoặc kết thúc trường
- 28. Các tham chiếu tạm thời có được tự động xóa trong Python không?
- 29. Ansible - cách kết nối nội dung tệp thành một biến
- 30. Làm thế nào để hiển thị chú giải công cụ baloon tạm thời trong quá trình xác thực đầu vào?
Tôi thấy bản thân mình sử dụng các tệp tạm thời khá nhiều vì tôi phải gọi các hàm lấy tệp làm đối số. Tôi phải đổ dữ liệu từ một biến hoặc mẫu vào một tệp tạm thời, sử dụng nó và sau đó dọn dẹp. Ansible thực sự có thể làm với một cách viết tắt cho điều đó. –
Thuật toán viết tắt có thể giống với thuật ngữ 'with' của Python, tạo ra một tài nguyên tự động bị xóa khi phạm vi đó đã hết hạn. Một phương thức khác chỉ áp dụng khi lệnh là lệnh shell là sử dụng các tệp bash ở đây: 'cat <(echo foo)' tạo tệp tạm thời, viết foo cho nó, sau đó hàm dòng lệnh, ở đây cat, được gọi đường dẫn tệp. Nhưng đó là chỉ cho vỏ và nó kinda đẩy vấn đề đi đến một ngôn ngữ mà điều trị các tập tin tạm thời là quan trọng và có giá trị. –