标签:etc shel creat 软件 私钥 管控 相关 dir ssh
项目:代码发布系统
实现功能: 发布代码
python开发的一款开源工具
批量到执行远程主机命令
yum install ansible -y
rpm -ql ansible
ansible # 用来执行ansible的一些命令
ansible-doc #用来查看ansible的模块的帮助信息
ansible-playbook #用来执行playbook
ansible-galaxy #用来下载第三方的playbook
ansible <host-pattern> [options]
-a MODULE_ARGS #模块的参数
-C, --check #测试,干跑
-f FORKS #指定并发数
--list-hosts #列出host-pattern主机
--syntax-check #语法检查
-m MODULE_NAME, #指定模块
ssh-keygen
ssh-copy-id 192.168.19.9
ansible all -m ping #跟系统自带的ping不一样
ansible web -m command -a 'pwd'
ansible web -a 'chdir=/tmp pwd' #切换到/tmp并执行pwd
ansible web -a 'creates=/etc/ mkdir /data2' #判断creates是否存在,真就忽略后面的操作
ansible web -a 'removes=/tmp/data mkdir /tmp/data2' #判断removes是否存在,假就忽略后面的操作
tail -1 /etc/shadow 查看最后一个用户
echo 'test1'|passwd --stdin test1 设置用户密码,不需要二次确认
Usage: ansible-doc [-l|-F|-s] [options] [-t <plugin type> ] [plugin]
-a #列出所有的模块
-l #列出ansible的模块
-s #片段式显示模块的信息
# 列出模块的详细信息
ansible web -m shell -a 'echo "test1"|passwd --stdin test1' #修改密码
ansible 192.168.19.9 -m shell -a '/root/a.sh' #指定远程主机上的shell脚本
ansible 192.168.19.9 -m shell -a '/root/a.py' #指定远程主机上的python文件
ansible all -m script -a '/root/a.sh' #执行管控机上的shell脚本
ansible web -m copy -a 'src=/etc/fstab dest=/data/fst' #src指定源文件 dest指定目标文件
ansible web -m copy -a 'src=/etc/fstab dest=/data/fst backup=yes' #backup备份
ansible web -m copy -a 'src=/etc/init.d dest=/data/' #复制目录和目录下的文件到远程主机,远程主机也是一个文件夹
ansible web -m copy -a 'src=/etc/init.d/ dest=/data/' #复制目录下的文件
ansible web -m copy -a 'src=/etc/fstab dest=/data/fst backup=yes mode=600' #mode 指定权限,owner指定文件的属主,group用来指定属组
ansible db -m file -a 'path=/data10 state=directory' #path指定地址,state=directory表示创建文件夹
ansible db -m file -a 'path=/data10/test1 state=touch' #state=touch 表示创建新文件
ansible db -m file -a 'path=/data10/test10 src=/data10/test1 state=link' #src表示源文件,path是不是目标,state=link是不是创建一个软连接
ansible db -m file -a 'path=/data10/test1 state=absent' #state=absent 代表删除
ln 创建硬链接 链接文件变更,源文件不变
ln -s 创建软连接 链接文件变更,源文件变
ansible db -m fetch -a 'src=/etc/fstab dest=/tmp' #src源地址(在被控机器上),dest目标地址(管控机上的地址)每个管控机的文件都生成了一个目录,会保持文件的原来目录结构
[name] #分组
name=CentOS-$releasever - Base - mirrors.aliyun.com #这个分组的名字
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/ #分组的url,叫baseurl
http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=0 # gpgcheck=1需要验证key文件,gpgcheck=0不验证key
enabled=1 #enabled=1 表示分组可用,enabled=0表示分组是不可用的
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 #key文件
ansible web -m yum -a 'name=nginx state=installed' # 安装nginx
ansible web -m shell -a 'rpm -qa|grep nginx' #查看nginx是不是安装成功
ansible web -m yum -a 'name=nginx state=absent' #卸载nginx
ansible web -m pip -a 'name=Django==1.11.15' # 安装django
pip freeze > file #给当前的python模块做快照
pip install [options] -r <requirements file> 安装
pip list #查看当前python安装的所有模块
标签:etc shel creat 软件 私钥 管控 相关 dir ssh
原文地址:https://www.cnblogs.com/sunxiuwen/p/10243594.html