ansible简易版

2023-09-26 09:10:26 浏览数 (1)

ansible-simple

ansible简易版,是我日常工作中经常使用到的批量执行命令和上传文件,参考了ansible工作模式,根据自己的情况定制了一个ansible-simple

依赖的第三方模块库

代码语言:javascript复制
shell> pip3 install paramiko  -i "http://mirrors.aliyun.com/pypi/simple" --trusted-host "mirrors.aliyun.com"

shell> pip3 install argparse  -i "http://mirrors.aliyun.com/pypi/simple" --trusted-host "mirrors.aliyun.com"

shell> pip3 install tqdm  -i "http://mirrors.aliyun.com/pypi/simple" --trusted-host "mirrors.aliyun.com"

使用介绍:

代码语言:javascript复制
# chmod 755 ansible-simple
# ./ansible-simple --help

usage: ansible-simple [-h] [-c] [-p ] inventory

ansible-simple简易版(默认按照CPU核数并发执行)

positional arguments:

inventory host.txt主机ip文件

optional arguments:

-h, --help show this help message and exit

-c , --cmd 输入执行的命令,多个命令用;分号分割

-p , --mput sftp上传目录文件 [本地路径] [远程路径]

1)host.txt文件格式如下:

ip:ssh端口,用户名,密码(端口不能省,必须加上)

代码语言:javascript复制
shell> cat host.txt

192.168.137.131:22,hechunyang,123456

如果想设置连续多个ip机器列表,加一个横杠,如下:

192.168.137.131-150:22,hechunyang,123456

2)支持上传文件和目录

代码语言:javascript复制
shell> ./ansible-simple host.txt -p '/root/soft' '/tmp/soft/'

将本地/root/soft文件夹上传至远程主机/tmp/soft/目录下

3) 执行远程主机Linux命令

代码语言:javascript复制
shell> ./ansible-simple host.txt -c 'df -hT;date'

批量创建用户修改密码
代码语言:javascript复制
shell> ./ansible-simple host.txt -c 'useradd hechunyang;echo "123456" | passwd --stdin hechunyang;echo "hechunyang    ALL=(ALL)NOPASSWD: ALL" >> /etc/sudoers'
注:工具适用于Centos7 系统。

0 人点赞