ansible命令介绍
ansible命令介绍
ansible -i /etc/ansible/hosts test -u root -m command -a 'ls -lR /home' -k
/etc/ansible/host配置文件解说
ansible_ssh_user 用户指定用于管理远程主机的账号
ansible_ssh_host用户指定被管理的主机
ansible_ssh_port用于指定ssh的端口号
ansible_ssh_private_key_file指定key的文件
host_key_checking=False 当第一次连接远程主机时,会提示输入yes/no,跳过次环节
ansible-doc -l 查看支持模块
ansible-doc -s [模块名] 获得指定模块的帮助信息
ansible模块介绍
setup 搜集客户端的相关服务器信息
ping 测试网络连通性
file 设置文件的属性
force 需要在两种情况下强制创建软链接,一种是源文件不存在但是之后会创建的情况下;另一种 是目录软链接已经存在,需要先取消之前的软链接,然后创建新的软链接,有两个选项yes|no
group定义文件的数组
mode定义文件的权限
owner定义文件的属主
path必须项 定义文件的路径
recurse 递归的设置文件的属性,只对目录有效
src 要被连接的源文件的路径,只应用于state=link的情况
dest 被连接到的路径,只应用于state=link的情况
state:
directory:如果目录不存在,创建目录
file 即使文件不存在,也不创建
link 创建软链接
hard 创建硬链接
touch 如果文件不存在,则会创建一个新的文件,如果文件存在,更新文件的修改时间
absent 删除目录、文件或取消链接文件
copy 复制文件到远程主机
copy模块的选项如下:
backup:在覆盖之前将源文件备份,备份文件包含时间信息。有两个选项yes|no
content:用于替换“src”,可以直接设定指定文件的值
dest:必选项。要将源文件复制到的远程主机的绝对路径,如果源文件是一个目录,那么该路径也必须是个目录
directory_mode:递归的设定目录额权限,默认为系统默认权限
force:如果目标主机包含该文件,但内容不同,如果设置为yes,则强制覆盖,如果为no,则只有当目标主机的目标位置不存在该文件是,才复制。默认为yes
others:所有的file模块里的选项都可以在这里使用
src:要复制到远程主机的文件在本地的地址,可以是绝对路径,也可以是相对路径。如果路径是一个目录,它将递归复制。在这种情况下,如果路径使用“/" 来结尾,则只复制目录里的内容,如果没有使用‘/'结尾,则包含目录在内的整个内容全部复制,类似于rsync。
command模块 在远程主机上执行命令
command模块的选项:
creates: 一个文件名,当文件存在,则该命令不执行
free_form:要执行的linux命令
chdir:在执行指令之前,先切换到该指定的目录
removes:一个文件名,当该文件不存在,则该选项不执行
executable:切换shell来执行指令,该执行路径必须是一个绝对路径
shell模块 (和command模块使用方式差不多)
service模块 用于管理服务
service 模块选项:
arguments:给命令行提供一些选项
enabled:是否开机启动 yes|no
name:必选项,服务名
pattern:定义一个模式,如果通过status指令来查看服务的状态,没有响应,就会通过ps指令在进程中根据该模式进行查找,如果匹配到,则认为该服务依然在运行
runlevel:运行级别
sleep:如果执行了restarted,在则stop和start之间沉睡几秒钟
state:对当前服务执行启动、停止、重启、重新加载等操作(started、stopped、restarted、reloaded)
cron模块 用于管理计划任务
cron选项如下:
backup:对远程主机上的原任务计划内容修改之前备份
cron_file:如果指定该选项,则用该文件替换远程主机上的cron.d目录下的用户的任务计划
day:日
hour:小时
minute:分钟
month:月
weekday:周
job:要执行的任务,依赖于state=present
name:该任务的描述
special_time 指定什么时间执行,参数:reboot、yearly、annually、monthly、weekly、daily、hourly
state:确认该任务计划是创建还是删除
user:以哪个用户的身份执行
filesystem模块 在块设备上创建文件系统
选项:
dev:目录块设备
force:在一个已有文件系统的设备上强制创建
fstype:文件系统的类型
opts:传递给mkfs命令的选项
yum模块 使用yum包管理器来管理软件包
config_file:yum的配置文件
disable_gpg_check: 关闭gpg_check
disablerepo:不启用某个yum源
enablerepo:启用某个yum源
list:
name:要进行操作的软件包的名字,也可以传递一个url或一个本地的rpm包的路径
state:状态(present、absent、latest)
user 模块 管理用户
home
groups
uid
password
name
createhome
system
remove
state
shell
group 模块 管理组