ansaible-windos

Ansaible-windos日常命令

一.编辑临时host文件

[win:vars]

Ansible_ssh_user=”用户名”

Ansible_ssh_pass=”密码”

Ansible_ssh_port=”5985”   端口号

Ansible_connection=”winrm”

Ansible_winrm_server_cert_validation=ignore

 

[win:children]

Ip

 

[ip]

10.169.180.10

 

二.测试windos网络连通命令

Ansible –i host  IP –m win_ping

 

三.远程传输文件(copy)

Ansible -I host 10.180.92.10–m win_copy –a ‘src=/home/mcger/123.zip  dest=d:\ ’  -f  50 –o 

四. 远程解压(unzip)

Ansible  -I host 10.180.92.10 –m win_unzip  –a ‘creates=no src=d:\123.zip  dest=d:\123 ’  -f  50 –o

五. Find-查找文件内容

 

命令

涉及模块

支持命令

Findstr  

 

win-shell

Dir , cd

Find        

 

win_command

不支持   cd  dir

 

 

Find 参数:

  • /v    过滤掉匹配内容
  • /c     统计匹配内容
  • /i     忽略大小写   

 

参数

 

备注

v

过滤掉匹配内容

 

c

统计匹配内容

 

i

忽略大小写

 

  

 

文件查找

Ansible –I  host 10.180.92.12 –m win_shell –a “dir d:  |  findstr  /m  .run”       

 

文件内容查找

Ansible –I  host 10.180.92.12 –m win_command –a ‘“findstr /i “1235567678” d:\detest\log\20210907\result.log’

 

查找业务相关日志文件

Tree : 会形成一个树形列表
        /F  显示每个文件夹中文件的名称
        /A 使用ascll字符。而不使用扩展名

 

Ansible –I  host 10.180.92.12 –m win_shell –a “tree /F z:\fd_log | findstr /s “.264 “

 

 

六.删除文件-win_file  (state=absent)

Ansible –I  host 10.180.92.12 –m win_file -a ‘dest=d:/mcger/we state=absent’ 删除目录

Ansible –I  host 10.180.92.12 –m win_file -a ‘dest=d:/cger/run.log state=absent’    删除文件

 

Ansible –I host  10.180.92.12 –m win_file  -a ‘dest=d:/ state=touch’   在d盘创建11文件

 

Ansible–I host 10.180.92.12 –m win_file-a ‘dest=d:/ state=directory’ 创建11目录

 

ansible –I  host 10.180.92.12 –m win_shell –a ‘d:;del 10.168.18.79.*’ 删除多个文件

 

 

 

 

七 查看配置数- (measure-object-line)

Ansible –I  host 10.180.92.12 –m win_shell –a “cd d:/mcger/fsmp/  |  findstr  /m  .smp  | measure-object-line” –o –f 50 | tee smp.log

(measure-object-line 统计行数)

八 .重命名文件-(ren)

Ansible –I host 10.180.92.12 –m win_shell -a ‘ren “d:/mcger””mcger.bak”’

 

 

九.Video_filter日常维护命令

9.1 程序启动/关闭 (关闭程序/服务无需跟目录)

VFService服务

命令

 

net stop VFService

关闭系统服务(无需目录)

net start  VFService

启系统动服务

 

 注:

单台关闭服务执行可用         sc  stop

       Ansible远程执行             net stop

 

exe程序

Exe程序

 

备注

Taskkill/im video_filter.exe /f

关闭程序

 

StartD:\deectSystem\ video_filter.exe

启动程序

须跟目录

 

例:

 

  1. 关闭exe程序

     Taskkill  /im  video_filter.exe /f

     Net stop VFsetup (停掉守护)

     

  1. 启动exe程序(程序启动需跟目录)

     Start  D:\deectSystem\VFSetup.exe        启动守护

    Start  D:\deectSystem\ video_filter.exe  启动video_filter.exe主程序

 

 

9.3  findstr-文件查询

  注 :

 Finstr 后跟目录

 

 Ansible –I  host 10.180.92.12 –m win_shell –a ‘findstr /I 1235567678  d:\detest\log\20210907\result.log’

 

十  COPY 模块

参数

 

参数

注释

备注

Src

操作目录

Content(可更改文件内容)

Dest

目的目录

 

force

是否覆盖

默认为yes

Backuo

备份

Backup=yes

Owner

属主

 

group

 

mode

权限

权限设置为"rw-r--r--"

 

 

传输文件

Ansible -I host–m win_copy –a ‘src=/home/mcger/video_file.exe  dest=d:\detectsystem\ ’  传输文件

 

Src-copy文件/目录    

src=需要copy的文件或目录

dest-拷贝的目录  

dest=指定文件将被拷贝到远程主机的哪个目录中

content-可直接指定文件内容  :

当不使用src指定拷贝的文件时,可以使用content直接指定文件内容,src与content两个参数必有其一,否则会报错。

Force-是否覆盖  :  

 

force= yes/no,默认值为yes,表示覆盖,贝操作,远程主机中的文件保持不变。

Backup-是否备份 :  

Backup=yes   主机的目标路径中已经存在同名文件,内容不同时,是否对远程主机的文件进行备份,

Owner-所属主 :

 

 指定文件拷贝到远程主机后的属主,但是远程主机上必须有对应的用户,否则会报错。

Group-所属组 :

指定文件拷贝到远程主机后的属组,但是远程主机上必须有对应的组,否则会报错。

Mode-权限:

 

指定文件拷贝到远程主机后的权限,如果你想将权限设置为"rw-r--r--",则可以使

 

例:

 

1. 将ansible主机中/testdir/copytest文件复制到远程主机的/opt目录下,注意,如果copytest文件已经存在于远程主机的/opt目录中,并且远程主机中的copytest与ansible主机中copytest文件内容不同,那么使用如下命令时,远程主机中的copytest文件将被覆盖。

 

ansible test70 -m copy -a "src=/testdir/copytest dest=/opt/"

 

 

2.在远程主机的/opt目录下生成文件test,test文件中有两行文本,第一行文本为aaa,第二行为bbb,当使用content指定文件内容时,dest参数对应的值必须是一个文件,而不能是一个路径。

 

ansible test70 -m copy a 'content="aaa\nbbb\n" dest=/opt/test'

 

 

十一 . file-文件处理(创建、删除,修改权限)

 

参数

注释

备注

Dest/path

操作目录

Path drst name为要操作目录或文件

State

指定文件属性

state=directory  目录  

state=touch       文件

state=link        软连接

state=hard        硬连接

state=absen       删除文件

Src

软连接

当state设置为link或者hard时

Src=指定链接源。

Force

强制链接

state=link

force=yes 可配合此参数强制创建链接文件

Owner

属主

 

group

 

Mode

权限

 

Recurse

删除

递归修改文件属性

 

 

 

 

 

file模块可以帮助我们完成一些对文件的基本操作,比如,创建文件或目录、删除文件或目录、修改文件权限等

 

path    操作文件/目录  

dest       SSS

 

Path-操作文件/目录 :

指定要操作的文件或目录,使用dest或name也可以。

 

State-指定文件属性 :

 

  • state=directory  目录:  
  • state=touch       文件
  • state=link        软连接
  • state=hard        硬连接
  • state=absen       删除文件(部分文件目录软连接)

 

src-设置软/硬连接:

 

当state设置为link或者hard时

 

Src=指定链接源。

 

Force-强制连接  :  

 

state=link

force=yes 可配合此参数强制创建链接文件

 

owner-属主 :

用于指定被操作文件的属主,

 

group-数组 :

用于指定被操作文件的属组,

Mode-权限:

用于指定被操作文件的权限,

Recurse-删除:

当要操作的文件为目录,将recurse设置为yes,可以递归的修改目录中文件的属性。

 

 

例案:

 

1. 创建一个名为testfile的文件,如果testfile文件已经存在,则会更新文件的时间戳,与touch命令的作用相同。

 

ansible test70 –m file a "path=/testdir/testfile state=touch"

 

2.创建一个名为testdir的目录,如果testdir目录已经存在

ansible test70 -m file -a "path=/testdir/testfile state= directory"

 

  1. 3.   为testfile文件创建软链接文件,软链接名为linkfile

"path=/testdir/linkfile state=link src=/testdir/testfile"

 

 

4.testfile文件创建硬链接文件,硬链接名为hardfile,执行下面命令的时候

 "path=/testdir/hardfile state=hard src=/testdir/testfile  force=yes"

Fore=yes 链接文件与其他文件同名时,强制覆盖同名文件或者创建链接文

 

5.删除远程机器上的指定文件或目录

 

"path=/testdir/testdir state=absent"

 

6. 在创建文件或目录的时候指定属主,或者修改远程主机上的文件或目录的属主

owner=zsy    属主      

group=zsy"   属组

mode=0644  权限

recurse=yes  递归修改属性

 

"path=/testdir/abc state=touch owner=zsy"

 "path=/testdir/abc owner=zsy"

"path=/testdir/abc state=directory owner=zsy"

 

上一篇:Http协议和Web服务器Apache


下一篇:中信戴卡BI系统项目方案分享