gpt4 book ai didi

linux - Ansible:将一个唯一文件复制到组中的每个服务器

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:34:43 25 4
gpt4 key购买 nike

我有一系列编号的文件要由每个服务器单独处理。每个拆分文件使用 linux 拆分,然后 xz 压缩以节省传输时间。

split_001 split_002 split_003 ... split_030

如何使用 ansible 将这些文件推送到一组 30 台服务器?哪个服务器获取哪个文件并不重要,只要它们每个都有一个唯一的文件即可。

我曾使用过 bash 文件,但我正在寻找更好的解决方案。希望使用ansible。然后我打算运行一个 shell 命令来运行一个 at 命令来开始几个小时或几天的计算。

scp -oStrictHostKeyChecking=no bt_5869_001.xz usr13@<ip>:/data/
scp -oStrictHostKeyChecking=no bt_5869_002.xz usr13@<ip>:/data/
scp -oStrictHostKeyChecking=no bt_5869_003.xz usr13@<ip>:/data/
...

http://docs.ansible.com/ansible/copy_module.html

# copy file but iterate through each of the split files
- copy: src=/mine/split_001.xz dest=/data/split_001.xz
- copy: src=/mine/compute dest=/data/ owner=root mode=0755
- copy: src=/mine/start.sh dest=/data/ owner=root mode=0755
- shell: xz -d *.xz
- shell: at -f /data/start.sh now

最佳答案

例如:

  tasks:
- set_fact:
padded_host_index: "{{ '{0:03d}'.format(play_hosts.index(inventory_hostname)) }}"

- copy: src=/mine/split_{{ padded_host_index }}.xz dest=/data/

关于linux - Ansible:将一个唯一文件复制到组中的每个服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38415394/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com