ansible script模块

6/15/2023 LinuxAnsible

# 一、script模块

如何通过ansible执行一个脚本:lamp安装脚本

script模块:用于在远程机器上执行本地脚本。

https://docs.ansible.com/ansible/latest/modules/script_module.html#script-module

在manage01上创建脚本,通过ansible将脚本分发到被管理端
[root@manage01 ~]# cat ansible_test.sh 
#!/bin/bash
#ansible script module test script
mkdir /opt/log
find / -name "*.log" -exec cp -rpf {} /opt/log \;


#脚本不用给执行权限
[root@manage01 ~]# ansible -m script group1 -a "/root/ansible_test.sh"


192.168.98.203 | CHANGED => {
    "changed": true,
    "rc": 0,
    "stderr": "Shared connection to 192.168.98.203 closed.\r\n",
    "stderr_lines": [
        "Shared connection to 192.168.98.203 closed."
    ],
    "stdout": "cp: '/opt/log/sssd.log' 与'/opt/log/sssd.log' 为同一文件\r\ncp: '/opt/log/sssd_implicit_files.log' 与'/opt/log/sssd_implicit_files.log' 为同一文件\r\ncp: '/opt/log/sssd_nss.log' 与'/opt/log/sssd_nss.log' 为同一文件\r\ncp: '/opt/log/tuned.log' 与'/opt/log/tuned.log' 为同一文件\r\ncp: '/opt/log/audit.log' 与'/opt/log/audit.log' 为同一文件\r\ncp: '/opt/log/anaconda.log' 与'/opt/log/anaconda.log' 为同一文件\r\ncp: '/opt/log/X.log' 与'/opt/log/X.log' 为同一文件\r\ncp: '/opt/log/program.log' 与'/opt/log/program.log' 为同一文件\r\ncp: '/opt/log/packaging.log' 与'/opt/log/packaging.log' 为同一文件\r\ncp: '/opt/log/storage.log' 与'/opt/log/storage.log' 为同一文件\r\ncp: '/opt/log/ifcfg.log' 与'/opt/log/ifcfg.log' 为同一文件\r\ncp: '/opt/log/lvm.log' 与'/opt/log/lvm.log' 为同一文件\r\ncp: '/opt/log/dnf.librepo.log' 与'/opt/log/dnf.librepo.log' 为同一文件\r\ncp: '/opt/log/hawkey.log' 与'/opt/log/hawkey.log' 为同一文件\r\ncp: '/opt/log/dbus.log' 与'/opt/log/dbus.log' 为同一文件\r\ncp: '/opt/log/ks-script-5r3m4old.log' 与'/opt/log/ks-script-5r3m4old.log' 为同一文件\r\ncp: '/opt/log/ks-script-h97m_bc_.log' 与'/opt/log/ks-script-h97m_bc_.log' 为同一文件\r\ncp: '/opt/log/journal.log' 与'/opt/log/journal.log' 为同一文件\r\ncp: '/opt/log/boot.log' 与'/opt/log/boot.log' 为同一文件\r\ncp: '/opt/log/vmware-vmsvc.log' 与'/opt/log/vmware-vmsvc.log' 为同一文件\r\ncp: '/opt/log/dnf.log' 与'/opt/log/dnf.log' 为同一文件\r\ncp: '/opt/log/dnf.rpm.log' 与'/opt/log/dnf.rpm.log' 为同一文件\r\ncp: '/opt/log/vmware-network.3.log' 与'/opt/log/vmware-network.3.log' 为同一文件\r\ncp: '/opt/log/vmware-network.2.log' 与'/opt/log/vmware-network.2.log' 为同一文件\r\ncp: '/opt/log/vmware-network.1.log' 与'/opt/log/vmware-network.1.log' 为同一文件\r\ncp: '/opt/log/vmware-network.log' 与'/opt/log/vmware-network.log' 为同一文件\r\ncp: '/opt/log/rpm.log' 与'/opt/log/rpm.log' 为同一文件\r\n",
    "stdout_lines": [
        "cp: '/opt/log/sssd.log' 与'/opt/log/sssd.log' 为同一文件",
        "cp: '/opt/log/sssd_implicit_files.log' 与'/opt/log/sssd_implicit_files.log' 为同一文件",
        "cp: '/opt/log/sssd_nss.log' 与'/opt/log/sssd_nss.log' 为同一文件",
        "cp: '/opt/log/tuned.log' 与'/opt/log/tuned.log' 为同一文件",
        "cp: '/opt/log/audit.log' 与'/opt/log/audit.log' 为同一文件",
        "cp: '/opt/log/anaconda.log' 与'/opt/log/anaconda.log' 为同一文件",
        "cp: '/opt/log/X.log' 与'/opt/log/X.log' 为同一文件",
        "cp: '/opt/log/program.log' 与'/opt/log/program.log' 为同一文件",
        "cp: '/opt/log/packaging.log' 与'/opt/log/packaging.log' 为同一文件",
        "cp: '/opt/log/storage.log' 与'/opt/log/storage.log' 为同一文件",
        "cp: '/opt/log/ifcfg.log' 与'/opt/log/ifcfg.log' 为同一文件",
        "cp: '/opt/log/lvm.log' 与'/opt/log/lvm.log' 为同一文件",
        "cp: '/opt/log/dnf.librepo.log' 与'/opt/log/dnf.librepo.log' 为同一文件",
        "cp: '/opt/log/hawkey.log' 与'/opt/log/hawkey.log' 为同一文件",
        "cp: '/opt/log/dbus.log' 与'/opt/log/dbus.log' 为同一文件",
        "cp: '/opt/log/ks-script-5r3m4old.log' 与'/opt/log/ks-script-5r3m4old.log' 为同一文件",
        "cp: '/opt/log/ks-script-h97m_bc_.log' 与'/opt/log/ks-script-h97m_bc_.log' 为同一文件",
        "cp: '/opt/log/journal.log' 与'/opt/log/journal.log' 为同一文件",
        "cp: '/opt/log/boot.log' 与'/opt/log/boot.log' 为同一文件",
        "cp: '/opt/log/vmware-vmsvc.log' 与'/opt/log/vmware-vmsvc.log' 为同一文件",
        "cp: '/opt/log/dnf.log' 与'/opt/log/dnf.log' 为同一文件",
        "cp: '/opt/log/dnf.rpm.log' 与'/opt/log/dnf.rpm.log' 为同一文件",
        "cp: '/opt/log/vmware-network.3.log' 与'/opt/log/vmware-network.3.log' 为同一文件",
        "cp: '/opt/log/vmware-network.2.log' 与'/opt/log/vmware-network.2.log' 为同一文件",
        "cp: '/opt/log/vmware-network.1.log' 与'/opt/log/vmware-network.1.log' 为同一文件",
        "cp: '/opt/log/vmware-network.log' 与'/opt/log/vmware-network.log' 为同一文件",
        "cp: '/opt/log/rpm.log' 与'/opt/log/rpm.log' 为同一文件"
    ]
}



192.168.98.202 | CHANGED => {
    "changed": true,
    "rc": 0,
    "stderr": "Shared connection to 192.168.98.202 closed.\r\n",
    "stderr_lines": [
        "Shared connection to 192.168.98.202 closed."
    ],
    "stdout": "cp: '/opt/log/home-75a175cb.log' 与'/opt/log/home-75a175cb.log' 为同一文件\r\ncp: '/opt/log/root-648d48b0.log' 与'/opt/log/root-648d48b0.log' 为同一文件\r\ncp: '/opt/log/audit.log' 与'/opt/log/audit.log' 为同一文件\r\ncp: '/opt/log/sssd.log' 与'/opt/log/sssd.log' 为同一文件\r\ncp: '/opt/log/sssd_implicit_files.log' 与'/opt/log/sssd_implicit_files.log' 为同一文件\r\ncp: '/opt/log/sssd_nss.log' 与'/opt/log/sssd_nss.log' 为同一文件\r\ncp: '/opt/log/sssd_kcm.log' 与'/opt/log/sssd_kcm.log' 为同一文件\r\ncp: '/opt/log/tuned.log' 与'/opt/log/tuned.log' 为同一文件\r\ncp: '/opt/log/anaconda.log' 与'/opt/log/anaconda.log' 为同一文件\r\ncp: '/opt/log/X.log' 与'/opt/log/X.log' 为同一文件\r\ncp: '/opt/log/program.log' 与'/opt/log/program.log' 为同一文件\r\ncp: '/opt/log/packaging.log' 与'/opt/log/packaging.log' 为同一文件\r\ncp: '/opt/log/storage.log' 与'/opt/log/storage.log' 为同一文件\r\ncp: '/opt/log/ifcfg.log' 与'/opt/log/ifcfg.log' 为同一文件\r\ncp: '/opt/log/lvm.log' 与'/opt/log/lvm.log' 为同一文件\r\ncp: '/opt/log/dnf.librepo.log' 与'/opt/log/dnf.librepo.log' 为同一文件\r\ncp: '/opt/log/hawkey.log' 与'/opt/log/hawkey.log' 为同一文件\r\ncp: '/opt/log/dbus.log' 与'/opt/log/dbus.log' 为同一文件\r\ncp: '/opt/log/ks-script-fx6j2w7d.log' 与'/opt/log/ks-script-fx6j2w7d.log' 为同一文件\r\ncp: '/opt/log/ks-script-igqtd8i1.log' 与'/opt/log/ks-script-igqtd8i1.log' 为同一文件\r\ncp: '/opt/log/journal.log' 与'/opt/log/journal.log' 为同一文件\r\ncp: '/opt/log/boot.log' 与'/opt/log/boot.log' 为同一文件\r\ncp: '/opt/log/vmware-vmsvc.log' 与'/opt/log/vmware-vmsvc.log' 为同一文件\r\ncp: '/opt/log/Xorg.9.log' 与'/opt/log/Xorg.9.log' 为同一文件\r\ncp: '/opt/log/vmware-vmusr.log' 与'/opt/log/vmware-vmusr.log' 为同一文件\r\ncp: '/opt/log/dnf.log' 与'/opt/log/dnf.log' 为同一文件\r\ncp: '/opt/log/dnf.rpm.log' 与'/opt/log/dnf.rpm.log' 为同一文件\r\ncp: '/opt/log/vmware-network.3.log' 与'/opt/log/vmware-network.3.log' 为同一文件\r\ncp: '/opt/log/vmware-network.2.log' 与'/opt/log/vmware-network.2.log' 为同一文件\r\ncp: '/opt/log/vmware-network.1.log' 与'/opt/log/vmware-network.1.log' 为同一文件\r\ncp: '/opt/log/vmware-network.log' 与'/opt/log/vmware-network.log' 为同一文件\r\ncp: '/opt/log/rpm.log' 与'/opt/log/rpm.log' 为同一文件\r\n",
    "stdout_lines": [
        "cp: '/opt/log/home-75a175cb.log' 与'/opt/log/home-75a175cb.log' 为同一文件",
        "cp: '/opt/log/root-648d48b0.log' 与'/opt/log/root-648d48b0.log' 为同一文件",
        "cp: '/opt/log/audit.log' 与'/opt/log/audit.log' 为同一文件",
        "cp: '/opt/log/sssd.log' 与'/opt/log/sssd.log' 为同一文件",
        "cp: '/opt/log/sssd_implicit_files.log' 与'/opt/log/sssd_implicit_files.log' 为同一文件",
        "cp: '/opt/log/sssd_nss.log' 与'/opt/log/sssd_nss.log' 为同一文件",
        "cp: '/opt/log/sssd_kcm.log' 与'/opt/log/sssd_kcm.log' 为同一文件",
        "cp: '/opt/log/tuned.log' 与'/opt/log/tuned.log' 为同一文件",
        "cp: '/opt/log/anaconda.log' 与'/opt/log/anaconda.log' 为同一文件",
        "cp: '/opt/log/X.log' 与'/opt/log/X.log' 为同一文件",
        "cp: '/opt/log/program.log' 与'/opt/log/program.log' 为同一文件",
        "cp: '/opt/log/packaging.log' 与'/opt/log/packaging.log' 为同一文件",
        "cp: '/opt/log/storage.log' 与'/opt/log/storage.log' 为同一文件",
        "cp: '/opt/log/ifcfg.log' 与'/opt/log/ifcfg.log' 为同一文件",
        "cp: '/opt/log/lvm.log' 与'/opt/log/lvm.log' 为同一文件",
        "cp: '/opt/log/dnf.librepo.log' 与'/opt/log/dnf.librepo.log' 为同一文件",
        "cp: '/opt/log/hawkey.log' 与'/opt/log/hawkey.log' 为同一文件",
        "cp: '/opt/log/dbus.log' 与'/opt/log/dbus.log' 为同一文件",
        "cp: '/opt/log/ks-script-fx6j2w7d.log' 与'/opt/log/ks-script-fx6j2w7d.log' 为同一文件",
        "cp: '/opt/log/ks-script-igqtd8i1.log' 与'/opt/log/ks-script-igqtd8i1.log' 为同一文件",
        "cp: '/opt/log/journal.log' 与'/opt/log/journal.log' 为同一文件",
        "cp: '/opt/log/boot.log' 与'/opt/log/boot.log' 为同一文件",
        "cp: '/opt/log/vmware-vmsvc.log' 与'/opt/log/vmware-vmsvc.log' 为同一文件",
        "cp: '/opt/log/Xorg.9.log' 与'/opt/log/Xorg.9.log' 为同一文件",
        "cp: '/opt/log/vmware-vmusr.log' 与'/opt/log/vmware-vmusr.log' 为同一文件",
        "cp: '/opt/log/dnf.log' 与'/opt/log/dnf.log' 为同一文件",
        "cp: '/opt/log/dnf.rpm.log' 与'/opt/log/dnf.rpm.log' 为同一文件",
        "cp: '/opt/log/vmware-network.3.log' 与'/opt/log/vmware-network.3.log' 为同一文件",
        "cp: '/opt/log/vmware-network.2.log' 与'/opt/log/vmware-network.2.log' 为同一文件",
        "cp: '/opt/log/vmware-network.1.log' 与'/opt/log/vmware-network.1.log' 为同一文件",
        "cp: '/opt/log/vmware-network.log' 与'/opt/log/vmware-network.log' 为同一文件",
        "cp: '/opt/log/rpm.log' 与'/opt/log/rpm.log' 为同一文件"
    ]
}


192.168.98.201 | CHANGED => {
    "changed": true,
    "rc": 0,
    "stderr": "Shared connection to 192.168.98.201 closed.\r\n",
    "stderr_lines": [
        "Shared connection to 192.168.98.201 closed."
    ],
    "stdout": "cp: '/opt/log/home-2b167fc1.log' 与'/opt/log/home-2b167fc1.log' 为同一文件\r\ncp: '/opt/log/root-836d3cf3.log' 与'/opt/log/root-836d3cf3.log' 为同一文件\r\ncp: '/opt/log/audit.log' 与'/opt/log/audit.log' 为同一文件\r\ncp: '/opt/log/sssd_implicit_files.log' 与'/opt/log/sssd_implicit_files.log' 为同一文件\r\ncp: '/opt/log/sssd_kcm.log' 与'/opt/log/sssd_kcm.log' 为同一文件\r\ncp: '/opt/log/sssd_nss.log' 与'/opt/log/sssd_nss.log' 为同一文件\r\ncp: '/opt/log/sssd.log' 与'/opt/log/sssd.log' 为同一文件\r\ncp: '/opt/log/tuned.log' 与'/opt/log/tuned.log' 为同一文件\r\ncp: '/opt/log/anaconda.log' 与'/opt/log/anaconda.log' 为同一文件\r\ncp: '/opt/log/X.log' 与'/opt/log/X.log' 为同一文件\r\ncp: '/opt/log/program.log' 与'/opt/log/program.log' 为同一文件\r\ncp: '/opt/log/packaging.log' 与'/opt/log/packaging.log' 为同一文件\r\ncp: '/opt/log/storage.log' 与'/opt/log/storage.log' 为同一文件\r\ncp: '/opt/log/ifcfg.log' 与'/opt/log/ifcfg.log' 为同一文件\r\ncp: '/opt/log/lvm.log' 与'/opt/log/lvm.log' 为同一文件\r\ncp: '/opt/log/dnf.librepo.log' 与'/opt/log/dnf.librepo.log' 为同一文件\r\ncp: '/opt/log/hawkey.log' 与'/opt/log/hawkey.log' 为同一文件\r\ncp: '/opt/log/dbus.log' 与'/opt/log/dbus.log' 为同一文件\r\ncp: '/opt/log/ks-script-ai28ecf4.log' 与'/opt/log/ks-script-ai28ecf4.log' 为同一文件\r\ncp: '/opt/log/ks-script-k4vgo8wr.log' 与'/opt/log/ks-script-k4vgo8wr.log' 为同一文件\r\ncp: '/opt/log/journal.log' 与'/opt/log/journal.log' 为同一文件\r\ncp: '/opt/log/boot.log' 与'/opt/log/boot.log' 为同一文件\r\ncp: '/opt/log/vmware-vmsvc.log' 与'/opt/log/vmware-vmsvc.log' 为同一文件\r\ncp: '/opt/log/Xorg.9.log' 与'/opt/log/Xorg.9.log' 为同一文件\r\ncp: '/opt/log/vmware-vmusr.log' 与'/opt/log/vmware-vmusr.log' 为同一文件\r\ncp: '/opt/log/dnf.log' 与'/opt/log/dnf.log' 为同一文件\r\ncp: '/opt/log/dnf.rpm.log' 与'/opt/log/dnf.rpm.log' 为同一文件\r\ncp: '/opt/log/vmware-network.6.log' 与'/opt/log/vmware-network.6.log' 为同一文件\r\ncp: '/opt/log/vmware-network.5.log' 与'/opt/log/vmware-network.5.log' 为同一文件\r\ncp: '/opt/log/vmware-network.4.log' 与'/opt/log/vmware-network.4.log' 为同一文件\r\ncp: '/opt/log/vmware-network.3.log' 与'/opt/log/vmware-network.3.log' 为同一文件\r\ncp: '/opt/log/vmware-network.2.log' 与'/opt/log/vmware-network.2.log' 为同一文件\r\ncp: '/opt/log/vmware-network.1.log' 与'/opt/log/vmware-network.1.log' 为同一文件\r\ncp: '/opt/log/vmware-network.log' 与'/opt/log/vmware-network.log' 为同一文件\r\ncp: '/opt/log/rpm.log' 与'/opt/log/rpm.log' 为同一文件\r\ncp: '/opt/log/error.log' 与'/opt/log/error.log' 为同一文件\r\ncp: '/opt/log/access.log' 与'/opt/log/access.log' 为同一文件\r\n",
    "stdout_lines": [
        "cp: '/opt/log/home-2b167fc1.log' 与'/opt/log/home-2b167fc1.log' 为同一文件",
        "cp: '/opt/log/root-836d3cf3.log' 与'/opt/log/root-836d3cf3.log' 为同一文件",
        "cp: '/opt/log/audit.log' 与'/opt/log/audit.log' 为同一文件",
        "cp: '/opt/log/sssd_implicit_files.log' 与'/opt/log/sssd_implicit_files.log' 为同一文件",
        "cp: '/opt/log/sssd_kcm.log' 与'/opt/log/sssd_kcm.log' 为同一文件",
        "cp: '/opt/log/sssd_nss.log' 与'/opt/log/sssd_nss.log' 为同一文件",
        "cp: '/opt/log/sssd.log' 与'/opt/log/sssd.log' 为同一文件",
        "cp: '/opt/log/tuned.log' 与'/opt/log/tuned.log' 为同一文件",
        "cp: '/opt/log/anaconda.log' 与'/opt/log/anaconda.log' 为同一文件",
        "cp: '/opt/log/X.log' 与'/opt/log/X.log' 为同一文件",
        "cp: '/opt/log/program.log' 与'/opt/log/program.log' 为同一文件",
        "cp: '/opt/log/packaging.log' 与'/opt/log/packaging.log' 为同一文件",
        "cp: '/opt/log/storage.log' 与'/opt/log/storage.log' 为同一文件",
        "cp: '/opt/log/ifcfg.log' 与'/opt/log/ifcfg.log' 为同一文件",
        "cp: '/opt/log/lvm.log' 与'/opt/log/lvm.log' 为同一文件",
        "cp: '/opt/log/dnf.librepo.log' 与'/opt/log/dnf.librepo.log' 为同一文件",
        "cp: '/opt/log/hawkey.log' 与'/opt/log/hawkey.log' 为同一文件",
        "cp: '/opt/log/dbus.log' 与'/opt/log/dbus.log' 为同一文件",
        "cp: '/opt/log/ks-script-ai28ecf4.log' 与'/opt/log/ks-script-ai28ecf4.log' 为同一文件",
        "cp: '/opt/log/ks-script-k4vgo8wr.log' 与'/opt/log/ks-script-k4vgo8wr.log' 为同一文件",
        "cp: '/opt/log/journal.log' 与'/opt/log/journal.log' 为同一文件",
        "cp: '/opt/log/boot.log' 与'/opt/log/boot.log' 为同一文件",
        "cp: '/opt/log/vmware-vmsvc.log' 与'/opt/log/vmware-vmsvc.log' 为同一文件",
        "cp: '/opt/log/Xorg.9.log' 与'/opt/log/Xorg.9.log' 为同一文件",
        "cp: '/opt/log/vmware-vmusr.log' 与'/opt/log/vmware-vmusr.log' 为同一文件",
        "cp: '/opt/log/dnf.log' 与'/opt/log/dnf.log' 为同一文件",
        "cp: '/opt/log/dnf.rpm.log' 与'/opt/log/dnf.rpm.log' 为同一文件",
        "cp: '/opt/log/vmware-network.6.log' 与'/opt/log/vmware-network.6.log' 为同一文件",
        "cp: '/opt/log/vmware-network.5.log' 与'/opt/log/vmware-network.5.log' 为同一文件",
        "cp: '/opt/log/vmware-network.4.log' 与'/opt/log/vmware-network.4.log' 为同一文件",
        "cp: '/opt/log/vmware-network.3.log' 与'/opt/log/vmware-network.3.log' 为同一文件",
        "cp: '/opt/log/vmware-network.2.log' 与'/opt/log/vmware-network.2.log' 为同一文件",
        "cp: '/opt/log/vmware-network.1.log' 与'/opt/log/vmware-network.1.log' 为同一文件",
        "cp: '/opt/log/vmware-network.log' 与'/opt/log/vmware-network.log' 为同一文件",
        "cp: '/opt/log/rpm.log' 与'/opt/log/rpm.log' 为同一文件",
        "cp: '/opt/log/error.log' 与'/opt/log/error.log' 为同一文件",
        "cp: '/opt/log/access.log' 与'/opt/log/access.log' 为同一文件"
    ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146

# 二、学习视频

视频:script模块 (opens new window)

编辑时间: 7/18/2023, 4:13:51 AM