我需要将一个文件复制到许多服务器中,然后在复制后执行特定命令。以下是我需要为每台机器执行的步骤。
- 将文件复制到服务器。
sudo restart tree
复制后执行命令 ( )。- 睡几秒
并对所有机器重复上述步骤。
所以我决定为此使用ansible。我可以复制文件,但我不确定如何在复制后执行命令然后休眠。
我有一个hosts.txt
文件,它将逐行包含所有机器。
我将登录到machineA
哪个将有我的function.py
文件和hosts.txt
文件,并从那台机器上运行下面的ansible
命令。
david@machineA:~$ ansible -i hosts.txt -m copy -a "src=function.py dest=/treepot/function.py owner=goldy" -u david --ask-pass --sudo -U root --ask-sudo-pass all
使用上述命令,它将复制 function.py 文件,但我想sudo restart tree
在每个服务器上复制该文件后执行命令。所以基本上
- 将文件复制到机器 B.
- 然后执行命令(sudo restart tree)
- 在那之后睡眠几秒钟,然后对其他机器做同样的事情
我可以使用 ansible 来做到这一点吗?我正在运行 ansible 1.5.4。