ansile(2)模块之file

ansbile file模块大体功能同copy模块,下面看看参数

参数 选项 必须 说明
follow yes/no no 如果原来的文件是link,拷贝后依旧是link
follow yes/no no 强制文件操作
recurse yes/no no 递归设置目录的属性
group yes/no no 设定一个群组拥有拷贝到远程节点的文件权限
mode  yes/no no 等同于chmod,参数可以为“u+rwx or u=rw,g=r,o=r”
owner yes/no no 设定一个用户拥有拷贝到远程节点的文件
path yes/no yes 目标路径,也可以用dest,name代替
src yes/no yes
要被链接的源文件的路径,只应用于state=link的情况

state file/link/directory/hard/touch/absent  no
file:即使文件不存在,也不会被创建

link:创建软链接

hard:创建硬链接

touch:如果文件不存在,则会创建一个新的文件,如果文件或目录已存在,则更新其最后修改时间

absent:删除目录、文件或者取消链接文件

不对之处请看官方文档

1.1.修改文件属性示例

源文件:

# ll
total 4
-rw-r--r-- 1 root root 17 Dec 28 04:52 2.txt

操作:

# ansible dbserver -m file -a "follow=yes group=‘ckl‘ mode=‘640‘ owner=‘ckl‘ path=/app/2.txt state=file force=yes" 
172.16.110.49 | SUCCESS => {
    "changed": true, 
    "gid": 1000, 
    "group": "ckl", 
    "mode": "0640", 
    "owner": "ckl", 
    "path": "/app/2.txt", 
    "size": 17, 
    "state": "file", 
    "uid": 1000
}

查看文件:

# ll
total 4
-rw-r----- 1 ckl ckl 17 Dec 28 04:52 2.txt

1.2.创建链接文件示例

查看源文件

# ll mf.txt 
-rw-r--r-- 1 root root 21 Dec 28 04:56 mf.txt

# ansible dbserver -m file -a "src=/data/mf.txt dest=/app/kk state=link"

172.16.110.49 | SUCCESS => {

"changed": true,

"dest": "/app/kk",

"gid": 0,

"group": "root",

"mode": "0777",

"owner": "root",

"size": 12,

"src": "/data/mf.txt",

"state": "link",

"uid": 0

}

# ll /app/
total 4
-rw-r----- 1 ckl  ckl  17 Dec 28 04:52 2.txt
lrwxrwxrwx 1 root root 12 Dec 28 05:06 kk -> /data/mf.txt

1.3.文件删除示例

# ansible dbserver -m file -a "path=/data/mf.txt force=yes state=absent"
172.16.110.49 | SUCCESS => {
    "changed": true, 
    "path": "/data/mf.txt", 
    "state": "absent"
}
# ll /data/
total 0
时间: 2024-10-15 01:02:51

ansile(2)模块之file的相关文章

ansile(2)模块之get_url

ansible  get_url将文件从HTTP,HTTPS或FTP下载到节点 参数 是否必须 默认 选项 说明 attributes no None yes no 文件或目录的属性应该是.要获得支持的标志,请查看taget系统上chattr的手册页. backup no no 创建一个包括时间戳信息的备份文件,这样你可以得到原始文件,如果你不正确地弄错了. checksum no 如果将校验和传递给此参数,则将在下载目标文件的摘要后计算摘要,以确保其完整性,并验证传输是否成功完成.格式:<al

ansile(2)模块之copy

ansible copy模块用来文件复制,说明如下: 参数名 选项 必须 参数说明 backup yes/no no 备份远程节点上的原始文件,在拷贝之前.如果发生什么意外,原始文件还能使用. content yes/no no 用来替代src,用于将指定文件的内容,拷贝到远程文件内 dest  yes/no yes 用于定位远程节点上的文件,需要绝对路径.如果src指向的是文件夹,这个参数也必须是指向文件夹 directory_mode  yes/no no 这个参数只能用于拷贝文件夹时候,这

saltstack模块之file相关模块

1.file.access模块 file.access:测试salt进程是否有对指定文件的对应访问权限. [[email protected] ~]# salt '*' file.access /etc/passwd f salt-minion02.contoso.com:     True salt-minion01.contoso.com:     True [[email protected] ~]# salt '*' file.access /etc/passwd r salt-mini

Puppet模块(三):puppet模块及file资源

作用:通过puppet模块自动控制客户端的puppet配置,当需要修改客户端的puppet配置时不用在客户端一一设置. 1.服务端配置puppet模块 (1)模块清单 [[email protected] ~]# tree /etc/puppet/modules/puppet/ /etc/puppet/modules/puppet/ ├── files ├── manifests │   ├── config.pp │   ├── init.pp │   ├── install.pp │   ├

ansile(2)模块之iptable

ansible iptables 模块说明 Iptables用于设置,维护和检查Linux内核中的IP包过滤规则的表.此模块不处理保存和/或加载规则,而是仅处理存在于内存中的当前规则.这与该模块在内部使用的"iptables"和"ip6tables"命令的行为相同. 以列表参数均来自官网,如果有出入,请参考官方文档 参数 是否必需 默认 选项 说明 action no append append insert 规则是应附加在底部还是插入在顶部.如果规则已经存在,则不

ansile(2)模块之service

ansible service模块 参数选项来自官网,如果有出入,以官网为主 参数 是否必须 默认 选项 说明 arguments no 命令行参数 enabled no yes no 设置服务是否开机启动 name yes 服务名称 pattern no 定义一个模式,如果通过status指令来查看服务的状态时,没有响应,就会通过ps指令在进程中根据该模式进行查找,如果匹配到,则认为该服务依然在运行 runlevel no default 服务运行级别 sleep no 设置start和sto

ansile(2)模块之script

ansible script模块用来为远端目标主机运行管理机(本地)的脚本 参数 是否必须 默认 选项 说明 creates no 当文件存在,这步不运行 free_form yes 运行参数 removes no 当文件不存在时,这步不允许 运行脚本示例 # cat ckl.sh  #!/bin/bash ps -ef | grep httpd | grep -v grep date echo "*******************" # ansible webserver -m 

ansile(2)模块之cron

ansible cron 模块就是计划任务,很简单 backup:操作之前先备份目标主机上的原计划任务 cron_file:如果指定该选项,则用该文件替换远程主机上的cron.d目录下的用户的任务计划 day: 指定日(1-31,*,*/1,--) hour:指定小时(0-23,*,*/2,--) minute:指定分钟(0-59,*,*/3,--) month:指定月(1-12,*,*/4,--) weekday:指定周(0-7,*,--) job:要执行的任务,依赖于state=presen

ansile(2)模块之group

ansible group模块与系统命令使用相似 参数 是否必要 默认 选项 说明 gid no 选择需要设置的GID name yes 需要配置的组名 state no present present absent 添加或删除组 system no no yes no yes时添加的是系统组 添加组 # ansible dbserver -m group -a "name=zld state=present" 172.16.110.49 | SUCCESS => {     &