我目前遇到了使用 ansible 從我們的拇指快取中洗掉某些檔案的問題。經過大量的剪輯后,我收到了一個包含檔案名的串列,并且我正在運行以下 ansible 任務來查找和洗掉它們:
shell: find . -name {{ item }} -exec rm "{}" \;
args:
chdir: "{{ thumbor_data_path }}"
ignore_errors: true
loop:
- deletion_hash
when: file_url is defined and deletion_hash | length > 0
該串列肯定充滿了我知道存在的檔案的正確名稱,并且任務本身將自己標記為已更改,但檔案沒有被洗掉。檔案的名稱是 sha1 哈希,并且是兩個目錄深。shell腳本有問題嗎?
洗掉哈希串列示例:
"msg": [
"115b744b9f6b23bbad3b6181c858cb953136",
"f52f17b2cca937e5586751ff2e938979890b",
"1c39661a0925b3cdb3b524983aaf6cccd6ee",
"1afc79a9e0e3c07ff0e95e1af3b5cb7ae54c",
"424e9159fe652f47c8e01d0aa85a86fbefed",
"11e4994789f24537d6feea085d2bf39c355b",
"a1d2fe0e122d37555df4062d4c0a5d10b651",
"aef976fc897a87091be5a8d5a11698e19591",
"e79f3ee1e6ccb3caff288b0028e031d75d77",
"9448e5e49679c908263922debdffff68eecb",
"a3933be52277a341906751c3da2dfb07ccd8",
"bef3370862a7504f7857be396d5a3139f5c0",
"8cc0cbe847234af96c0463d49c258c85d50f",
"1e7bf6110dcf994d1270682939e14416fc6e",
"d21dae2c047895129e7c462f6ddc4e512a58",
"c107b29b3185171ec46b479352fab6c97ad2"
]
uj5u.com熱心網友回復:
您可以嘗試使用該file模塊;這帶有一個假設,即thumbor_data_path變數不以 a 結尾/;如果是這樣,您需要稍微修改一下。
- name: Remove file (delete file)
ansible.builtin.file:
path: "{{ thumbor_data_path }}/{{ item }}"
state: absent
loop: deletion_hash
when: file_url is defined and deletion_hash | length > 0
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/521139.html
標籤:linux壳可靠的
