{"id":17,"date":"2025-11-27T11:01:31","date_gmt":"2025-11-27T03:01:31","guid":{"rendered":"http:\/\/www.8ykxvf.top\/?p=17"},"modified":"2025-11-27T11:13:20","modified_gmt":"2025-11-27T03:13:20","slug":"ansible","status":"publish","type":"post","link":"https:\/\/www.8ykxvf.top\/?p=17","title":{"rendered":"Ansible"},"content":{"rendered":"<div class=\"wp-block-post-date\"><time datetime=\"2025-11-27T11:01:31+08:00\">2025\u5e7411\u670827\u65e5<\/time><\/div>\n\n\n<ul class=\"wp-block-list\"><\/ul>\n\n\n\n<!doctype html>\n<html>\n<head>\n<meta charset='UTF-8'><meta name='viewport' content='width=device-width initial-scale=1'>\n\n<link href='https:\/\/fonts.googleapis.com\/css?family=Open+Sans:400italic,700italic,700,400&#038;subset=latin,latin-ext' rel='stylesheet' type='text\/css' \/><style type='text\/css'>html {overflow-x: initial !important;}:root { --bg-color: #ffffff; --text-color: #333333; --select-text-bg-color: #B5D6FC; --select-text-font-color: auto; --monospace: \"Lucida Console\",Consolas,\"Courier\",monospace; --title-bar-height: 20px; }\n.mac-os-11 { --title-bar-height: 28px; }\nhtml { font-size: 14px; background-color: var(--bg-color); color: var(--text-color); font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; }\nh1, h2, h3, h4, h5 { white-space: pre-wrap; }\nbody { margin: 0px; padding: 0px; height: auto; inset: 0px; font-size: 1rem; line-height: 1.42857; overflow-x: hidden; background: inherit; }\niframe { margin: auto; }\na.url { word-break: break-all; }\na:active, a:hover { outline: 0px; }\n.in-text-selection, ::selection { text-shadow: none; background: var(--select-text-bg-color); color: var(--select-text-font-color); }\n#write { margin: 0px auto; height: auto; width: inherit; word-break: normal; overflow-wrap: break-word; position: relative; white-space: normal; overflow-x: visible; padding-top: 36px; }\n#write.first-line-indent p { text-indent: 2em; }\n#write.first-line-indent li p, #write.first-line-indent p * { text-indent: 0px; }\n#write.first-line-indent li { margin-left: 2em; }\n.for-image #write { padding-left: 8px; padding-right: 8px; }\nbody.typora-export { padding-left: 30px; padding-right: 30px; }\n.typora-export .footnote-line, .typora-export li, .typora-export p { white-space: pre-wrap; }\n.typora-export .task-list-item input { pointer-events: none; }\n@media screen and (max-width: 500px) {\n  body.typora-export { padding-left: 0px; padding-right: 0px; }\n  #write { padding-left: 20px; padding-right: 20px; }\n}\n#write li > figure:last-child { margin-bottom: 0.5rem; }\n#write ol, #write ul { position: relative; }\nimg { max-width: 100%; vertical-align: middle; image-orientation: from-image; }\nbutton, input, select, textarea { color: inherit; font: inherit; }\ninput[type=\"checkbox\"], input[type=\"radio\"] { line-height: normal; padding: 0px; }\n*, ::after, ::before { box-sizing: border-box; }\n#write h1, #write h2, #write h3, #write h4, #write h5, #write h6, #write p, #write pre { width: inherit; }\n#write h1, #write h2, #write h3, #write h4, #write h5, #write h6, #write p { position: relative; }\np { line-height: inherit; }\nh1, h2, h3, h4, h5, h6 { break-after: avoid-page; break-inside: avoid; orphans: 4; }\np { orphans: 4; }\nh1 { font-size: 2rem; }\nh2 { font-size: 1.8rem; }\nh3 { font-size: 1.6rem; }\nh4 { font-size: 1.4rem; }\nh5 { font-size: 1.2rem; }\nh6 { font-size: 1rem; }\n.md-math-block, .md-rawblock, h1, h2, h3, h4, h5, h6, p { margin-top: 1rem; margin-bottom: 1rem; }\n.hidden { display: none; }\n.md-blockmeta { color: rgb(204, 204, 204); font-weight: 700; font-style: italic; }\na { cursor: pointer; }\nsup.md-footnote { padding: 2px 4px; background-color: rgba(238, 238, 238, 0.7); color: rgb(85, 85, 85); border-radius: 4px; cursor: pointer; }\nsup.md-footnote a, sup.md-footnote a:hover { color: inherit; text-transform: inherit; text-decoration: inherit; }\n#write input[type=\"checkbox\"] { cursor: pointer; width: inherit; height: inherit; }\nfigure { overflow-x: auto; margin: 1.2em 0px; max-width: calc(100% + 16px); padding: 0px; }\nfigure > table { margin: 0px; }\nthead, tr { break-inside: avoid; break-after: auto; }\nthead { display: table-header-group; }\ntable { border-collapse: collapse; border-spacing: 0px; width: 100%; overflow: auto; break-inside: auto; text-align: left; }\ntable.md-table td { min-width: 32px; }\n.CodeMirror-gutters { border-right: 0px; background-color: inherit; }\n.CodeMirror-linenumber { user-select: none; }\n.CodeMirror { text-align: left; }\n.CodeMirror-placeholder { opacity: 0.3; }\n.CodeMirror pre { padding: 0px 4px; }\n.CodeMirror-lines { padding: 0px; }\ndiv.hr:focus { cursor: none; }\n#write pre { white-space: pre-wrap; }\n#write.fences-no-line-wrapping pre { white-space: pre; }\n#write pre.ty-contain-cm { white-space: normal; }\n.CodeMirror-gutters { margin-right: 4px; }\n.md-fences { font-size: 0.9rem; display: block; break-inside: avoid; text-align: left; overflow: visible; white-space: pre; background: inherit; position: relative !important; }\n.md-fences-adv-panel { width: 100%; margin-top: 10px; text-align: center; padding-top: 0px; padding-bottom: 8px; overflow-x: auto; }\n#write .md-fences.mock-cm { white-space: pre-wrap; }\n.md-fences.md-fences-with-lineno { padding-left: 0px; }\n#write.fences-no-line-wrapping .md-fences.mock-cm { white-space: pre; overflow-x: auto; }\n.md-fences.mock-cm.md-fences-with-lineno { padding-left: 8px; }\n.CodeMirror-line, twitterwidget { break-inside: avoid; }\nsvg { break-inside: avoid; }\n.footnotes { opacity: 0.8; font-size: 0.9rem; margin-top: 1em; margin-bottom: 1em; }\n.footnotes + .footnotes { margin-top: 0px; }\n.md-reset { margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: top; background: 0px 0px; text-decoration: none; text-shadow: none; float: none; position: static; width: auto; height: auto; white-space: nowrap; cursor: inherit; -webkit-tap-highlight-color: transparent; line-height: normal; font-weight: 400; text-align: left; box-sizing: content-box; direction: ltr; }\nli div { padding-top: 0px; }\nblockquote { margin: 1rem 0px; }\nli .mathjax-block, li p { margin: 0.5rem 0px; }\nli blockquote { margin: 1rem 0px; }\nli { margin: 0px; position: relative; }\nblockquote > :last-child { margin-bottom: 0px; }\nblockquote > :first-child, li > :first-child { margin-top: 0px; }\n.footnotes-area { color: rgb(136, 136, 136); margin-top: 0.714rem; padding-bottom: 0.143rem; white-space: normal; }\n#write .footnote-line { white-space: pre-wrap; }\n@media print {\n  body, html { border: 1px solid transparent; height: 99%; break-after: avoid; break-before: avoid; font-variant-ligatures: no-common-ligatures; }\n  #write { margin-top: 0px; border-color: transparent !important; padding-top: 0px !important; padding-bottom: 0px !important; }\n  .typora-export * { -webkit-print-color-adjust: exact; }\n  .typora-export #write { break-after: avoid; }\n  .typora-export #write::after { height: 0px; }\n  .is-mac table { break-inside: avoid; }\n  #write > p:nth-child(1) { margin-top: 0px; }\n  .typora-export-show-outline .typora-export-sidebar { display: none; }\n  figure { overflow-x: visible; }\n}\n.footnote-line { margin-top: 0.714em; font-size: 0.7em; }\na img, img a { cursor: pointer; }\npre.md-meta-block { font-size: 0.8rem; min-height: 0.8rem; white-space: pre-wrap; background: rgb(204, 204, 204); display: block; overflow-x: hidden; }\np > .md-image:only-child:not(.md-img-error) img, p > img:only-child { display: block; margin: auto; }\n#write.first-line-indent p > .md-image:only-child:not(.md-img-error) img { left: -2em; position: relative; }\np > .md-image:only-child { display: inline-block; width: 100%; }\n#write .MathJax_Display { margin: 0.8em 0px 0px; }\n.md-math-block { width: 100%; }\n.md-math-block:not(:empty)::after { display: none; }\n.MathJax_ref { fill: currentcolor; }\n[contenteditable=\"true\"]:active, [contenteditable=\"true\"]:focus, [contenteditable=\"false\"]:active, [contenteditable=\"false\"]:focus { outline: 0px; box-shadow: none; }\n.md-task-list-item { position: relative; list-style-type: none; }\n.task-list-item.md-task-list-item { padding-left: 0px; }\n.md-task-list-item > input { position: absolute; top: 0px; left: 0px; margin-left: -1.2em; margin-top: calc(1em - 10px); border: none; }\n.math { font-size: 1rem; }\n.md-toc { min-height: 3.58rem; position: relative; font-size: 0.9rem; border-radius: 10px; }\n.md-toc-content { position: relative; margin-left: 0px; }\n.md-toc-content::after, .md-toc::after { display: none; }\n.md-toc-item { display: block; color: rgb(65, 131, 196); }\n.md-toc-item a { text-decoration: none; }\n.md-toc-inner:hover { text-decoration: underline; }\n.md-toc-inner { display: inline-block; cursor: pointer; }\n.md-toc-h1 .md-toc-inner { margin-left: 0px; font-weight: 700; }\n.md-toc-h2 .md-toc-inner { margin-left: 2em; }\n.md-toc-h3 .md-toc-inner { margin-left: 4em; }\n.md-toc-h4 .md-toc-inner { margin-left: 6em; }\n.md-toc-h5 .md-toc-inner { margin-left: 8em; }\n.md-toc-h6 .md-toc-inner { margin-left: 10em; }\n@media screen and (max-width: 48em) {\n  .md-toc-h3 .md-toc-inner { margin-left: 3.5em; }\n  .md-toc-h4 .md-toc-inner { margin-left: 5em; }\n  .md-toc-h5 .md-toc-inner { margin-left: 6.5em; }\n  .md-toc-h6 .md-toc-inner { margin-left: 8em; }\n}\na.md-toc-inner { font-size: inherit; font-style: inherit; font-weight: inherit; line-height: inherit; }\n.footnote-line a:not(.reversefootnote) { color: inherit; }\n.reversefootnote { font-family: ui-monospace, sans-serif; }\n.md-attr { display: none; }\n.md-fn-count::after { content: \".\"; }\ncode, pre, samp, tt { font-family: var(--monospace); }\nkbd { margin: 0px 0.1em; padding: 0.1em 0.6em; font-size: 0.8em; color: rgb(36, 39, 41); background: rgb(255, 255, 255); border: 1px solid rgb(173, 179, 185); border-radius: 3px; box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset; white-space: nowrap; vertical-align: middle; }\n.md-comment { color: rgb(162, 127, 3); opacity: 0.6; font-family: var(--monospace); }\ncode { text-align: left; vertical-align: initial; }\na.md-print-anchor { white-space: pre !important; border-width: initial !important; border-style: none !important; border-color: initial !important; display: inline-block !important; position: absolute !important; width: 1px !important; right: 0px !important; outline: 0px !important; background: 0px 0px !important; text-decoration: initial !important; text-shadow: initial !important; }\n.os-windows.monocolor-emoji .md-emoji { font-family: \"Segoe UI Symbol\", sans-serif; }\n.md-diagram-panel > svg { max-width: 100%; }\n[lang=\"flow\"] svg, [lang=\"mermaid\"] svg { max-width: 100%; height: auto; }\n[lang=\"mermaid\"] .node text { font-size: 1rem; }\ntable tr th { border-bottom: 0px; }\nvideo { max-width: 100%; display: block; margin: 0px auto; }\niframe { max-width: 100%; width: 100%; border: none; }\n.highlight td, .highlight tr { border: 0px; }\nmark { background: rgb(255, 255, 0); color: rgb(0, 0, 0); }\n.md-html-inline .md-plain, .md-html-inline strong, mark .md-inline-math, mark strong { color: inherit; }\n.md-expand mark .md-meta { opacity: 0.3 !important; }\nmark .md-meta { color: rgb(0, 0, 0); }\n@media print {\n  .typora-export h1, .typora-export h2, .typora-export h3, .typora-export h4, .typora-export h5, .typora-export h6 { break-inside: avoid; }\n}\n.md-diagram-panel .messageText { stroke: none !important; }\n.md-diagram-panel .start-state { fill: var(--node-fill); }\n.md-diagram-panel .edgeLabel rect { opacity: 1 !important; }\n.md-fences.md-fences-math { font-size: 1em; }\n.md-fences-advanced:not(.md-focus) { padding: 0px; white-space: nowrap; border: 0px; }\n.md-fences-advanced:not(.md-focus) { background: inherit; }\n.typora-export-show-outline .typora-export-content { max-width: 1440px; margin: auto; display: flex; flex-direction: row; }\n.typora-export-sidebar { width: 300px; font-size: 0.8rem; margin-top: 80px; margin-right: 18px; }\n.typora-export-show-outline #write { --webkit-flex: 2; flex: 2 1 0%; }\n.typora-export-sidebar .outline-content { position: fixed; top: 0px; max-height: 100%; overflow: hidden auto; padding-bottom: 30px; padding-top: 60px; width: 300px; }\n@media screen and (max-width: 1024px) {\n  .typora-export-sidebar, .typora-export-sidebar .outline-content { width: 240px; }\n}\n@media screen and (max-width: 800px) {\n  .typora-export-sidebar { display: none; }\n}\n.outline-content li, .outline-content ul { margin-left: 0px; margin-right: 0px; padding-left: 0px; padding-right: 0px; list-style: none; overflow-wrap: anywhere; }\n.outline-content ul { margin-top: 0px; margin-bottom: 0px; }\n.outline-content strong { font-weight: 400; }\n.outline-expander { width: 1rem; height: 1.42857rem; position: relative; display: table-cell; vertical-align: middle; cursor: pointer; padding-left: 4px; }\n.outline-expander::before { content: \"\uf125\"; position: relative; font-family: Ionicons; display: inline-block; font-size: 8px; vertical-align: middle; }\n.outline-item { padding-top: 3px; padding-bottom: 3px; cursor: pointer; }\n.outline-expander:hover::before { content: \"\uf123\"; }\n.outline-h1 > .outline-item { padding-left: 0px; }\n.outline-h2 > .outline-item { padding-left: 1em; }\n.outline-h3 > .outline-item { padding-left: 2em; }\n.outline-h4 > .outline-item { padding-left: 3em; }\n.outline-h5 > .outline-item { padding-left: 4em; }\n.outline-h6 > .outline-item { padding-left: 5em; }\n.outline-label { cursor: pointer; display: table-cell; vertical-align: middle; text-decoration: none; color: inherit; }\n.outline-label:hover { text-decoration: underline; }\n.outline-item:hover { border-color: rgb(245, 245, 245); background-color: var(--item-hover-bg-color); }\n.outline-item:hover { margin-left: -28px; margin-right: -28px; border-left: 28px solid transparent; border-right: 28px solid transparent; }\n.outline-item-single .outline-expander::before, .outline-item-single .outline-expander:hover::before { display: none; }\n.outline-item-open > .outline-item > .outline-expander::before { content: \"\uf123\"; }\n.outline-children { display: none; }\n.info-panel-tab-wrapper { display: none; }\n.outline-item-open > .outline-children { display: block; }\n.typora-export .outline-item { padding-top: 1px; padding-bottom: 1px; }\n.typora-export .outline-item:hover { margin-right: -8px; border-right: 8px solid transparent; }\n.typora-export .outline-expander::before { content: \"+\"; font-family: inherit; top: -1px; }\n.typora-export .outline-expander:hover::before, .typora-export .outline-item-open > .outline-item > .outline-expander::before { content: \"\u2212\"; }\n.typora-export-collapse-outline .outline-children { display: none; }\n.typora-export-collapse-outline .outline-item-open > .outline-children, .typora-export-no-collapse-outline .outline-children { display: block; }\n.typora-export-no-collapse-outline .outline-expander::before { content: \"\" !important; }\n.typora-export-show-outline .outline-item-active > .outline-item .outline-label { font-weight: 700; }\n.md-inline-math-container mjx-container { zoom: 0.95; }\nmjx-container { break-inside: avoid; }\n.md-alert.md-alert-note { border-left-color: rgb(9, 105, 218); }\n.md-alert.md-alert-important { border-left-color: rgb(130, 80, 223); }\n.md-alert.md-alert-warning { border-left-color: rgb(154, 103, 0); }\n.md-alert.md-alert-tip { border-left-color: rgb(31, 136, 61); }\n.md-alert.md-alert-caution { border-left-color: rgb(207, 34, 46); }\n.md-alert { padding: 0px 1em; margin-bottom: 16px; color: inherit; border-left: 0.25em solid rgb(0, 0, 0); }\n.md-alert-text-note { color: rgb(9, 105, 218); }\n.md-alert-text-important { color: rgb(130, 80, 223); }\n.md-alert-text-warning { color: rgb(154, 103, 0); }\n.md-alert-text-tip { color: rgb(31, 136, 61); }\n.md-alert-text-caution { color: rgb(207, 34, 46); }\n.md-alert-text { font-size: 0.9rem; font-weight: 700; }\n.md-alert-text svg { fill: currentcolor; position: relative; top: 0.125em; margin-right: 1ch; overflow: visible; }\n.md-alert-text-container::after { content: attr(data-text); text-transform: capitalize; pointer-events: none; margin-right: 1ch; }\n\n\n.CodeMirror { height: auto; }\n.CodeMirror.cm-s-inner { background: inherit; }\n.CodeMirror-scroll { overflow: auto hidden; z-index: 3; }\n.CodeMirror-gutter-filler, .CodeMirror-scrollbar-filler { background-color: rgb(255, 255, 255); }\n.CodeMirror-gutters { border-right: 1px solid rgb(221, 221, 221); background: inherit; white-space: nowrap; }\n.CodeMirror-linenumber { padding: 0px 3px 0px 5px; text-align: right; color: rgb(153, 153, 153); }\n.cm-s-inner .cm-keyword { color: rgb(119, 0, 136); }\n.cm-s-inner .cm-atom, .cm-s-inner.cm-atom { color: rgb(34, 17, 153); }\n.cm-s-inner .cm-number { color: rgb(17, 102, 68); }\n.cm-s-inner .cm-def { color: rgb(0, 0, 255); }\n.cm-s-inner .cm-variable { color: rgb(0, 0, 0); }\n.cm-s-inner .cm-variable-2 { color: rgb(0, 85, 170); }\n.cm-s-inner .cm-variable-3 { color: rgb(0, 136, 85); }\n.cm-s-inner .cm-string { color: rgb(170, 17, 17); }\n.cm-s-inner .cm-property { color: rgb(0, 0, 0); }\n.cm-s-inner .cm-operator { color: rgb(152, 26, 26); }\n.cm-s-inner .cm-comment, .cm-s-inner.cm-comment { color: rgb(170, 85, 0); }\n.cm-s-inner .cm-string-2 { color: rgb(255, 85, 0); }\n.cm-s-inner .cm-meta { color: rgb(85, 85, 85); }\n.cm-s-inner .cm-qualifier { color: rgb(85, 85, 85); }\n.cm-s-inner .cm-builtin { color: rgb(51, 0, 170); }\n.cm-s-inner .cm-bracket { color: rgb(153, 153, 119); }\n.cm-s-inner .cm-tag { color: rgb(17, 119, 0); }\n.cm-s-inner .cm-attribute { color: rgb(0, 0, 204); }\n.cm-s-inner .cm-header, .cm-s-inner.cm-header { color: rgb(0, 0, 255); }\n.cm-s-inner .cm-quote, .cm-s-inner.cm-quote { color: rgb(0, 153, 0); }\n.cm-s-inner .cm-hr, .cm-s-inner.cm-hr { color: rgb(153, 153, 153); }\n.cm-s-inner .cm-link, .cm-s-inner.cm-link { color: rgb(0, 0, 204); }\n.cm-negative { color: rgb(221, 68, 68); }\n.cm-positive { color: rgb(34, 153, 34); }\n.cm-header, .cm-strong { font-weight: 700; }\n.cm-del { text-decoration: line-through; }\n.cm-em { font-style: italic; }\n.cm-link { text-decoration: underline; }\n.cm-error { color: red; }\n.cm-invalidchar { color: red; }\n.cm-constant { color: rgb(38, 139, 210); }\n.cm-defined { color: rgb(181, 137, 0); }\ndiv.CodeMirror span.CodeMirror-matchingbracket { color: rgb(0, 255, 0); }\ndiv.CodeMirror span.CodeMirror-nonmatchingbracket { color: rgb(255, 34, 34); }\n.cm-s-inner .CodeMirror-activeline-background { background: inherit; }\n.CodeMirror { position: relative; overflow: hidden; }\n.CodeMirror-scroll { height: 100%; outline: 0px; position: relative; box-sizing: content-box; background: inherit; }\n.CodeMirror-sizer { position: relative; }\n.CodeMirror-gutter-filler, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-vscrollbar { position: absolute; z-index: 6; display: none; outline: 0px; }\n.CodeMirror-vscrollbar { right: 0px; top: 0px; overflow: hidden; }\n.CodeMirror-hscrollbar { bottom: 0px; left: 0px; overflow: auto hidden; }\n.CodeMirror-scrollbar-filler { right: 0px; bottom: 0px; }\n.CodeMirror-gutter-filler { left: 0px; bottom: 0px; }\n.CodeMirror-gutters { position: absolute; left: 0px; top: 0px; padding-bottom: 10px; z-index: 3; overflow-y: hidden; }\n.CodeMirror-gutter { white-space: normal; height: 100%; box-sizing: content-box; padding-bottom: 30px; margin-bottom: -32px; display: inline-block; }\n.CodeMirror-gutter-wrapper { position: absolute; z-index: 4; background: 0px 0px !important; border: none !important; }\n.CodeMirror-gutter-background { position: absolute; top: 0px; bottom: 0px; z-index: 4; }\n.CodeMirror-gutter-elt { position: absolute; cursor: default; z-index: 4; }\n.CodeMirror-lines { cursor: text; }\n.CodeMirror pre { border-radius: 0px; border-width: 0px; background: 0px 0px; font-family: inherit; font-size: inherit; margin: 0px; white-space: pre; overflow-wrap: normal; color: inherit; z-index: 2; position: relative; overflow: visible; }\n.CodeMirror-wrap pre { overflow-wrap: break-word; white-space: pre-wrap; word-break: normal; }\n.CodeMirror-code pre { border-right: 30px solid transparent; width: fit-content; }\n.CodeMirror-wrap .CodeMirror-code pre { border-right: none; width: auto; }\n.CodeMirror-linebackground { position: absolute; inset: 0px; z-index: 0; }\n.CodeMirror-linewidget { position: relative; z-index: 2; overflow: auto; }\n.CodeMirror-wrap .CodeMirror-scroll { overflow-x: hidden; }\n.CodeMirror-measure { position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden; }\n.CodeMirror-measure pre { position: static; }\n.CodeMirror div.CodeMirror-cursor { position: absolute; visibility: hidden; border-right: none; width: 0px; }\n.CodeMirror div.CodeMirror-cursor { visibility: hidden; }\n.CodeMirror-focused div.CodeMirror-cursor { visibility: inherit; }\n.cm-searching { background: rgba(255, 255, 0, 0.4); }\nspan.cm-underlined { text-decoration: underline; }\nspan.cm-strikethrough { text-decoration: line-through; }\n.cm-tw-syntaxerror { color: rgb(255, 255, 255); background-color: rgb(153, 0, 0); }\n.cm-tw-deleted { text-decoration: line-through; }\n.cm-tw-header5 { font-weight: 700; }\n.cm-tw-listitem:first-child { padding-left: 10px; }\n.cm-tw-box { border-style: solid; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-color: inherit; border-top-width: 0px !important; }\n.cm-tw-underline { text-decoration: underline; }\n@media print {\n  .CodeMirror div.CodeMirror-cursor { visibility: hidden; }\n}\n\n\n:root {\n    --side-bar-bg-color: #fafafa;\n    --control-text-color: #777;\n}\n\n@include-when-export url(https:\/\/fonts.googleapis.com\/css?family=Open+Sans:400italic,700italic,700,400&subset=latin,latin-ext);\n\n\/* open-sans-regular - latin-ext_latin *\/\n  \/* open-sans-italic - latin-ext_latin *\/\n    \/* open-sans-700 - latin-ext_latin *\/\n    \/* open-sans-700italic - latin-ext_latin *\/\n  html {\n    font-size: 16px;\n    -webkit-font-smoothing: antialiased;\n}\n\nbody {\n    font-family: \"Open Sans\",\"Clear Sans\", \"Helvetica Neue\", Helvetica, Arial, 'Segoe UI Emoji', sans-serif;\n    color: rgb(51, 51, 51);\n    line-height: 1.6;\n}\n\n#write {\n    max-width: 860px;\n  \tmargin: 0 auto;\n  \tpadding: 30px;\n    padding-bottom: 100px;\n}\n\n@media only screen and (min-width: 1400px) {\n\t#write {\n\t\tmax-width: 1024px;\n\t}\n}\n\n@media only screen and (min-width: 1800px) {\n\t#write {\n\t\tmax-width: 1200px;\n\t}\n}\n\n#write > ul:first-child,\n#write > ol:first-child{\n    margin-top: 30px;\n}\n\na {\n    color: #4183C4;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n    position: relative;\n    margin-top: 1rem;\n    margin-bottom: 1rem;\n    font-weight: bold;\n    line-height: 1.4;\n    cursor: text;\n}\nh1:hover a.anchor,\nh2:hover a.anchor,\nh3:hover a.anchor,\nh4:hover a.anchor,\nh5:hover a.anchor,\nh6:hover a.anchor {\n    text-decoration: none;\n}\nh1 tt,\nh1 code {\n    font-size: inherit;\n}\nh2 tt,\nh2 code {\n    font-size: inherit;\n}\nh3 tt,\nh3 code {\n    font-size: inherit;\n}\nh4 tt,\nh4 code {\n    font-size: inherit;\n}\nh5 tt,\nh5 code {\n    font-size: inherit;\n}\nh6 tt,\nh6 code {\n    font-size: inherit;\n}\nh1 {\n    font-size: 2.25em;\n    line-height: 1.2;\n    border-bottom: 1px solid #eee;\n}\nh2 {\n    font-size: 1.75em;\n    line-height: 1.225;\n    border-bottom: 1px solid #eee;\n}\n\n\/*@media print {\n    .typora-export h1,\n    .typora-export h2 {\n        border-bottom: none;\n        padding-bottom: initial;\n    }\n\n    .typora-export h1::after,\n    .typora-export h2::after {\n        content: \"\";\n        display: block;\n        height: 100px;\n        margin-top: -96px;\n        border-top: 1px solid #eee;\n    }\n}*\/\n\nh3 {\n    font-size: 1.5em;\n    line-height: 1.43;\n}\nh4 {\n    font-size: 1.25em;\n}\nh5 {\n    font-size: 1em;\n}\nh6 {\n   font-size: 1em;\n    color: #777;\n}\np,\nblockquote,\nul,\nol,\ndl,\ntable{\n    margin: 0.8em 0;\n}\nli>ol,\nli>ul {\n    margin: 0 0;\n}\nhr {\n    height: 2px;\n    padding: 0;\n    margin: 16px 0;\n    background-color: #e7e7e7;\n    border: 0 none;\n    overflow: hidden;\n    box-sizing: content-box;\n}\n\nli p.first {\n    display: inline-block;\n}\nul,\nol {\n    padding-left: 30px;\n}\nul:first-child,\nol:first-child {\n    margin-top: 0;\n}\nul:last-child,\nol:last-child {\n    margin-bottom: 0;\n}\nblockquote {\n    border-left: 4px solid #dfe2e5;\n    padding: 0 15px;\n    color: #777777;\n}\nblockquote blockquote {\n    padding-right: 0;\n}\ntable {\n    padding: 0;\n    word-break: initial;\n}\ntable tr {\n    border: 1px solid #dfe2e5;\n    margin: 0;\n    padding: 0;\n}\ntable tr:nth-child(2n),\nthead {\n    background-color: #f8f8f8;\n}\ntable th {\n    font-weight: bold;\n    border: 1px solid #dfe2e5;\n    border-bottom: 0;\n    margin: 0;\n    padding: 6px 13px;\n}\ntable td {\n    border: 1px solid #dfe2e5;\n    margin: 0;\n    padding: 6px 13px;\n}\ntable th:first-child,\ntable td:first-child {\n    margin-top: 0;\n}\ntable th:last-child,\ntable td:last-child {\n    margin-bottom: 0;\n}\n\n.CodeMirror-lines {\n    padding-left: 4px;\n}\n\n.code-tooltip {\n    box-shadow: 0 1px 1px 0 rgba(0,28,36,.3);\n    border-top: 1px solid #eef2f2;\n}\n\n.md-fences,\ncode,\ntt {\n    border: 1px solid #e7eaed;\n    background-color: #f8f8f8;\n    border-radius: 3px;\n    padding: 0;\n    padding: 2px 4px 0px 4px;\n    font-size: 0.9em;\n}\n\ncode {\n    background-color: #f3f4f4;\n    padding: 0 2px 0 2px;\n}\n\n.md-fences {\n    margin-bottom: 15px;\n    margin-top: 15px;\n    padding-top: 8px;\n    padding-bottom: 6px;\n}\n\n\n.md-task-list-item > input {\n  margin-left: -1.3em;\n}\n\n@media print {\n    html {\n        font-size: 13px;\n    }\n    pre {\n        page-break-inside: avoid;\n        word-wrap: break-word;\n    }\n}\n\n.md-fences {\n\tbackground-color: #f8f8f8;\n}\n#write pre.md-meta-block {\n\tpadding: 1rem;\n    font-size: 85%;\n    line-height: 1.45;\n    background-color: #f7f7f7;\n    border: 0;\n    border-radius: 3px;\n    color: #777777;\n    margin-top: 0 !important;\n}\n\n.mathjax-block>.code-tooltip {\n\tbottom: .375rem;\n}\n\n.md-mathjax-midline {\n    background: #fafafa;\n}\n\n#write>h3.md-focus:before{\n\tleft: -1.5625rem;\n\ttop: .375rem;\n}\n#write>h4.md-focus:before{\n\tleft: -1.5625rem;\n\ttop: .285714286rem;\n}\n#write>h5.md-focus:before{\n\tleft: -1.5625rem;\n\ttop: .285714286rem;\n}\n#write>h6.md-focus:before{\n\tleft: -1.5625rem;\n\ttop: .285714286rem;\n}\n.md-image>.md-meta {\n    \/*border: 1px solid #ddd;*\/\n    border-radius: 3px;\n    padding: 2px 0px 0px 4px;\n    font-size: 0.9em;\n    color: inherit;\n}\n\n.md-tag {\n    color: #a7a7a7;\n    opacity: 1;\n}\n\n.md-toc { \n    margin-top:20px;\n    padding-bottom:20px;\n}\n\n.sidebar-tabs {\n    border-bottom: none;\n}\n\n#typora-quick-open {\n    border: 1px solid #ddd;\n    background-color: #f8f8f8;\n}\n\n#typora-quick-open-item {\n    background-color: #FAFAFA;\n    border-color: #FEFEFE #e5e5e5 #e5e5e5 #eee;\n    border-style: solid;\n    border-width: 1px;\n}\n\n\/** focus mode *\/\n.on-focus-mode blockquote {\n    border-left-color: rgba(85, 85, 85, 0.12);\n}\n\nheader, .context-menu, .megamenu-content, footer{\n    font-family: \"Segoe UI\", \"Arial\", sans-serif;\n}\n\n.file-node-content:hover .file-node-icon,\n.file-node-content:hover .file-node-open-state{\n    visibility: visible;\n}\n\n.mac-seamless-mode #typora-sidebar {\n    background-color: #fafafa;\n    background-color: var(--side-bar-bg-color);\n}\n\n.mac-os #write{\n    caret-color: AccentColor;\n}\n\n.md-lang {\n    color: #b4654d;\n}\n\n\/*.html-for-mac {\n    --item-hover-bg-color: #E6F0FE;\n}*\/\n\n#md-notification .btn {\n    border: 0;\n}\n\n.dropdown-menu .divider {\n    border-color: #e5e5e5;\n    opacity: 0.4;\n}\n\n.ty-preferences .window-content {\n    background-color: #fafafa;\n}\n\n.ty-preferences .nav-group-item.active {\n    color: white;\n    background: #999;\n}\n\n.menu-item-container a.menu-style-btn {\n    background-color: #f5f8fa;\n    background-image: linear-gradient( 180deg , hsla(0, 0%, 100%, 0.8), hsla(0, 0%, 100%, 0)); \n}\n\n\n\n<\/style><title>ansible<\/title>\n<\/head>\n<body class='typora-export os-windows'><div class='typora-export-content'>\n<div id='write'  class=''><p><span>\u77e5\u8bc6\u70b9\u601d\u7ef4\u5bfc\u56fe\uff1a<\/span><a href='https:\/\/flowus.cn\/share\/7875c0e1-ebbd-4dad-aa7e-f40e6ed6c6d3' target='_blank' class='url'>https:\/\/flowus.cn\/share\/7875c0e1-ebbd-4dad-aa7e-f40e6ed6c6d3<\/a><\/p><h2 id='\u4ec0\u4e48\u662fandsble'><span class=\"ez-toc-section\" id=\"%E4%BB%80%E4%B9%88%E6%98%AFandsble%EF%BC%9F\"><\/span><span>\u4ec0\u4e48\u662fandsble\uff1f<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2><p><span>ansible\u662f\u4e00\u6b3e\u81ea\u52a8\u5316\u8fd0\u7ef4\u5de5\u5177\uff0c\u57fa\u4e8ePython\u5f00\u53d1\uff0c\u53ef\u4ee5\u5b9e\u73b0<\/span><\/p><p><span>&#8211;<\/span><span>\u6279\u91cf\u7cfb\u7edf\u914d\u7f6e<\/span><\/p><p><span>&#8211;<\/span><span>\u6279\u91cf\u7a0b\u5e8f\u90e8\u7f72<\/span><\/p><p><span>&#8211;<\/span><span>\u6279\u91cf\u8fd0\u884c\u547d\u4ee4\u7b49\u529f\u80fd<\/span><\/p><ul><li><p><span>ansible\u8fdb\u884c\u8fdc\u7a0b\u7ba1\u7406\u7684\u4e24\u4e2a\u65b9\u6cd5\uff1a<\/span><\/p><ul><li><p><span>adhoc\u4e34\u65f6\u547d\u4ee4\u3002\u5c31\u662f\u5728\u547d\u4ee4\u884c\u4e0a\u6267\u884c\u7ba1\u7406\u547d\u4ee4\u3002<\/span><\/p><\/li><li><p><span>playbook\u5267\u672c\u3002\u628a\u7ba1\u7406\u4efb\u52a1\u7528\u7279\u5b9a\u683c\u5f0f\u5199\u5230\u6587\u4ef6\u4e2d\u3002<\/span><\/p><\/li><\/ul><\/li><li><p><span>\u65e0\u8bba\u54ea\u79cd\u65b9\u5f0f\uff0c\u90fd\u662f\u901a\u8fc7\u6a21\u5757\u52a0\u53c2\u6570\u8fdb\u884c\u7ba1\u7406\u3002<\/span><\/p><\/li><\/ul><h2 id='ansible\u4ea7\u54c1\u7279\u8272'><span class=\"ez-toc-section\" id=\"ansible%E4%BA%A7%E5%93%81%E7%89%B9%E8%89%B2\"><\/span><span>ansible\u4ea7\u54c1\u7279\u8272<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2><p><span>\u57fa\u4e8eSSH\u67b6\u6784<\/span><span>\t\t<\/span><span>\u6a21\u5757\u4e30\u5bcc<\/span><\/p><p><span>\u793e\u533a\u6d3b\u8dc3<\/span><span>\t\t\t\t<\/span><span>\u652f\u6301\u81ea\u5b9a\u4e49\u6a21\u5757<\/span><\/p><p><span>\u652f\u6301\u5f02\u6784IT\u67b6\u6784<\/span><span>\t<\/span><span>\u90e8\u7f72\u7b80\u5355\uff0c\u5bb9\u6613\u4e0a\u624b<\/span><\/p><h2 id='ansible\u73af\u5883\u90e8\u7f72'><span class=\"ez-toc-section\" id=\"ansible%E7%8E%AF%E5%A2%83%E9%83%A8%E7%BD%B2\"><\/span><span>ansible\u73af\u5883\u90e8\u7f72<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2><p><span>1.\u4fee\u6539\/etc\/hosts<\/span><\/p><p><span>\u63a7\u5236\u8282\u70b9ip<\/span><span>\t\t\t<\/span><span>\u4e3b\u673a\u540d<\/span><\/p><p><span>\u88ab\u63a7\u8282\u70b9ip<\/span><span>\t\t\t<\/span><span>\u88ab\u63a7\u8282\u70b9\u4e3b\u673a\u540d<\/span><\/p><p><span>\u5982\uff1a<\/span><\/p><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">]<span class=\"cm-comment\"># tail -4 \/etc\/hosts<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-number\">192<\/span>.168.88.240 &nbsp; pubserver<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-number\">192<\/span>.168.88.11 &nbsp;  web1<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-number\">192<\/span>.168.88.12 &nbsp;  web2<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-number\">192<\/span>.168.88.13 &nbsp;  db1<\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 115px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 115px;\"><\/div><\/div><\/div><\/pre><p><span>2.\u914d\u7f6essh\u5bc6\u94a5<\/span><\/p><p><span>ssh-keygen<\/span><span>\t<\/span><span>ssh-copy-id<\/span>&#x20;<\/p><p><span>\u4e3b\u673aA :<\/span><\/p><p>&#x20;<span>         ssh-keygen   <\/span>&#x20;<\/p><p>&#x9;<span>\t<\/span><span>   ssh-copy-id  \u4e3b\u673aB      \u8f93\u5165\u4e3b\u673aB\u7684\u5bc6\u7801<\/span><\/p><p><span>\u4e3b\u673aA\u5373\u53ef\u514d\u5bc6ssh\u8fde\u63a5\u4e3b\u673aB<\/span><\/p><ul><li><p><span>\u4f7f\u7528\u4e00\u5957ansible\u8f6f\u4ef6\uff0c\u6709\u53ef\u80fd\u9700\u8981\u7ba1\u7406\u591a\u79cd\u73af\u5883\u3002\u5982\u5728\u540c\u4e00\u53f0\u7ba1\u7406\u4e3b\u673a\u4e0a\u7ba1\u7406\u5f00\u53d1\u73af\u5883\u548c\u751f\u4ea7\u73af\u5883\u3002<\/span><\/p><\/li><li><p><span>\u901a\u8fc7\u521b\u5efa\u4e0d\u540c\u7684\u5de5\u4f5c\u76ee\u5f55\uff0c\u6765\u5b9e\u73b0\u76f8\u5e94\u7684\u7ba1\u7406\u9700\u6c42\u3002<\/span><\/p><\/li><li><p><span>\u5c06\u67d0\u4e00\u73af\u5883\u4e0b\u7684\u4e3b\u673a\u5199\u5165\u5230\u5bf9\u5e94\u5de5\u4f5c\u76ee\u5f55\u7684\u4e3b\u673a\u6e05\u5355\u6587\u4ef6\u3002<\/span><\/p><\/li><li><p><span>\u8fdb\u5165\u5bf9\u5e94\u7684\u5de5\u4f5c\u76ee\u5f55\u6267\u884c\u7ba1\u7406\u4efb\u52a1\uff0c\u5c31\u53ef\u4ee5\u7ba1\u7406\u76f8\u5e94\u73af\u5883\u7684\u4e3b\u673a\u3002<\/span><\/p><\/li><\/ul><p><span>3.\u521b\u5efaansible\u5de5\u4f5c\u76ee\u5f55\uff0c\u76ee\u5f55\u540d\u81ea\u5df1\u5b9a\u4e49\uff0c\u4e0d\u662f\u56fa\u5b9a\u7684\u3002<\/span><\/p><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ~]<span class=\"cm-comment\"># mkdir ansible<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ~]<span class=\"cm-comment\"># cd ansible<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 46px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 46px;\"><\/div><\/div><\/div><\/pre><p><span>4.\u521b\u5efa\u914d\u7f6e\u6587\u4ef6\u3002\u9ed8\u8ba4\u7684\u914d\u7f6e\u6587\u4ef6\u662f\/etc\/ansible\/ansible.cfg\uff0c\u4f46\u662f\u4e00\u822c\u4e0d\u4f7f\u7528\u5b83\uff0c\u800c\u662f\u5728\u5de5\u4f5c\u76ee\u5f55\u4e0b\u521b\u5efa\u81ea\u5df1\u7684\u914d\u7f6e\u6587\u4ef6<\/span><\/p><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim ansible.cfg &nbsp;  # \u6587\u4ef6\u540d\u5fc5\u987b\u662fansible.cfg<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[defaults]<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">host_key_checking <span class=\"cm-operator\">=<\/span> <span class=\"cm-atom\">false<\/span> &nbsp; <span class=\"cm-comment\"># \u4e0d\u68c0\u67e5\u4e3b\u673a\u5bc6\u94a5\uff0c=\u53f7\u4e24\u8fb9\u7a7a\u683c\u53ef\u6709\u53ef\u65e0\u3002<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">inventory <span class=\"cm-operator\">=<\/span> inventory &nbsp; &nbsp; &nbsp; <span class=\"cm-comment\"># \u5b9a\u4e49\u4e3b\u673a\u6e05\u5355\u6587\u4ef6\u4e3a\u5f53\u524d\u76ee\u5f55\u7684inventory<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 92px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 92px;\"><\/div><\/div><\/div><\/pre><p><span>5.\u521b\u5efa\u4e3b\u673a\u6e05\u5355\u6587\u4ef6\u3002\u5199\u5728<\/span><span>[<\/span><span>]\u91cc\u7684\u662f\u7ec4\u540d\uff0c<\/span><span>[<\/span><span>]\u4e0b\u9762\u7684\u662f\u7ec4\u5185\u7684\u4e3b\u673a\u540d<\/span><\/p><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><span><span>\u200b<\/span>x<\/span><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">root@pubserver ansible]<span class=\"cm-comment\"># vim inventory<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[webservers]<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">web[1:2] &nbsp; <span class=\"cm-comment\"># web1\u548cweb2\u7684\u7b80\u5316\u5199\u6cd5\uff0c\u8868\u793a\u4ece1\u52302<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[dbs]<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">db1<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># cluster\u662f\u7ec4\u540d\uff0c\u81ea\u5b9a\u4e49\u7684\uff1b:children\u662f\u56fa\u5b9a\u5199\u6cd5\uff0c\u8868\u793a\u4e0b\u9762\u7684\u7ec4\u540d\u662fcluster\u7684\u5b50\u7ec4\u3002<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[cluster:children]<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">dbs<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u67e5\u770b\u88ab\u7ba1\u7406\u7684\u6240\u6709\u7684\u4e3b\u673a\u3002\u6ce8\u610f\uff0c\u4e00\u5b9a\u5728\u5de5\u4f5c\u76ee\u5f55\u4e0b\u6267\u884c\u547d\u4ee4\u3002<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible all --list-hosts<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts (3):<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  web1<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  web2<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  db1<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u67e5\u770bwebservers\u7ec4\u4e2d\u6240\u6709\u7684\u4e3b\u673a<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers --list-hosts<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts (2):<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  web1<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  web2<\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 553px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 553px;\"><\/div><\/div><\/div><\/pre><h2 id='ansible\u914d\u7f6e\u6587\u4ef6'><span class=\"ez-toc-section\" id=\"ansible%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6\"><\/span><span>ansible\u914d\u7f6e\u6587\u4ef6<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\u4fee\u6539\u4e3b\u914d\u7f6e\u6587\u4ef6<\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\u00b7\u4e3b\u914d\u7f6e\u6587\u4ef6ansib|e.cfg<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span>\u53c2\u8003\/etc\/ansible\/ansible.cfg<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">ansible\u914d\u7f6e\u6587\u4ef6\u67e5\u627e\u987a\u5e8f<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span>\u9996\u5148\u68c0\u6d4bANSIBLE CONFIG\u53d8\u91cf\u5b9a\u4e49\u7684\u914d\u7f6e\u6587\u4ef6<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span>\u5176\u6b21\u68c0\u67e5\u5f53\u524d\u76ee\u5f55\u4e0b\u7684.\/ansible.cfg\u6587\u4ef6<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span>\u518d\u6b21\u68c0\u67e5\u5f53\u524d\u7528\u6237\u5bb6\u76ee\u5f55\u4e0b\/ansible.cfg\u6587\u4ef6<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span>\u6700\u540e\u68c0\u67e5\/etc\/ansible\/ansible.cfg\u6587\u4ef6<\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 184px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 184px;\"><\/div><\/div><\/div><\/pre><h2 id='adhocl\u4e34\u65f6\u547d\u4ee4'><span class=\"ez-toc-section\" id=\"adhocl%E4%B8%B4%E6%97%B6%E5%91%BD%E4%BB%A4\"><\/span><span>adhocl\u4e34\u65f6\u547d\u4ee4<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2><h3 id='\u8bed\u6cd5'><span class=\"ez-toc-section\" id=\"%E8%AF%AD%E6%B3%95\"><\/span><span>\u8bed\u6cd5<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">ansible \u4e3b\u673a\u6216\u7ec4\u5217\u8868 <span class=\"cm-attribute\">-m<\/span> \u6a21\u5757 <span class=\"cm-attribute\">-a<\/span> <span class=\"cm-string\">\"\u53c2\u6570\"<\/span> &nbsp; &nbsp;<span class=\"cm-comment\"># -a\u662f\u53ef\u9009\u7684<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\u901a\u8fc7ping\u6a21\u5757\u6d4b\u8bd5\u5230\u8fdc\u7a0b\u4e3b\u673a\u7684\u8fde\u901a\u6027\u3002<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">ansible all <span class=\"cm-attribute\">-m<\/span> <span class=\"cm-builtin\">ping<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 92px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 92px;\"><\/div><\/div><\/div><\/pre><h3 id='ansible\u6a21\u5757'><span class=\"ez-toc-section\" id=\"ansible%E6%A8%A1%E5%9D%97\"><\/span><em><span>ansible\u6a21\u5757<\/span><\/em><span class=\"ez-toc-section-end\"><\/span><\/h3><ul><li><p><span>\u5728ansible\u4e2d\uff0c\u901a\u8fc7\u6a21\u5757\u6765\u5b8c\u6210\u67d0\u4e00\u7279\u5b9a\u4efb\u52a1\u3002<\/span><\/p><\/li><li><p><span>\u5b66\u4e60\u6a21\u5757\uff0c\u4e3b\u8981\u77e5\u9053\u5b9e\u73b0\u67d0\u79cd\u529f\u80fd\uff0c\u9700\u8981\u54ea\u4e2a\u6a21\u5757\u3002<\/span><\/p><\/li><li><p><span>\u6a21\u5757\u7684\u4f7f\u7528\u65b9\u5f0f\u90fd\u4e00\u6837\u3002\u4e3b\u8981\u662f\u67e5\u770b\u8be5\u6a21\u5757\u6709\u54ea\u4e9b\u53c2\u6570\u3002<\/span><\/p><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5217\u51fa\u5168\u90e8\u53ef\u7528\u6a21\u5757\uff0c\u6309\u7a7a\u683c\u952e\u5411\u4e0b\u7ffb\u9875\uff0c\u6309q\u9000\u51fa<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-doc -l<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5217\u51fa\u6a21\u5757\u6570\u91cf<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-doc -l | wc -l  # \u5982\u6709WARNING\u63d0\u793a\uff0c\u53ef\u5ffd\u7565<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-number\">7214<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u67e5\u770b\u5305\u542byum\u7684\u6a21\u5757\u540d<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-doc -l | grep yum<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u67e5\u770byum\u6a21\u5757\u7684\u5e2e\u52a9\u6587\u6863\uff0c\u6309\u7a7a\u683c\u952e\u5411\u4e0b\u7ffb\u9875\uff0c\u6309q\u9000\u51fa<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-doc yum<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 277px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 277px;\"><\/div><\/div><\/div><\/pre><h4 id='command\u6a21\u5757'><span class=\"ez-toc-section\" id=\"command%E6%A8%A1%E5%9D%97\"><\/span><span>command\u6a21\u5757<\/span><span class=\"ez-toc-section-end\"><\/span><\/h4><ul><li><p><span>ansible\u9ed8\u8ba4\u6a21\u5757\uff0c\u7528\u4e8e\u5728\u8fdc\u7a0b\u4e3b\u673a\u4e0a\u6267\u884c\u4efb\u610f\u547d\u4ee4<\/span><\/p><\/li><li><p><span>command\u4e0d\u652f\u6301shell\u7279\u6027\uff0c\u5982\u7ba1\u9053\u3001\u91cd\u5b9a\u5411\u3002<\/span><\/p><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728\u6240\u6709\u88ab\u7ba1\u4e3b\u673a\u4e0a\u521b\u5efa\u76ee\u5f55\/tmp\/demo<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]ansible all <span class=\"cm-attribute\">-a<\/span> <span class=\"cm-string\">\"mkdir \/tmp\/demo\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u67e5\u770bwe1\u7684ip\u5730\u5740<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]ansible web1 <span class=\"cm-attribute\">-a<\/span> <span class=\"cm-string\">\"ip a s\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]ansible web1 <span class=\"cm-attribute\">-a<\/span> <span class=\"cm-string\">\"ip a s | head\"<\/span> &nbsp;<span class=\"cm-comment\"># \u62a5\u9519<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 115px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 115px;\"><\/div><\/div><\/div><\/pre><h4 id='shell\u6a21\u5757'><span class=\"ez-toc-section\" id=\"shell%E6%A8%A1%E5%9D%97\"><\/span><span>shell\u6a21\u5757<\/span><span class=\"ez-toc-section-end\"><\/span><\/h4><ul><li><p><span>\u4e0ecommand\u6a21\u5757\u7c7b\u4f3c\uff0c\u4f46\u662f\u652f\u6301shell\u7279\u6027\uff0c\u5982\u7ba1\u9053\u3001\u91cd\u5b9a\u5411\u3002<\/span><\/p><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u67e5\u770bweb1\u7684ip\u5730\u5740\uff0c\u53ea\u663e\u793a\u524d10\u884c<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]ansible web1 <span class=\"cm-attribute\">-m<\/span> shell <span class=\"cm-attribute\">-a<\/span> <span class=\"cm-string\">\"ip a s | head\"<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 46px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 46px;\"><\/div><\/div><\/div><\/pre><h4 id='script\u6a21\u5757'><span class=\"ez-toc-section\" id=\"script%E6%A8%A1%E5%9D%97\"><\/span><span>script\u6a21\u5757<\/span><span class=\"ez-toc-section-end\"><\/span><\/h4><ul><li><p><span>\u7528\u4e8e\u5728\u8fdc\u7a0b\u4e3b\u673a\u4e0a\u6267\u884c\u811a\u672c<\/span><\/p><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728\u63a7\u5236\u7aef\u521b\u5efa\u811a\u672c\u5373\u53ef<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible] <span class=\"cm-builtin\">vim<\/span> test.sh<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-meta\">#!\/bin\/bash<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-keyword\">for<\/span> user <span class=\"cm-keyword\">in<\/span> user{1..5}do &nbsp;  useradd <span class=\"cm-def\">$user<\/span> &nbsp; &nbsp;<span class=\"cm-builtin\">echo<\/span> <span class=\"cm-string\">'123456'<\/span> | passwd <span class=\"cm-attribute\">--stdin<\/span> <span class=\"cm-def\">$userdone<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728webservers\u7ec4\u7684\u4e3b\u673a\u4e0a\u6267\u884c\u811a\u672c<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible] ansible webservers <span class=\"cm-attribute\">-m<\/span> script <span class=\"cm-attribute\">-a<\/span> <span class=\"cm-string\">\"test.sh\"<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 138px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 138px;\"><\/div><\/div><\/div><\/pre><h4 id='file\u6a21\u5757'><span class=\"ez-toc-section\" id=\"file%E6%A8%A1%E5%9D%97\"><\/span><span>file\u6a21\u5757<\/span><span class=\"ez-toc-section-end\"><\/span><\/h4><ul><li><p><span>\u53ef\u4ee5\u521b\u5efa\u6587\u4ef6\u3001\u76ee\u5f55\u3001\u94fe\u63a5\u7b49\uff0c\u8fd8\u53ef\u4ee5\u4fee\u6539\u6743\u9650\u3001\u5c5e\u6027\u7b49<\/span><\/p><\/li><li><p><span>\u5e38\u7528\u7684\u9009\u9879\uff1a<\/span><\/p><ul><li><p><span>path\uff1a\u6307\u5b9a\u6587\u4ef6\u8def\u5f84<\/span><\/p><\/li><li><p><span>owner\uff1a\u8bbe\u7f6e\u6587\u4ef6\u6240\u6709\u8005<\/span><\/p><\/li><li><p><span>group\uff1a\u8bbe\u7f6e\u6587\u4ef6\u6240\u5c5e\u7ec4<\/span><\/p><\/li><li><p><span>state\uff1a\u72b6\u6001\u3002touch\u8868\u793a\u521b\u5efa\u6587\u4ef6\uff0cdirectory\u8868\u793a\u521b\u5efa\u76ee\u5f55\uff0clink\u8868\u793a\u521b\u5efa\u8f6f\u94fe\u63a5\uff0cabsent\u8868\u793a\u5220\u9664<\/span><\/p><\/li><li><p><span>mode\uff1a\u8bbe\u7f6e\u6743\u9650<\/span><\/p><\/li><li><p><span>src\uff1asource\u7684\u7b80\u5199\uff0c\u6e90<\/span><\/p><\/li><li><p><span>dest\uff1adestination\u7684\u7b80\u5199\uff0c\u76ee\u6807<\/span><\/p><\/li><\/ul><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u67e5\u770b\u4f7f\u7528\u5e2e\u52a9<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-doc file<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">... ...<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">EXAMPLES:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: Change file ownership, group and permissions &nbsp;<span class=\"cm-comment\"># \u5ffd\u7565<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  ansible.builtin.file: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"cm-comment\"># \u6a21\u5757\u540d\u3002\u4ee5\u4e0b\u662f\u5b83\u7684\u5404\u79cd\u53c2\u6570<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  path: \/etc\/foo.conf &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"cm-comment\"># \u8981\u4fee\u6539\u7684\u6587\u4ef6\u7684\u8def\u5f84<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  owner: foo &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\"># \u6587\u4ef6\u6240\u6709\u8005<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  group: foo &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\"># \u6587\u4ef6\u7684\u6240\u6709\u7ec4<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  mode: <span class=\"cm-string\">'0644'<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\"># \u6743\u9650<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">... ...<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u6839\u636e\u4e0a\u9762\u7684example\uff0c-m file -a\u7684\u5185\u5bb9\u5c31\u662fdoc\u4e2d\u628a\u5404\u53c2\u6570\u7684\u5192\u53f7\u6362\u6210=\u53f7<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728webservers\u7ec4\u7684\u4e3b\u673a\u4e0a\u521b\u5efa\/tmp\/file.txt<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m file -a \"path=\/tmp\/file.txt state=touch\" &nbsp; # touch\u662f\u6307\u5982\u679c\u6587\u4ef6\u4e0d\u5b58\u5728\uff0c\u5219\u521b\u5efa\uff1b\u5982\u679c\u5b58\u5728\u5219\u6539\u53d8\u5b83\u7684\u65f6\u95f4\u6233<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728webservers\u7ec4\u7684\u4e3b\u673a\u4e0a\u521b\u5efa\/tmp\/demo\u76ee\u5f55<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m file -a \"path=\/tmp\/demo state=directory\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5c06webservers\u7ec4\u7684\u4e3b\u673a\u4e0a\/tmp\/file.txt\u7684\u5c5e\u4e3b\u6539\u4e3asshd\uff0c\u5c5e\u7ec4\u6539\u4e3aadm\uff0c\u6743\u9650\u6539\u4e3a0777<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m file -a \"path=\/tmp\/file.txt owner=sshd group=adm mode='0777'\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -a \"ls -l \/tmp\/file.txt\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5220\u9664webservers\u7ec4\u7684\u4e3b\u673a\u4e0a\/tmp\/file.txt<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m file -a \"path=\/tmp\/file.txt state=absent\" &nbsp;  # absent\u82f1\u6587\u7f3a\u5e2d\u7684\u3001\u4e0d\u5b58\u5728\u7684<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5220\u9664webservers\u7ec4\u7684\u4e3b\u673a\u4e0a\/tmp\/demo<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m file -a \"path=\/tmp\/demo state=absent\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728webservers\u7ec4\u7684\u4e3b\u673a\u4e0a\u521b\u5efa\/etc\/hosts\u7684\u8f6f\u94fe\u63a5\uff0c\u76ee\u6807\u662f\/tmp\/hosts.txt<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m file -a \"src=\/etc\/hosts dest=\/tmp\/hosts.txt state=link\"<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 830px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 830px;\"><\/div><\/div><\/div><\/pre><h4 id='copy\u6a21\u5757'><span class=\"ez-toc-section\" id=\"copy%E6%A8%A1%E5%9D%97\"><\/span><span>copy\u6a21\u5757<\/span><span class=\"ez-toc-section-end\"><\/span><\/h4><ul><li><p><span>\u7528\u4e8e\u5c06\u6587\u4ef6\u4ece\u63a7\u5236\u7aef\u62f7\u8d1d\u5230\u88ab\u63a7\u7aef<\/span><\/p><\/li><li><p><span>\u5e38\u7528\u9009\u9879\uff1a<\/span><\/p><ul><li><p><span>src\uff1a\u6e90\u3002\u63a7\u5236\u7aef\u7684\u6587\u4ef6\u8def\u5f84<\/span><\/p><\/li><li><p><span>dest\uff1a\u76ee\u6807\u3002\u88ab\u63a7\u5236\u7aef\u7684\u6587\u4ef6\u8def\u5f84<\/span><\/p><\/li><li><p><span>content\uff1a\u5185\u5bb9\u3002\u9700\u8981\u5199\u5230\u6587\u4ef6\u4e2d\u7684\u5185\u5bb9<\/span><\/p><\/li><\/ul><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># echo \"AAA\" &gt; a3.txt<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5c06a3.txt\u62f7\u8d1d\u5230webservers\u4e3b\u673a\u7684\/root\/<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m copy -a \"src=a3.txt dest=\/root\/\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728\u76ee\u6807\u4e3b\u673a\u4e0a\u521b\u5efa\/tmp\/mytest.txt\uff0c\u5185\u5bb9\u662fHello World<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m copy -a \"content='Hello World' dest=\/tmp\/mytest.txt\"<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 161px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 161px;\"><\/div><\/div><\/div><\/pre><h4 id='fetch\u6a21\u5757'><span class=\"ez-toc-section\" id=\"fetch%E6%A8%A1%E5%9D%97\"><\/span><span>fetch\u6a21\u5757<\/span><span class=\"ez-toc-section-end\"><\/span><\/h4><ul><li><p><span>\u4e0ecopy\u6a21\u5757\u76f8\u53cd\uff0ccopy\u662f\u4e0a\u4f20\uff0cfetch\u662f\u4e0b\u8f7d<\/span><\/p><\/li><li><p><span>\u5e38\u7528\u9009\u9879\uff1a<\/span><\/p><ul><li><p><span>src\uff1a\u6e90\u3002\u88ab\u63a7\u5236\u7aef\u7684\u6587\u4ef6\u8def\u5f84<\/span><\/p><\/li><li><p><span>dest\uff1a\u76ee\u6807\u3002\u63a7\u5236\u7aef\u7684\u6587\u4ef6\u8def\u5f84<\/span><\/p><\/li><\/ul><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5c06webservers\u4e3b\u673a\u4e0a\u7684\/etc\/hostname\u4e0b\u8f7d\u5230\u672c\u5730\u7528\u6237\u7684\u5bb6\u76ee\u5f55\u4e0b<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m fetch -a \"src=\/etc\/hostname dest=~\/\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ls \/root\/web1\/etc\/ &nbsp; # web1\u662fwebservers\u7ec4\u4e2d\u7684\u4e3b\u673a<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">hostname<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ls \/root\/web2\/etc\/<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">hostname<\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 138px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 138px;\"><\/div><\/div><\/div><\/pre><h4 id='lineinfile\u6a21\u5757'><span class=\"ez-toc-section\" id=\"lineinfile%E6%A8%A1%E5%9D%97\"><\/span><span>lineinfile\u6a21\u5757<\/span><span class=\"ez-toc-section-end\"><\/span><\/h4><ul><li><p><span>\u7528\u4e8e\u786e\u4fdd\u5b58\u76ee\u6807\u6587\u4ef6\u4e2d\u6709\u67d0\u4e00\u884c\u5185\u5bb9<\/span><\/p><\/li><li><p><span>\u5e38\u7528\u9009\u9879\uff1a<\/span><\/p><ul><li><p><span>path\uff1a\u5f85\u4fee\u6539\u7684\u6587\u4ef6\u8def\u5f84<\/span><\/p><\/li><li><p><span>line\uff1a\u5199\u5165\u6587\u4ef6\u7684\u4e00\u884c\u5185\u5bb9<\/span><\/p><\/li><li><p><span>regexp\uff1a\u6b63\u5219\u8868\u8fbe\u5f0f\uff0c\u7528\u4e8e\u67e5\u627e\u6587\u4ef6\u4e2d\u7684\u5185\u5bb9<\/span><\/p><\/li><\/ul><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># webservers\u7ec4\u4e2d\u7684\u4e3b\u673a\uff0c\/etc\/issue\u4e2d\u4e00\u5b9a\u8981\u6709\u4e00\u884cHello World\u3002\u5982\u679c\u8be5\u884c\u4e0d\u5b58\u5728\uff0c\u5219\u9ed8\u8ba4\u6dfb\u52a0\u5230\u6587\u4ef6\u7ed3\u5c3e<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m lineinfile -a \"path=\/etc\/issue line='Hello World'\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># webservers\u7ec4\u4e2d\u7684\u4e3b\u673a\uff0c\u628a\/etc\/issue\u4e2d\u6709Hello\u7684\u884c\uff0c\u66ff\u6362\u6210chi le ma<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m lineinfile -a \"path=\/etc\/issue line='chi le ma' regexp='Hello'\"<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 161px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 161px;\"><\/div><\/div><\/div><\/pre><h4 id='replace\u6a21\u5757'><span class=\"ez-toc-section\" id=\"replace%E6%A8%A1%E5%9D%97\"><\/span><span>replace\u6a21\u5757<\/span><span class=\"ez-toc-section-end\"><\/span><\/h4><ul><li><p><span>lineinfile\u4f1a\u66ff\u6362\u4e00\u884c\uff0creplace\u53ef\u4ee5\u66ff\u6362\u5173\u952e\u8bcd<\/span><\/p><\/li><li><p><span>\u5e38\u7528\u9009\u9879\uff1a<\/span><\/p><ul><li><p><span>path\uff1a\u5f85\u4fee\u6539\u7684\u6587\u4ef6\u8def\u5f84<\/span><\/p><\/li><li><p><span>replace\uff1a\u5c06\u6b63\u5219\u8868\u8fbe\u5f0f\u67e5\u5230\u7684\u5185\u5bb9\uff0c\u66ff\u6362\u6210replace\u7684\u5185\u5bb9<\/span><\/p><\/li><li><p><span>regexp\uff1a\u6b63\u5219\u8868\u8fbe\u5f0f\uff0c\u7528\u4e8e\u67e5\u627e\u6587\u4ef6\u4e2d\u7684\u5185\u5bb9<\/span><\/p><\/li><\/ul><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u628awebservers\u7ec4\u4e2d\u4e3b\u673a\u4e0a\/etc\/issue\u6587\u4ef6\u4e2d\u7684chi\uff0c\u66ff\u6362\u6210he<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m replace -a \"path=\/etc\/issue regexp='chi' replace='he'\"<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 69px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 69px;\"><\/div><\/div><\/div><\/pre><h4 id='\u6587\u4ef6\u64cd\u4f5c\u7efc\u5408\u7ec3\u4e60'><span class=\"ez-toc-section\" id=\"%E6%96%87%E4%BB%B6%E6%93%8D%E4%BD%9C%E7%BB%BC%E5%90%88%E7%BB%83%E4%B9%A0\"><\/span><span>\u6587\u4ef6\u64cd\u4f5c\u7efc\u5408\u7ec3\u4e60<\/span><span class=\"ez-toc-section-end\"><\/span><\/h4><ul><li><p><span>\u6240\u6709\u64cd\u4f5c\u5747\u5bf9webservers\u7ec4\u4e2d\u7684\u4e3b\u673a\u751f\u6548<\/span><\/p><\/li><li><p><span>\u5728\u76ee\u6807\u4e3b\u673a\u4e0a\u521b\u5efa\/tmp\/mydemo\u76ee\u5f55\uff0c\u5c5e\u4e3b\u548c\u5c5e\u7ec4\u90fd\u662fadm\uff0c\u6743\u9650\u4e3a0777<\/span><\/p><\/li><li><p><span>\u5c06\u63a7\u5236\u7aef\u7684\/etc\/hosts\u6587\u4ef6\u4e0a\u4f20\u5230\u76ee\u6807\u4e3b\u673a\u7684\/tmp\/mydemo\u76ee\u5f55\u4e2d\uff0c\u5c5e\u4e3b\u548c\u5c5e\u7ec4\u90fd\u662fadm\uff0c\u6743\u9650\u4e3a0600<\/span><\/p><\/li><li><p><span>\u66ff\u6362\u76ee\u6807\u4e3b\u673a\/tmp\/mydemo\/hosts\u6587\u4ef6\u4e2d\u7684db1\u4e3adatabase1<\/span><\/p><\/li><li><p><span>\u5c06\u76ee\u6807\u4e3b\u673a\/tmp\/mydemo\/hosts\u6587\u4ef6\u4e0b\u8f7d\u5230\u63a7\u5236\u7aef\u7684\u5f53\u524d\u76ee\u5f55<\/span><\/p><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728\u76ee\u6807\u4e3b\u673a\u4e0a\u521b\u5efa\/tmp\/mydemo\u76ee\u5f55\uff0c\u5c5e\u4e3b\u548c\u5c5e\u7ec4\u90fd\u662fadm\uff0c\u6743\u9650\u4e3a0777<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m file -a \"path=\/tmp\/mydemo owner=adm group=adm mode='0777' state=directory\" <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5c06\u63a7\u5236\u7aef\u7684\/etc\/hosts\u6587\u4ef6\u4e0a\u4f20\u5230\u76ee\u6807\u4e3b\u673a\u7684\/tmp\/mydemo\u76ee\u5f55\u4e2d\uff0c\u5c5e\u4e3b\u548c\u5c5e\u7ec4\u90fd\u662fadm\uff0c\u6743\u9650\u4e3a0600<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m copy -a \"src=\/etc\/hosts dest=\/tmp\/mydemo owner=adm group=adm mode='0600'\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u66ff\u6362\u76ee\u6807\u4e3b\u673a\/tmp\/mydemo\/hosts\u6587\u4ef6\u4e2d\u7684db1\u4e3adatabase1<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m replace -a \"path=\/tmp\/mydemo\/hosts regexp='db1' replace='database1'\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5c06\u76ee\u6807\u4e3b\u673a\/tmp\/mydemo\/hosts\u6587\u4ef6\u4e0b\u8f7d\u5230\u63a7\u5236\u7aef\u7684\u5f53\u524d\u76ee\u5f55\u3002<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m fetch -a \"src=\/tmp\/mydemo\/hosts dest=.\"<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 323px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 323px;\"><\/div><\/div><\/div><\/pre><h4 id='user\u6a21\u5757'><span class=\"ez-toc-section\" id=\"user%E6%A8%A1%E5%9D%97\"><\/span><span>user\u6a21\u5757<\/span><span class=\"ez-toc-section-end\"><\/span><\/h4><ul><li><p><span>\u5b9e\u73b0linux\u7528\u6237\u7ba1\u7406<\/span><\/p><\/li><li><p><span>\u5e38\u7528\u9009\u9879\uff1a<\/span><\/p><ul><li><p><span>name\uff1a\u5f85\u521b\u5efa\u7684\u7528\u6237\u540d<\/span><\/p><\/li><li><p><span>uid\uff1a\u7528\u6237ID<\/span><\/p><\/li><li><p><span>group\uff1a\u8bbe\u7f6e\u4e3b\u7ec4<\/span><\/p><\/li><li><p><span>groups\uff1a\u8bbe\u7f6e\u9644\u52a0\u7ec4<\/span><\/p><\/li><li><p><span>home\uff1a\u8bbe\u7f6e\u5bb6\u76ee\u5f55<\/span><\/p><\/li><li><p><span>password\uff1a\u8bbe\u7f6e\u7528\u6237\u5bc6\u7801<\/span><\/p><\/li><li><p><span>state\uff1a\u72b6\u6001\u3002present\u8868\u793a\u521b\u5efa\uff0c\u5b83\u662f\u9ed8\u8ba4\u9009\u9879\u3002absent\u8868\u793a\u5220\u9664<\/span><\/p><\/li><li><p><span>remove\uff1a\u5220\u9664\u5bb6\u76ee\u5f55\u3001\u90ae\u7bb1\u7b49\u3002\u503c\u4e3ayes\u6216true\u90fd\u53ef\u4ee5\u3002<\/span><\/p><\/li><\/ul><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728webservers\u7ec4\u4e2d\u7684\u4e3b\u673a\u4e0a\uff0c\u521b\u5efazhangsan\u7528\u6237<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m user -a \"name=zhangsan\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728webservers\u7ec4\u4e2d\u7684\u4e3b\u673a\u4e0a\uff0c\u521b\u5efalisi\u7528\u6237\u3002\u8bbe\u7f6e\u5176uid\u4e3a1010\uff0c\u4e3b\u7ec4\u662fadm\uff0c\u9644\u52a0\u7ec4\u662fdaemon\u548croot\uff0c\u5bb6\u76ee\u5f55\u662f\/home\/lisi<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m user -a \"name=lisi uid=1010 group=adm groups=daemon,root home=\/home\/lisi\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u8bbe\u7f6ezhangsan\u7684\u5bc6\u7801\u662f123456<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># {{}}\u662f\u56fa\u5b9a\u683c\u5f0f\uff0c\u8868\u793a\u6267\u884c\u547d\u4ee4\u3002password_hash\u662f\u51fd\u6570\uff0csha512\u662f\u52a0\u5bc6\u7b97\u6cd5\uff0c\u5219password_hash\u51fd\u6570\u5c06\u4f1a\u628a123456\u901a\u8fc7sha512\u52a0\u5bc6\u53d8\u6210zhangsan\u7684\u5bc6\u7801<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m user -a \"name=zhangsan password={{'123456'|password_hash('sha512')}}\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5220\u9664zhangsan\u7528\u6237\uff0c\u4e0d\u5220\u9664\u5bb6\u76ee\u5f55<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m user -a \"name=zhangsan state=absent\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5220\u9664lisi\u7528\u6237\uff0c\u540c\u65f6\u5220\u9664\u5bb6\u76ee\u5f55<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m user -a \"name=lisi state=absent remove=yes\"<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 461px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 461px;\"><\/div><\/div><\/div><\/pre><h4 id='group\u6a21\u5757'><span class=\"ez-toc-section\" id=\"group%E6%A8%A1%E5%9D%97\"><\/span><span>group\u6a21\u5757<\/span><span class=\"ez-toc-section-end\"><\/span><\/h4><ul><li><p><span>\u521b\u5efa\u3001\u5220\u9664\u7ec4<\/span><\/p><\/li><li><p><span>\u5e38\u7528\u9009\u9879\uff1a<\/span><\/p><ul><li><p><span>name\uff1a\u5f85\u521b\u5efa\u7684\u7ec4\u540d<\/span><\/p><\/li><li><p><span>gid\uff1a\u7ec4\u7684ID\u53f7<\/span><\/p><\/li><li><p><span>state\uff1apresent\u8868\u793a\u521b\u5efa\uff0c\u5b83\u662f\u9ed8\u8ba4\u9009\u9879\u3002absent\u8868\u793a\u5220\u9664<\/span><\/p><\/li><\/ul><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728webservers\u7ec4\u4e2d\u7684\u4e3b\u673a\u4e0a\u521b\u5efa\u540d\u4e3adevops\u7684\u7ec4<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m group -a \"name=devops\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728webservers\u7ec4\u4e2d\u7684\u4e3b\u673a\u4e0a\u5220\u9664\u540d\u4e3adevops\u7684\u7ec4<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m group -a \"name=devops state=absent\"<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 115px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 115px;\"><\/div><\/div><\/div><\/pre><h4 id='yumrepository'><span class=\"ez-toc-section\" id=\"yum_repository\"><\/span><span>yum<\/span><span>_<\/span><span>repository<\/span><span class=\"ez-toc-section-end\"><\/span><\/h4><ul><li><p><span>\u7528\u4e8e\u914d\u7f6eyum<\/span><\/p><\/li><li><p><span>\u5e38\u7528\u9009\u9879\uff1a<\/span><\/p><ul><li><p><span>file\uff1a \u6307\u5b9a\u6587\u4ef6\u540d<\/span><\/p><\/li><li><p><span>\u5176\u4ed6\u9009\u9879\uff0c\u8bf7\u4e0e\u6587\u4ef6\u5185\u5bb9\u5bf9\u7167<\/span><\/p><\/li><\/ul><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728webservers\u7ec4\u4e2d\u7684\u4e3b\u673a\u4e0a\uff0c\u914d\u7f6eyum<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m yum_repository -a \"file=myrepo name=myApp description='My App' baseurl=ftp:\/\/192.168.88.240\/dvd\/AppStream gpgcheck=no enabled=yes\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># cat \/etc\/yum.repos.d\/myrepo.repo <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[myApp]<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">async <span class=\"cm-operator\">=<\/span> <span class=\"cm-number\">1<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">baseurl <span class=\"cm-operator\">=<\/span> ftp:\/\/192.168.88.240\/dvd\/AppStream<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">enabled <span class=\"cm-operator\">=<\/span> <span class=\"cm-number\">1<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">gpgcheck <span class=\"cm-operator\">=<\/span> <span class=\"cm-number\">0<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">name <span class=\"cm-operator\">=<\/span> My App<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m yum_repository -a \"file=myrepo name=BaseOS description='Base OS' baseurl=ftp:\/\/192.168.88.240\/dvd\/BaseOS gpgcheck=no enabled=yes\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># cat \/etc\/yum.repos.d\/myrepo.repo <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[myApp]<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">async <span class=\"cm-operator\">=<\/span> <span class=\"cm-number\">1<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">baseurl <span class=\"cm-operator\">=<\/span> ftp:\/\/192.168.88.240\/dvd\/AppStream<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">enabled <span class=\"cm-operator\">=<\/span> <span class=\"cm-number\">1<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">gpgcheck <span class=\"cm-operator\">=<\/span> <span class=\"cm-number\">0<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">name <span class=\"cm-operator\">=<\/span> My App<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[BaseOS]<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">async <span class=\"cm-operator\">=<\/span> <span class=\"cm-number\">1<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">baseurl <span class=\"cm-operator\">=<\/span> ftp:\/\/192.168.88.240\/dvd\/BaseOS<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">enabled <span class=\"cm-operator\">=<\/span> <span class=\"cm-number\">1<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">gpgcheck <span class=\"cm-operator\">=<\/span> <span class=\"cm-number\">0<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">name <span class=\"cm-operator\">=<\/span> Base OS<\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 691px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 691px;\"><\/div><\/div><\/div><\/pre><h4 id='yum\u6a21\u5757'><span class=\"ez-toc-section\" id=\"yum%E6%A8%A1%E5%9D%97\"><\/span><span>yum\u6a21\u5757<\/span><span class=\"ez-toc-section-end\"><\/span><\/h4><ul><li><p><span>\u7528\u4e8erpm\u8f6f\u4ef6\u5305\u7ba1\u7406\uff0c\u5982\u5b89\u88c5\u3001\u5347\u7ea7\u3001\u5378\u8f7d<\/span><\/p><\/li><li><p><span>\u5e38\u7528\u9009\u9879\uff1a<\/span><\/p><ul><li><p><span>name\uff1a\u5305\u540d<\/span><\/p><\/li><li><p><span>state\uff1a\u72b6\u6001\u3002present\u8868\u793a\u5b89\u88c5\uff0c\u5982\u679c\u5df2\u5b89\u88c5\u5219\u5ffd\u7565\uff1blatest\u8868\u793a\u5b89\u88c5\u6216\u5347\u7ea7\u5230\u6700\u65b0\u7248\u672c\uff1babsent\u8868\u793a\u5378\u8f7d\u3002<\/span><\/p><\/li><\/ul><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728webservers\u7ec4\u4e2d\u7684\u4e3b\u673a\u4e0a\u5b89\u88c5tar<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m yum -a \"name=tar state=present\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728webservers\u7ec4\u4e2d\u7684\u4e3b\u673a\u4e0a\u5b89\u88c5wget\u3001net-tools<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m yum -a \"name=wget,net-tools\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728webservers\u7ec4\u4e2d\u7684\u4e3b\u673a\u4e0a\u5378\u8f7dwget<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m yum -a \"name=wget state=absent\"<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 184px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 184px;\"><\/div><\/div><\/div><\/pre><h4 id='service\u6a21\u5757'><span class=\"ez-toc-section\" id=\"service%E6%A8%A1%E5%9D%97\"><\/span><span>service\u6a21\u5757<\/span><span class=\"ez-toc-section-end\"><\/span><\/h4><ul><li><p><span>\u7528\u4e8e\u63a7\u5236\u670d\u52a1\u3002\u542f\u52a8\u3001\u5173\u95ed\u3001\u91cd\u542f\u3001\u5f00\u673a\u81ea\u542f\u3002<\/span><\/p><\/li><li><p><span>\u5e38\u7528\u9009\u9879\uff1a<\/span><\/p><ul><li><p><span>name\uff1a\u63a7\u5236\u7684\u670d\u52a1\u540d<\/span><\/p><\/li><li><p><span>state\uff1astarted\u8868\u793a\u542f\u52a8\uff1bstopped\u8868\u793a\u5173\u95ed\uff1brestarted\u8868\u793a\u91cd\u542f<\/span><\/p><\/li><li><p><span>enabled\uff1ayes\u8868\u793a\u8bbe\u7f6e\u5f00\u673a\u81ea\u542f\uff1bno\u8868\u793a\u8bbe\u7f6e\u5f00\u673a\u4e0d\u8981\u81ea\u542f\u3002<\/span><\/p><\/li><\/ul><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728test\u4e3b\u673a\u4e0a\u5b89\u88c5nginx<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m yum -a \"name=nginx state=latest\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\">#  \u5728test\u4e3b\u673a\u4e0a\u542f\u52a8nginx\uff0c\u5e76\u8bbe\u7f6e\u5b83\u5f00\u673a\u81ea\u542f<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m service -a \"name=nginx state=started enabled=yes\"<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 138px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 138px;\"><\/div><\/div><\/div><\/pre><h4 id='\u903b\u8f91\u5377\u76f8\u5173\u6a21\u5757'><span class=\"ez-toc-section\" id=\"%E9%80%BB%E8%BE%91%E5%8D%B7%E7%9B%B8%E5%85%B3%E6%A8%A1%E5%9D%97\"><\/span><span>\u903b\u8f91\u5377\u76f8\u5173\u6a21\u5757<\/span><span class=\"ez-toc-section-end\"><\/span><\/h4><ul><li><p><span>\u903b\u8f91\u5377\u53ef\u4ee5\u52a8\u6001\u7ba1\u7406\u5b58\u50a8\u7a7a\u95f4\u3002\u53ef\u4ee5\u5bf9\u903b\u8f91\u5377\u8fdb\u884c\u6269\u5bb9\u6216\u7f29\u51cf\u3002<\/span><\/p><\/li><li><p><span>\u53ef\u4ee5\u628a\u786c\u76d8\u6216\u5206\u533a\u8f6c\u6362\u6210\u7269\u7406\u5377PV\uff1b\u518d\u628a1\u5230\u591a\u4e2aPV\u7ec4\u5408\u6210\u5377\u7ec4VG\uff1b\u7136\u540e\u5728VG\u4e0a\u5212\u5206\u903b\u8f91\u5377LV\u3002LV\u53ef\u4ee5\u50cf\u666e\u901a\u5206\u533a\u4e00\u6837\uff0c\u8fdb\u884c\u683c\u5f0f\u5316\u3001\u6302\u8f7d\u3002<\/span><\/p><\/li><li><p><span>\u5173\u95ed\u865a\u62df\u673aweb1\uff0c\u4e3a\u5176\u6dfb\u52a02\u575720GB\u7684\u786c\u76d8<\/span><\/p><\/li><li><p><span>LINUX\u4e0bKVM\u865a\u62df\u673a\u65b0\u52a0\u7684\u786c\u76d8\uff0c\u540d\u79f0\u662f<\/span><code>\/dev\/vdb<\/code><span>\u548c<\/span><code>\/dev\/vdc<\/code><\/p><\/li><li><p><span>vmware\u865a\u62df\u673a\u65b0\u52a0\u7684\u786c\u76d8\uff0c\u540d\u79f0\u662f<\/span><code>\/dev\/sdb<\/code><span>\u548c<\/span><code>\/dev\/sdc<\/code><\/p><\/li><li><p><span>\u5982\u679c\u9009nvme\u786c\u76d8\uff0c\u540d\u79f0\u53ef\u80fd\u662f<\/span><code>\/dev\/nvme0n1<\/code><span>\u548c<\/span><code>\/dev\/nvme0n2<\/code><\/p><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># lsblk &nbsp;  # \u53ef\u4ee5\u67e5\u770b\u5230\u65b0\u52a0\u7684\u786c\u76d8vdb\u548cvdc<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">NAME &nbsp; MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">sr0 &nbsp; &nbsp; <span class=\"cm-number\">11<\/span>:0 &nbsp; &nbsp;<span class=\"cm-number\">1<\/span> 1024M &nbsp;<span class=\"cm-number\">0<\/span> rom &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">vda &nbsp; &nbsp;<span class=\"cm-number\">253<\/span>:0 &nbsp; &nbsp;<span class=\"cm-number\">0<\/span> &nbsp; 30G &nbsp;<span class=\"cm-number\">0<\/span> disk <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-quote\">`-vda1 253:1 &nbsp;  0 &nbsp; 20G  0 part \/<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">vdb &nbsp; &nbsp;<span class=\"cm-number\">253<\/span>:16 &nbsp; <span class=\"cm-number\">0<\/span> &nbsp; 20G &nbsp;<span class=\"cm-number\">0<\/span> disk <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">vdc &nbsp; &nbsp;<span class=\"cm-number\">253<\/span>:32 &nbsp; <span class=\"cm-number\">0<\/span> &nbsp; 20G &nbsp;<span class=\"cm-number\">0<\/span> disk <\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 161px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 161px;\"><\/div><\/div><\/div><\/pre><h5 id='lvg\u6a21\u5757'><span class=\"ez-toc-section\" id=\"lvg%E6%A8%A1%E5%9D%97\"><\/span><span>lvg\u6a21\u5757<\/span><span class=\"ez-toc-section-end\"><\/span><\/h5><ul><li><p><span>\u521b\u5efa\u3001\u5220\u9664\u5377\u7ec4\uff0c\u4fee\u6539\u5377\u7ec4\u5927\u5c0f<\/span><\/p><\/li><li><p><span>\u5e38\u7528\u9009\u9879\uff1a<\/span><\/p><ul><li><p><span>vg\uff1a\u5b9a\u4e49\u5377\u7ec4\u540d\u3002vg\uff1avolume group<\/span><\/p><\/li><li><p><span>pvs\uff1a\u7531\u54ea\u4e9b\u7269\u7406\u5377\u6784\u6210\u3002pvs\uff1aphysical volumes<\/span><\/p><\/li><\/ul><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728web1\u4e0a\u5b89\u88c5lvm2\uff0cstate\u4e0d\u5199\uff0c\u9ed8\u8ba4\u662fpresent<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible web1 -m yum -a \"name=lvm2\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u624b\u5de5\u5728web1\u4e0a\u5bf9vdb\u8fdb\u884c\u5206\u533a<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># fdisk \/dev\/vdb<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Command (m <span class=\"cm-keyword\">for<\/span> help): g &nbsp; &nbsp;<span class=\"cm-comment\"># \u521b\u5efaGPT\u5206\u533a\u8868<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Command (m <span class=\"cm-keyword\">for<\/span> help): n &nbsp; &nbsp;<span class=\"cm-comment\"># \u65b0\u5efa\u5206\u533a<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Partition number (1-128, default <span class=\"cm-number\">1<\/span>): &nbsp; &nbsp;<span class=\"cm-comment\"># \u56de\u8f66\uff0c\u4f7f\u75281\u53f7\u5206\u533a<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">First sector (2048-41943006, default <span class=\"cm-number\">2048<\/span>): &nbsp; <span class=\"cm-comment\"># \u8d77\u59cb\u4f4d\u7f6e\uff0c\u56de\u8f66<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Last sector, <span class=\"cm-operator\">+<\/span>sectors or <span class=\"cm-operator\">+<\/span>size{K,M,G,T,P} (2048-41943006, default <span class=\"cm-number\">41943006<\/span>): <span class=\"cm-operator\">+<\/span>5G &nbsp; <span class=\"cm-comment\"># \u7ed3\u675f\u4f4d\u7f6e+5G<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Command (m <span class=\"cm-keyword\">for<\/span> help): n &nbsp; <span class=\"cm-comment\"># \u65b0\u5efa\u5206\u533a<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Partition number (2-128, default <span class=\"cm-number\">2<\/span>): &nbsp; <span class=\"cm-comment\"># \u56de\u8f66\uff0c\u4f7f\u75282\u53f7\u5206\u533a<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">First sector (10487808-41943006, default <span class=\"cm-number\">10487808<\/span>): <span class=\"cm-comment\"># \u8d77\u59cb\u4f4d\u7f6e\uff0c\u56de\u8f66<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Last sector, <span class=\"cm-operator\">+<\/span>sectors or <span class=\"cm-operator\">+<\/span>size{K,M,G,T,P} (10487808-41943006, default <span class=\"cm-number\">41943006<\/span>): <span class=\"cm-comment\"># \u7ed3\u675f\u4f4d\u7f6e\uff0c\u56de\u8f66\uff0c\u5206\u533a\u5230\u7ed3\u5c3e<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Command (m <span class=\"cm-keyword\">for<\/span> help): w &nbsp; <span class=\"cm-comment\"># \u5b58\u76d8<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># lsblk &nbsp;  # vdb\u88ab\u5206\u51fa\u6765\u4e86\u4e24\u4e2a\u5206\u533a<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">NAME &nbsp; MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">sr0 &nbsp; &nbsp; <span class=\"cm-number\">11<\/span>:0 &nbsp; &nbsp;<span class=\"cm-number\">1<\/span> 1024M &nbsp;<span class=\"cm-number\">0<\/span> rom &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">vda &nbsp; &nbsp;<span class=\"cm-number\">253<\/span>:0 &nbsp; &nbsp;<span class=\"cm-number\">0<\/span> &nbsp; 30G &nbsp;<span class=\"cm-number\">0<\/span> disk <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-quote\">`-vda1 253:1 &nbsp;  0 &nbsp; 20G  0 part \/<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">vdb &nbsp; &nbsp;<span class=\"cm-number\">253<\/span>:16 &nbsp; <span class=\"cm-number\">0<\/span> &nbsp; 20G &nbsp;<span class=\"cm-number\">0<\/span> disk <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">|-vdb1 <span class=\"cm-number\">253<\/span>:17 &nbsp; <span class=\"cm-number\">0<\/span> &nbsp;  5G &nbsp;<span class=\"cm-number\">0<\/span> part <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-quote\">`-vdb2 253:18 &nbsp; 0 &nbsp; 15G  0 part <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">vdc &nbsp; &nbsp;<span class=\"cm-number\">253<\/span>:32 &nbsp; <span class=\"cm-number\">0<\/span> &nbsp; 20G &nbsp;<span class=\"cm-number\">0<\/span> disk <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728web1\u4e0a\u521b\u5efa\u540d\u4e3amyvg\u7684\u5377\u7ec4\uff0c\u8be5\u5377\u7ec4\u7531\/dev\/vdb1\u7ec4\u6210<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible web1 -m lvg -a \"vg=myvg pvs=\/dev\/vdb1\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728web1\u4e0a\u67e5\u770b\u5377\u7ec4<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># vgs<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  VG &nbsp; <span class=\"cm-comment\">#PV #LV #SN Attr &nbsp; VSize  VFree <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  myvg &nbsp; <span class=\"cm-number\">1<\/span> &nbsp; <span class=\"cm-number\">0<\/span> &nbsp; <span class=\"cm-number\">0<\/span> wz--n- &lt;5.00g &lt;5.00g<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u6269\u5bb9\u5377\u7ec4\u3002\u5377\u7ec4\u7531PV\u6784\u6210\uff0c\u53ea\u8981\u5411\u5377\u7ec4\u4e2d\u52a0\u5165\u65b0\u7684PV\uff0c\u5373\u53ef\u5b9e\u73b0\u6269\u5bb9<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible web1 -m lvg -a \"vg=myvg pvs=\/dev\/vdb1,\/dev\/vdb2\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># vgs  # \u5728web1\u4e0a\u67e5\u770b\u5377\u7ec4<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  VG &nbsp; <span class=\"cm-comment\">#PV #LV #SN Attr &nbsp; VSize  VFree <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  myvg &nbsp; <span class=\"cm-number\">2<\/span> &nbsp; <span class=\"cm-number\">0<\/span> &nbsp; <span class=\"cm-number\">0<\/span> wz--n- <span class=\"cm-number\">19<\/span>.99g <span class=\"cm-number\">19<\/span>.99g<\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 991px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 991px;\"><\/div><\/div><\/div><\/pre><h4 id='lvol\u6a21\u5757'><span class=\"ez-toc-section\" id=\"lvol%E6%A8%A1%E5%9D%97\"><\/span><span>lvol\u6a21\u5757<\/span><span class=\"ez-toc-section-end\"><\/span><\/h4><ul><li><p><span>\u521b\u5efa\u3001\u5220\u9664\u903b\u8f91\u5377\uff0c\u4fee\u6539\u903b\u8f91\u5377\u5927\u5c0f<\/span><\/p><\/li><li><p><span>\u5e38\u7528\u9009\u9879\uff1a<\/span><\/p><ul><li><p><span>vg\uff1a\u6307\u5b9a\u5728\u54ea\u4e2a\u5377\u7ec4\u4e0a\u521b\u5efa\u903b\u8f91\u5377<\/span><\/p><\/li><li><p><span>lv\uff1a\u521b\u5efa\u7684\u903b\u8f91\u5377\u540d\u3002lv\uff1alogical volume<\/span><\/p><\/li><li><p><span>size\uff1a\u903b\u8f91\u5377\u7684\u5927\u5c0f\uff0c\u4e0d\u5199\u5355\u4f4d\uff0c\u4ee5M\u4e3a\u5355\u4f4d<\/span><\/p><\/li><\/ul><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728web1\u4e0a\u521b\u5efa\u540d\u4e3amylv\u7684\u903b\u8f91\u5377\uff0c\u5927\u5c0f\u4e3a2GB<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible web1 -m lvol -a \"vg=myvg lv=mylv size=2G\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728web1\u4e0a\u67e5\u770b\u903b\u8f91\u5377<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># lvs<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  LV &nbsp; VG &nbsp; Attr &nbsp; &nbsp; &nbsp; LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  mylv myvg <span class=\"cm-attribute\">-wi-a-----<\/span> <span class=\"cm-number\">2<\/span>.00g &nbsp; <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># mylv\u6269\u5bb9\u81f34GB<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible web1 -m lvol -a \"vg=myvg lv=mylv size=4G\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># lvs  # \u5728web1\u4e0a\u67e5\u770b\u903b\u8f91\u5377<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  LV &nbsp; VG &nbsp; Attr &nbsp; &nbsp; &nbsp; LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  mylv myvg <span class=\"cm-attribute\">-wi-a-----<\/span> <span class=\"cm-number\">4<\/span>.00g &nbsp; <\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 323px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 323px;\"><\/div><\/div><\/div><\/pre><h4 id='filesystem\u6a21\u5757'><span class=\"ez-toc-section\" id=\"filesystem%E6%A8%A1%E5%9D%97\"><\/span><span>filesystem\u6a21\u5757<\/span><span class=\"ez-toc-section-end\"><\/span><\/h4><ul><li><p><span>\u7528\u4e8e\u683c\u5f0f\u5316\uff0c\u4e5f\u5c31\u662f\u521b\u5efa\u6587\u4ef6\u7cfb\u7edf<\/span><\/p><\/li><li><p><span>\u5e38\u7528\u9009\u9879\uff1a<\/span><\/p><ul><li><p><span>fstype\uff1a\u6307\u5b9a\u6587\u4ef6\u7cfb\u7edf\u7c7b\u578b<\/span><\/p><\/li><li><p><span>dev\uff1a\u6307\u5b9a\u8981\u683c\u5f0f\u5316\u7684\u8bbe\u5907\uff0c\u53ef\u4ee5\u662f\u5206\u533a\uff0c\u53ef\u4ee5\u662f\u903b\u8f91\u5377<\/span><\/p><\/li><\/ul><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\">#  \u5728web1\u4e0a\uff0c\u628a\/dev\/myvg\/mylv\u683c\u5f0f\u5316\u4e3axfs<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible web1 -m filesystem -a \"fstype=xfs dev=\/dev\/myvg\/mylv\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728web1\u4e0a\u67e5\u770b\u683c\u5f0f\u5316\u7ed3\u679c<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># blkid \/dev\/myvg\/mylv<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\/dev\/myvg\/mylv: <span class=\"cm-def\">UUID<\/span><span class=\"cm-operator\">=<\/span><span class=\"cm-string\">\"46c0af72-e517-4b15-9e53-ec72fbe1d96e\"<\/span> <span class=\"cm-def\">TYPE<\/span><span class=\"cm-operator\">=<\/span><span class=\"cm-string\">\"xfs\"<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 138px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 138px;\"><\/div><\/div><\/div><\/pre><h4 id='mount\u6a21\u5757'><span class=\"ez-toc-section\" id=\"mount%E6%A8%A1%E5%9D%97\"><\/span><span>mount\u6a21\u5757<\/span><span class=\"ez-toc-section-end\"><\/span><\/h4><ul><li><p><span>\u7528\u4e8e\u6302\u8f7d\u6587\u4ef6\u7cfb\u7edf<\/span><\/p><\/li><li><p><span>\u5e38\u7528\u9009\u9879\uff1a<\/span><\/p><ul><li><p><span>path\uff1a\u6302\u8f7d\u70b9\u3002\u5982\u679c\u6302\u8f7d\u70b9\u4e0d\u5b58\u5728\uff0c\u81ea\u52a8\u521b\u5efa\u3002<\/span><\/p><\/li><li><p><span>src\uff1a\u5f85\u6302\u8f7d\u7684\u8bbe\u5907<\/span><\/p><\/li><li><p><span>fstype\uff1a\u6587\u4ef6\u7cfb\u7edf\u7c7b\u578b<\/span><\/p><\/li><li><p><span>state\uff1amounted\uff0c\u8868\u793a\u6c38\u4e45\u6302\u8f7d<\/span><\/p><\/li><\/ul><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728web1\u4e0a\uff0c\u628a\/dev\/myvg\/mylv\u6c38\u4e45\u6302\u8f7d\u5230\/data<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible web1 -m mount -a \"path=\/data src=\/dev\/myvg\/mylv state=mounted fstype=xfs\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728web1\u4e0a\u67e5\u770b<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># tail -1 \/etc\/fstab <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\/dev\/myvg\/mylv \/data xfs defaults <span class=\"cm-number\">0<\/span> <span class=\"cm-number\">0<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># df -h \/data\/<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Filesystem &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Size  Used Avail Use% Mounted on<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\/dev\/mapper\/myvg-mylv &nbsp;<span class=\"cm-number\">4<\/span>.0G &nbsp; 61M &nbsp;<span class=\"cm-number\">4<\/span>.0G &nbsp; <span class=\"cm-number\">2<\/span>% \/data<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728web1\u4e0a\uff0c\u5378\u8f7d\/dev\/myvg\/mylv<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible web1 -m mount -a \"path=\/data state=absent\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728web1\u4e0a\uff0c\u5f3a\u5236\u5220\u9664\/dev\/myvg\/mylv<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible web1 -m lvol -a \"lv=mylv state=absent vg=myvg force=yes\" &nbsp; # force\u662f\u5f3a\u5236<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728web1\u4e0a\uff0c\u5220\u9664myvg\u5377\u7ec4<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible web1 -m lvg -a \"vg=myvg state=absent\"<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 484px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 484px;\"><\/div><\/div><\/div><\/pre><h2 id='playbook\u5267\u672c'><span class=\"ez-toc-section\" id=\"Playbook%E5%89%A7%E6%9C%AC\"><\/span><span>Playbook\u5267\u672c<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2><ul><li><p><span>\u5e38\u7528\u4e8e\u590d\u6742\u4efb\u52a1\u7684\u7ba1\u7406\uff0c\u4ee5\u53ca\u7ba1\u7406\u7ecf\u5e38\u8981\u5b8c\u6210\u7684\u4efb\u52a1<\/span><\/p><\/li><li><p><span>playbook\u4e5f\u662f\u901a\u8fc7\u6a21\u5757\u548c\u5b83\u7684\u53c2\u6570\uff0c\u5728\u7279\u5b9a\u4e3b\u673a\u4e0a\u6267\u884c\u4efb\u52a1<\/span><\/p><\/li><li><p><span>playbook\u662f\u4e00\u4e2a\u6587\u4ef6\uff0c\u8be5\u6587\u4ef6\u4e2d\u9700\u8981\u901a\u8fc7yaml\u683c\u5f0f\u8fdb\u884c\u4e66\u5199<\/span><\/p><\/li><\/ul><h3 id='yaml'><span class=\"ez-toc-section\" id=\"YAML\"><\/span><em><span>YAML<\/span><\/em><span class=\"ez-toc-section-end\"><\/span><\/h3><ul><li><p><span>YAML Ain&#39;t a Markup Language\uff1aYAML\u4e0d\u662f\u4e00\u4e2a\u6807\u8bb0\u8bed\u8a00<\/span><\/p><\/li><\/ul><h4 id='yaml\u8bed\u6cd5\u89c4\u8303'><span class=\"ez-toc-section\" id=\"yaml%E8%AF%AD%E6%B3%95%E8%A7%84%E8%8C%83\"><\/span><span>yaml\u8bed\u6cd5\u89c4\u8303<\/span><span class=\"ez-toc-section-end\"><\/span><\/h4><ol start='' ><li><p><span>yaml\u6587\u4ef6\u7684\u6587\u4ef6\u540d\uff0c\u4e00\u822c\u4ee5yml\u6216yaml\u4f5c\u4e3a\u6269\u5c55\u540d<\/span><\/p><\/li><li><p><span>\u6587\u4ef6\u4e00\u822c\u4ee5<\/span><code>---<\/code><span>\u4f5c\u4e3a\u7b2c\u4e00\u884c\uff0c\u4e0d\u662f\u5fc5\u987b\u7684\uff0c\u4f46\u662f\u5e38\u7528<\/span><\/p><\/li><li><p><span>\u952e\u503c\u5bf9\u4f7f\u7528\u5192\u53f7<\/span><code>:<\/code><span>\u8868\u793a\uff0c\u5192\u53f7\u540e\u9762\u5fc5\u987b\u6709\u7a7a\u683c\u3002<\/span><\/p><\/li><li><p><span>\u6570\u7ec4\u4f7f\u7528<\/span><code>-<\/code><span>\u8868\u793a\uff0c<\/span><code>-<\/code><span>\u540e\u9762\u5fc5\u987b\u6709\u7a7a\u683c\u3002<\/span><\/p><\/li><li><p><span>\u76f8\u540c\u7684\u5c42\u7ea7\u5fc5\u987b\u6709\u76f8\u540c\u7684\u7f29\u8fdb\u3002\u5982\u679c\u7f29\u8fdb\u4e0d\u5bf9\uff0c\u5219\u6709\u8bed\u6cd5\u9519\u8bef\u3002\u6bcf\u4e00\u7ea7\u7f29\u8fdb\uff0c\u5efa\u8bae2\u4e2a\u7a7a\u683c\u3002<\/span><\/p><\/li><li><p><span>\u5168\u6587\u4e0d\u80fd\u4f7f\u7528tab\uff0c\u5fc5\u987b\u4f7f\u7528\u7a7a\u683c\u3002<\/span><\/p><\/li><\/ol><h4 id='\u914d\u7f6evim\u9002\u5e94yaml\u8bed\u6cd5'><span class=\"ez-toc-section\" id=\"%E9%85%8D%E7%BD%AEvim%E9%80%82%E5%BA%94yaml%E8%AF%AD%E6%B3%95\"><\/span><span>\u914d\u7f6evim\u9002\u5e94yaml\u8bed\u6cd5<\/span><span class=\"ez-toc-section-end\"><\/span><\/h4><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u6587\u4ef6\u4f4d\u7f6e\u548c\u540d\u5b57\u662f\u56fa\u5b9a\u7684\uff0c\u7528\u4e8e\u8bbe\u7f6evim\u7684\u683c\u5f0f<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim ~\/.vimrc<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-keyword\">set<\/span> ai &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\"># \u8bbe\u7f6e\u81ea\u52a8\u7f29\u8fdb<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-keyword\">set<\/span> <span class=\"cm-def\">ts<\/span><span class=\"cm-operator\">=<\/span><span class=\"cm-number\">2<\/span> &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\"># \u8bbe\u7f6e\u6309tab\u952e\uff0c\u7f29\u8fdb2\u4e2a\u7a7a\u683c<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-keyword\">set<\/span> et &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\"># \u5c06tab\u8f6c\u6362\u6210\u76f8\u5e94\u4e2a\u6570\u7684\u7a7a\u683c<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 115px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 115px;\"><\/div><\/div><\/div><\/pre><h3 id='\u7f16\u5199playbook'><span class=\"ez-toc-section\" id=\"%E7%BC%96%E5%86%99playbook\"><\/span><em><span>\u7f16\u5199playbook<\/span><\/em><span class=\"ez-toc-section-end\"><\/span><\/h3><ul><li><p><span>\u4e00\u4e2a\u5267\u672c\uff08\u5373playbook\uff09\uff0c\u53ef\u4ee5\u5305\u542b\u591a\u4e2aplay<\/span><\/p><\/li><li><p><span>\u6bcf\u4e2aplay\u7528\u4e8e\u5728\u6307\u5b9a\u7684\u4e3b\u673a\u4e0a\uff0c\u901a\u8fc7\u6a21\u5757\u548c\u53c2\u6570\u6267\u884c\u76f8\u5e94\u7684\u4efb\u52a1<\/span><\/p><\/li><li><p><span>\u6bcf\u4e2aplay\u53ef\u4ee5\u5305\u542b\u591a\u4e2a\u4efb\u52a1\u3002<\/span><\/p><\/li><li><p><span>\u4efb\u52a1\u6709\u6a21\u5757\u548c\u53c2\u6570\u6784\u6210\u3002<\/span><\/p><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> \u540d\u5b57: \u7334\u738b\u521d\u95ee\u4e16<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  \u804c\u5458\u8868: \u7334\u54e5, \u5927\u9a6c\u7334<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  \u573a\u666f:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> \u540d\u5b57: \u77f3\u5934\u88c2\u5f00\u4e86<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> \u540d\u5b57: \u5929\u5bab\u9707\u98a4\u4e86<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> \u540d\u5b57: \u5b98\u5c01\u5f3c\u9a6c\u6e29<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  \u804c\u5458\u8868: \u7334\u54e5, \u7389\u7687\u5927\u5e1d<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  \u573a\u666f:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> \u540d\u5b57: \u592a\u767d\u91d1\u661f\u9a97\u7334\u54e5<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> \u540d\u5b57: \u7334\u54e5\u5929\u5bab\u653e\u9a6c<\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 323px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 323px;\"><\/div><\/div><\/div><\/pre><p><span>\u00a0<\/span><\/p><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u7f16\u5199\u7528\u4e8e\u6d4b\u8bd5\u8fde\u901a\u6027\u7684playbook\uff0c\u76f8\u5f53\u4e8e\u6267\u884cansible all -m ping<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim test.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> hosts: all<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> <span class=\"cm-builtin\">ping<\/span>:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook test.yml  # \u6267\u884cplaybook<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u4ee5\u4e0a\u66f4\u89c4\u8303\u7684\u5199\u6cd5\u5982\u4e0b\uff1a<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim test.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: test network &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\"># play\u7684\u540d\u5b57\uff0c\u53ef\u9009\u9879<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: all &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\"># \u4f5c\u7528\u4e8e\u6240\u6709\u7684\u4e3b\u673a<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\"># \u4efb\u52a1<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: test via <span class=\"cm-builtin\">ping<\/span> &nbsp; &nbsp; &nbsp; <span class=\"cm-comment\"># \u7b2c1\u4e2a\u4efb\u52a1\u7684\u540d\u5b57\uff0c\u53ef\u9009\u9879<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-builtin\">ping<\/span>: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"cm-comment\"># \u7b2c1\u4e2a\u4efb\u52a1\u4f7f\u7528\u7684\u6a21\u5757<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook test.yml  # \u6267\u884cplaybook<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728dbs\u7ec4\u7684\u4e3b\u673a\u548cweb1\u4e0a\u521b\u5efa\/tmp\/demo\u76ee\u5f55\uff0c\u6743\u9650\u662f0755\u3002\u5c06\u63a7\u5236\u7aef\/etc\/hosts\u62f7\u8d1d\u5230\u76ee\u6807\u4e3b\u673a\u7684\/tmp\/demo\u4e2d<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim fileop.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: create dir and copy file<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: dbs,web1 &nbsp; &nbsp;<span class=\"cm-comment\"># \u8fd9\u91cc\u7684\u540d\u79f0\uff0c\u5fc5\u987b\u51fa\u73b0\u5728\u4e3b\u673a\u6e05\u5355\u6587\u4ef6\u4e2d<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: create dir<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  file:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  path: \/tmp\/demo<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: directory<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  mode: <span class=\"cm-string\">'0755'<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: copy file<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  copy:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  src: \/etc\/hosts<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  dest: \/tmp\/demo\/hosts<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u6267\u884cplaybook<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook fileop.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728webservers\u7ec4\u4e2d\u7684\u4e3b\u673a\u4e0a\uff0c\u521b\u5efa\u7528\u6237bob\uff0c\u9644\u52a0\u7ec4\u662fadm\uff1b\u5728db1\u4e3b\u673a\u4e0a\uff0c\u521b\u5efa\/tmp\/hi.txt\uff0c\u5176\u5185\u5bb9\u4e3aHello World.<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim two.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: create user<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: create bob<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  user:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: bob<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  groups: adm<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: create file<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: db1<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: <span class=\"cm-builtin\">make<\/span> file<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  copy:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  dest: \/tmp\/hi.txt<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  content: <span class=\"cm-string\">\"Hello World\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook two.yml<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 1452px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 1452px;\"><\/div><\/div><\/div><\/pre><ul><li><p><code>|<\/code><span>\u548c<\/span><code>&gt;<\/code><span>\u7684\u533a\u522b\uff1a<\/span><code>|<\/code><span>\u5b83\u4fdd\u7559\u6362\u884c\u7b26\uff0c<\/span><code>&gt;<\/code><span>\u628a\u591a\u884c\u5408\u5e76\u4e3a\u4e00\u884c<\/span><\/p><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u901a\u8fc7copy\u6a21\u5757\u521b\u5efa\/tmp\/1.txt\uff0c\u6587\u4ef6\u4e2d\u6709\u4e24\u884c\u5185\u5bb9\uff0c\u5206\u522b\u662fHello World\u548cni hao<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim f1.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: play <span class=\"cm-number\">1<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: mkfile <span class=\"cm-number\">1<\/span>.txt<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  copy:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  dest: \/tmp\/1.txt<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  content: |<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;  Hello World!<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;  ni hao.<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook f1.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u67e5\u770b\u7ed3\u679c<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># cat \/tmp\/1.txt <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Hello World!<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">ni hao.<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u901a\u8fc7copy\u6a21\u5757\u521b\u5efa\/tmp\/2.txt\uff0c\u6587\u4ef6\u4e2d\u6709\u4e00\u884c\u5185\u5bb9\uff0c\u5206\u522b\u662fHello World! ni hao<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim f2.yml <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: play <span class=\"cm-number\">1<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: mkfile <span class=\"cm-number\">2<\/span>.txt<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  copy:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  dest: \/tmp\/2.txt<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  content: &gt;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;  Hello World!<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;  ni hao.<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook f2.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># cat \/tmp\/2.txt <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Hello World! ni hao.<\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 830px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 830px;\"><\/div><\/div><\/div><\/pre><ul><li><p><span>playbook\u793a\u4f8b<\/span><\/p><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728webservers\u7ec4\u4e2d\u7684\u4e3b\u673a\u4e0a\u521b\u5efajohn\u7528\u6237\uff0c\u5b83\u7684uid\u662f1040\uff0c\u4e3b\u7ec4\u662fdaemon\uff0c\u5bc6\u7801\u4e3a123<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim user_john.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: create user<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: create user john<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  user:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: john<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  uid: <span class=\"cm-number\">1040<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  group: daemon<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  password: <span class=\"cm-string\">\"{{'123'|password_hash('sha512')}}\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook user_john.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728webservers\u7ec4\u4e2d\u7684\u4e3b\u673a\u4e0a\u5220\u9664\u7528\u6237john<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim del_john.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: delete user<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: delete user john<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  user:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: john<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: absent<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook del_john.yml<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 576px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 576px;\"><\/div><\/div><\/div><\/pre><h4 id='\u786c\u76d8\u7ba1\u7406'><span class=\"ez-toc-section\" id=\"%E7%A1%AC%E7%9B%98%E7%AE%A1%E7%90%86\"><\/span><span>\u786c\u76d8\u7ba1\u7406<\/span><span class=\"ez-toc-section-end\"><\/span><\/h4><ul><li><p><span>\u5e38\u7528\u7684\u5206\u533a\u8868\u7c7b\u578b\u6709\uff1aMBR\uff08\u4e3b\u5f15\u5bfc\u8bb0\u5f55\uff09\u3001GPT\uff08GUID\u5206\u533a\u8868\uff09<\/span><\/p><\/li><li><p><span>MBR\u6700\u591a\u652f\u63014\u4e2a\u4e3b\u5206\u533a\uff0c\u62163\u4e2a\u4e3b\u5206\u533a\u52a01\u4e2a\u6269\u5c55\u5206\u533a\u3002\u6700\u5927\u652f\u63012.2TB\u5de6\u53f3\u7684\u786c\u76d8<\/span><\/p><\/li><li><p><span>GPT\u6700\u591a\u652f\u6301128\u4e2a\u4e3b\u5206\u533a\u3002\u652f\u6301\u5927\u786c\u76d8<\/span><\/p><\/li><\/ul><h5 id='parted\u6a21\u5757'><span class=\"ez-toc-section\" id=\"parted%E6%A8%A1%E5%9D%97\"><\/span><span>parted\u6a21\u5757<\/span><span class=\"ez-toc-section-end\"><\/span><\/h5><ul><li><p><span>\u7528\u4e8e\u786c\u76d8\u5206\u533a\u7ba1\u7406<\/span><\/p><\/li><li><p><span>\u5e38\u7528\u9009\u9879\uff1a<\/span><\/p><ul><li><p><span>device\uff1a\u5f85\u5206\u533a\u7684\u8bbe\u5907<\/span><\/p><\/li><li><p><span>number\uff1a\u5206\u533a\u7f16\u53f7<\/span><\/p><\/li><li><p><span>state\uff1apresent\u8868\u793a\u521b\u5efa\uff0cabsent\u8868\u793a\u5220\u9664<\/span><\/p><\/li><li><p><span>part<\/span><span>_<\/span><span>start\uff1a\u5206\u533a\u7684\u8d77\u59cb\u4f4d\u7f6e\uff0c\u4e0d\u5199\u8868\u793a\u4ece\u5f00\u5934<\/span><\/p><\/li><li><p><span>part<\/span><span>_<\/span><span>end\uff1a\u8868\u793a\u5206\u533a\u7684\u7ed3\u675f\u4f4d\u7f6e\uff0c\u4e0d\u5199\u8868\u793a\u5230\u7ed3\u5c3e<\/span><\/p><\/li><\/ul><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728web1\u4e3b\u673a\u4e0a\uff0c\u5bf9\/dev\/vdc\u8fdb\u884c\u5206\u533a\uff0c\u521b\u5efa1\u4e2a1GB\u7684\u4e3b\u5206\u533a<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim disk.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: disk manage<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: web1<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: create a partition<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  parted:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  device: \/dev\/vdc<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  number: <span class=\"cm-number\">1<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: present<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  part_end: 1GiB<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook disk.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728\u76ee\u6807\u4e3b\u673a\u4e0a\u67e5\u770b\u7ed3\u679c<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># lsblk <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">NAME &nbsp; MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">.. ...<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">vdc &nbsp; &nbsp;<span class=\"cm-number\">253<\/span>:32 &nbsp; <span class=\"cm-number\">0<\/span> &nbsp; 20G &nbsp;<span class=\"cm-number\">0<\/span> disk <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-quote\">`-vdc1 253:33 &nbsp; 0 1023M  0 part <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u7ee7\u7eed\u7f16\u8f91disk.yml\uff0c\u5bf9\/dev\/vdc\u8fdb\u884c\u5206\u533a\uff0c\u521b\u5efa1\u4e2a\u65b0\u76845GB\u7684\u4e3b\u5206\u533a<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim disk.yml <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">... ...<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: add a new partition<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  parted:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  device: \/dev\/vdc<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  number: <span class=\"cm-number\">2<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: present<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  part_start: 1GiB<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  part_end: 6GiB<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook disk.yml <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># lsblk <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">NAME &nbsp; MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">... ...<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">vdc &nbsp; &nbsp;<span class=\"cm-number\">253<\/span>:32 &nbsp; <span class=\"cm-number\">0<\/span> &nbsp; 20G &nbsp;<span class=\"cm-number\">0<\/span> disk <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">|-vdc1 <span class=\"cm-number\">253<\/span>:33 &nbsp; <span class=\"cm-number\">0<\/span> 1023M &nbsp;<span class=\"cm-number\">0<\/span> part <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-quote\">`-vdc2 253:34 &nbsp; 0 &nbsp;  5G  0 part <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u7ee7\u7eed\u7f16\u8f91disk.yml\uff0c\u521b\u5efa\u540d\u4e3amy_vg\u7684\u5377\u7ec4\uff0c\u5b83\u7531\u4e0a\u9762\u521b\u5efa\u7684vdc1\u548cvdc2\u6784\u6210<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim disk.yml <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">... ...<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: create my_vg<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  lvg:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  vg: my_vg<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  pvs: \/dev\/vdc1,\/dev\/vdc2<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u7ee7\u7eed\u7f16\u8f91disk.yml\uff0c\u5728my_vg\u5377\u7ec4\u4e0a\u521b\u5efa\u540d\u4e3amy_lv\u7684\u903b\u8f91\u5377\uff0c\u5927\u5c0f1G<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim disk.yml <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">... ...<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: create my_lv<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  lvol:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  vg: my_vg<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  lv: my_lv<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  size: 1G<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u7ee7\u7eed\u7f16\u8f91disk.yml\uff0c\u683c\u5f0f\u5316my_lv\u4e3aext4<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim disk.yml <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">... ...<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: mkfs my_lv<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  filesystem:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  dev: \/dev\/my_vg\/my_lv<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  fstype: ext4<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u7ee7\u7eed\u7f16\u8f91disk.yml\uff0c\u5c06my_lv\u6302\u8f7d\u5230\/data<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim disk.yml <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">... ...<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: mount my_lv<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  mount:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  path: \/data<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  src: \/dev\/my_vg\/my_lv<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  fstype: ext4<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: mounted<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5b8c\u6574\u7684disk.yml\u5982\u4e0b<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: disk manage<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: web1<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: create a partition<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  parted:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  device: \/dev\/vdc<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  number: <span class=\"cm-number\">1<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: present<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  part_end: 1GiB<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: add a new partition<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  parted:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  device: \/dev\/vdc<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  number: <span class=\"cm-number\">2<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: present<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  part_start: 1GiB<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  part_end: 6GiB<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: create my_vg<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  lvg:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  vg: my_vg<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  pvs: \/dev\/vdc1,\/dev\/vdc2<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: create my_lv<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  lvol:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  vg: my_vg<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  lv: my_lv<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  size: 1G<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: mkfs my_lv<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  filesystem:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  dev: \/dev\/my_vg\/my_lv<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  fstype: ext4<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: mount my_lv<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  mount:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  path: \/data<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  src: \/dev\/my_vg\/my_lv<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  fstype: ext4<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: mounted<\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 2766px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 2766px;\"><\/div><\/div><\/div><\/pre><blockquote><p><span>\u77e5\u8bc6\u70b9\u601d\u7ef4\u5bfc\u56fe\uff1a<\/span><a href='https:\/\/flowus.cn\/share\/7875c0e1-ebbd-4dad-aa7e-f40e6ed6c6d3' target='_blank' class='url'>https:\/\/flowus.cn\/share\/7875c0e1-ebbd-4dad-aa7e-f40e6ed6c6d3<\/a><\/p><\/blockquote><h2 id='playbook'><span class=\"ez-toc-section\" id=\"playbook\"><\/span><span>playbook<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2><h3 id='\u6a21\u5757'><span class=\"ez-toc-section\" id=\"%E6%A8%A1%E5%9D%97\"><\/span><em><span>\u6a21\u5757<\/span><\/em><span class=\"ez-toc-section-end\"><\/span><\/h3><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728webservers\u7ec4\u4e2d\u7684\u4e3b\u673a\u4e0a\uff0c\u5b89\u88c5httpd\u3001php\u3001php-mysqlnd<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim pkg.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: install pkgs<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: install web pkgs &nbsp;<span class=\"cm-comment\"># \u6b64\u4efb\u52a1\u901a\u8fc7yum\u5b89\u88c5\u4e09\u4e2a\u5305<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  yum:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: httpd,php,php-mysqlnd<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: present<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5b89\u88c5\u591a\u4e2a\u8f6f\u4ef6\u5305\uff0c\u8fd8\u53ef\u4ee5\u5199\u4e3a\uff1a<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: install pkgs<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: install web pkgs<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  yum:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: [httpd,php,php-mysqlnd]<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: present<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5b89\u88c5\u591a\u4e2a\u8f6f\u4ef6\u5305\uff0c\u8fd8\u53ef\u4ee5\u5199\u4e3a\uff1a<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: install pkgs<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: install web pkgs<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  yum:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> httpd<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> php<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> php-mysqlnd<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: present<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u6839\u636e\u529f\u80fd\u7b49\uff0c\u53ef\u4ee5\u5c06\u4e00\u7cfb\u5217\u8f6f\u4ef6\u653e\u5230\u4e00\u4e2a\u7ec4\u4e2d\uff0c\u5b89\u88c5\u8f6f\u4ef6\u5305\u7ec4\uff0c\u5c06\u4f1a\u628a\u5f88\u591a\u8f6f\u4ef6\u4e00\u8d77\u5b89\u88c5\u4e0a\u3002\u6bd4\u5982gcc\u3001java\u7b49\u90fd\u662f\u5f00\u53d1\u5de5\u5177\uff0c\u5b89\u88c5\u5f00\u53d1\u5de5\u5177\u5305\u7ec4\uff0c\u5c06\u4f1a\u628a\u5b83\u4eec\u4e00\u8d77\u5b89\u88c5\u3002<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@node1 ~]<span class=\"cm-comment\"># yum grouplist &nbsp; # \u5217\u51fa\u6240\u6709\u7684\u8f6f\u4ef6\u5305\u7ec4<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@node1 ~]<span class=\"cm-comment\"># yum groupinstall \"Development Tools\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5982\u679c\u5217\u51fa\u7684\u7ec4\u540d\u4e3a\u4e2d\u6587\uff0c\u53ef\u4ee5\u8fd9\u6837\u8fdb\u884c\uff1a<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@node1 ~]<span class=\"cm-comment\"># LANG=C yum grouplist<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u7ee7\u7eed\u7f16\u8f91pkg.yml\uff0c\u5728webservers\u7ec4\u4e2d\u7684\u4e3b\u673a\u4e0a\u5b89\u88c5Development tools\u7ec4<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim pkg.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: install pkgs<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: install web pkgs &nbsp; &nbsp;<span class=\"cm-comment\"># \u6b64\u4efb\u52a1\u901a\u8fc7yum\u5b89\u88c5\u4e09\u4e2a\u5305<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  yum:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> httpd<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> php<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> php-mysqlnd<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: present<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: install dev group &nbsp; &nbsp;<span class=\"cm-comment\"># \u6b64\u4efb\u52a1\u901a\u8fc7yum\u5b89\u88c5\u4e00\u7ec4\u5305<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  yum:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: <span class=\"cm-string\">\"@Development Tools\"<\/span> &nbsp; <span class=\"cm-comment\"># @\u8868\u793a\u540e\u9762\u7684\u540d\u5b57\u662f\u7ec4\u540d<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: present<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook pkg.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u7cfb\u7edf\u5347\u7ea7\u547d\u4ee4<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># yum update<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u7ee7\u7eed\u7f16\u8f91pkg.yml\uff0c\u5728webservers\u7ec4\u4e2d\u7684\u4e3b\u673a\u4e0a\u5347\u7ea7\u6240\u6709\u7684\u5305\u5230\u6700\u65b0\u7248\u672c<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: install pkgs<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: install web pkgs<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  yum:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> httpd<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> php<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> php-mysqlnd<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: present<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: install dev group<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  yum:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: <span class=\"cm-string\">\"@Development Tools\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: present<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: update system &nbsp; &nbsp;<span class=\"cm-comment\"># \u76f8\u5f53\u4e8eyum update\u547d\u4ee4<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  yum:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: <span class=\"cm-string\">\"*\"<\/span> &nbsp; &nbsp; &nbsp; <span class=\"cm-comment\"># \u8868\u793a\u7cfb\u7edf\u5df2\u7ecf\u5b89\u88c5\u7684\u6240\u6709\u5305<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: latest<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook pkg.yml<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 2005px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 2005px;\"><\/div><\/div><\/div><\/pre><h2 id='ansible\u53d8\u91cf'><span class=\"ez-toc-section\" id=\"ansible%E5%8F%98%E9%87%8F\"><\/span><span>ansible\u53d8\u91cf<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2><h3 id='facts\u53d8\u91cf'><span class=\"ez-toc-section\" id=\"facts%E5%8F%98%E9%87%8F\"><\/span><em><span>facts\u53d8\u91cf<\/span><\/em><span class=\"ez-toc-section-end\"><\/span><\/h3><ul><li><p><span>facts\u7ffb\u8bd1\u8fc7\u6765\u5c31\u662f\u4e8b\u5b9e\u3002<\/span><\/p><\/li><li><p><span>facts\u53d8\u91cf\u662fansible\u81ea\u5e26\u7684\u9884\u5b9a\u4e49\u53d8\u91cf\uff0c\u7528\u4e8e\u63cf\u8ff0\u88ab\u63a7\u7aef\u8f6f\u786c\u4ef6\u4fe1\u606f\u3002<\/span><\/p><\/li><li><p><span>facts\u53d8\u91cf\u901a\u8fc7setup\u6a21\u5757\u83b7\u5f97\u3002<\/span><\/p><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u901a\u8fc7setup\u6a21\u5757\u67e5\u770b\u6240\u6709facts\u53d8\u91cf<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m setup<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 46px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 46px;\"><\/div><\/div><\/div><\/pre><ul><li><p><span>facts\u53d8\u91cf\u662f\u4e00\u4e2a\u5927\u7684\u7531<\/span><code>{}<\/code><span>\u6784\u6210\u7684\u952e\u503c\u5bf9\u5b57\u5178\u3002\u5728<\/span><code>{}<\/code><span>\u4e2d\uff0c\u6709\u5f88\u591a\u5c42\u7ea7\u7684\u5d4c\u5957\u3002\u53ef\u4ee5\u901a\u8fc7\u53c2\u6570\u8fc7\u6ee4\u51fa\u7b2c\u4e00\u4e2a\u5c42\u7ea7\u7684\u5185\u5bb9\u3002<\/span><\/p><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u67e5\u770b\u6240\u6709\u7684IPV4\u5730\u5740\uff0cfilter\u662f\u8fc7\u6ee4\u7684\u610f\u601d<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m setup -a \"filter=ansible_all_ipv4_addresses\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u67e5\u770b\u53ef\u7528\u5185\u5b58<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible webservers -m setup -a \"filter=ansible_memfree_mb\"<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 138px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 138px;\"><\/div><\/div><\/div><\/pre><ul><li><p><span>\u5e38\u7528\u7684facts\u53d8\u91cf<\/span><\/p><ul><li><p><span>ansible<\/span><span>_<\/span><span>all<\/span><span>_<\/span><span>ipv4<\/span><span>_<\/span><span>addresses\uff1a\u6240\u6709\u7684IPV4\u5730\u5740<\/span><\/p><\/li><li><p><span>ansible<\/span><span>_<\/span><span>bios<\/span><span>_<\/span><span>version\uff1aBIOS\u7248\u672c\u4fe1\u606f<\/span><\/p><\/li><li><p><span>ansible<\/span><span>_<\/span><span>memtotal<\/span><span>_<\/span><span>mb\uff1a\u603b\u5185\u5b58\u5927\u5c0f<\/span><\/p><\/li><li><p><span>ansible<\/span><span>_<\/span><span>hostname\uff1a\u4e3b\u673a\u540d<\/span><\/p><\/li><\/ul><\/li><li><p><span>\u5728playbook\u4e2d\u4f7f\u7528\u53d8\u91cf<\/span><\/p><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u663e\u793a\u8fdc\u7a0b\u4e3b\u673a\u7684\u4e3b\u673a\u540d\u548c\u5185\u5b58\u5927\u5c0f\u3002\u5728ansible\u4e2d\uff0c\u53d8\u91cf\u4f7f\u7528{{}}\u8868\u793a<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># debug\u6a21\u5757\u7528\u4e8e\u8f93\u51fa\u4fe1\u606f\uff0c\u5e38\u7528\u7684\u53c2\u6570\u662fmsg\uff0c\u7528\u4e8e\u8f93\u51fa\u6307\u5b9a\u5185\u5bb9<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim debug.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: display host info<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: display hostname and memory<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  debug: &nbsp; &nbsp;<span class=\"cm-comment\"># debug\u662f\u6a21\u5757\uff0c\u5b83\u7684\u9009\u9879msg\u53ef\u4ee5\u8f93\u51fa\u6307\u5b9a\u4fe1\u606f<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  msg: <span class=\"cm-string\">\"hostname: {{ansible_hostname}}; mem: {{ansible_memtotal_mb}} MB\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook debug.yml<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 277px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 277px;\"><\/div><\/div><\/div><\/pre><h3 id='\u81ea\u5b9a\u4e49\u53d8\u91cf'><span class=\"ez-toc-section\" id=\"%E8%87%AA%E5%AE%9A%E4%B9%89%E5%8F%98%E9%87%8F\"><\/span><em><span>\u81ea\u5b9a\u4e49\u53d8\u91cf<\/span><\/em><span class=\"ez-toc-section-end\"><\/span><\/h3><ul><li><p><span>\u5f15\u5165\u53d8\u91cf\uff0c\u53ef\u4ee5\u65b9\u4fbfPlaybook\u91cd\u7528\u3002\u6bd4\u5982\u88c5\u5305\u7684playbook\uff0c\u5305\u540d\u4f7f\u7528\u53d8\u91cf\u3002\u591a\u6b21\u6267\u884cplaybook\uff0c\u53ea\u8981\u6539\u53d8\u53d8\u91cf\u540d\u5373\u53ef\uff0c\u4e0d\u7528\u7f16\u5199\u65b0\u7684playbook\u3002<\/span><\/p><\/li><li><p><span>ansible\u652f\u630110\u79cd\u4ee5\u4e0a\u7684\u53d8\u91cf\u5b9a\u4e49\u65b9\u5f0f\u3002\u5e38\u7528\u7684\u53d8\u91cf\u6765\u6e90\u5982\u4e0b\uff1a<\/span><\/p><ul><li><p><span>inventory\u53d8\u91cf\u3002\u53d8\u91cf\u6765\u81ea\u4e8e\u4e3b\u673a\u6e05\u5355\u6587\u4ef6<\/span><\/p><\/li><li><p><span>facts\u53d8\u91cf\u3002<\/span><\/p><\/li><li><p><span>playbook\u53d8\u91cf\u3002\u53d8\u91cf\u5728playbook\u4e2d\u5b9a\u4e49\u3002<\/span><\/p><\/li><li><p><span>\u53d8\u91cf\u6587\u4ef6\u3002\u4e13\u95e8\u521b\u5efa\u7528\u4e8e\u4fdd\u5b58\u53d8\u91cf\u7684\u6587\u4ef6\u3002\u63a8\u8350\u53d8\u91cf\u5199\u5165\u5355\u72ec\u7684\u6587\u4ef6\u3002<\/span><\/p><\/li><\/ul><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u4f7f\u7528inventory\u53d8\u91cf\u3002<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim inventory<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[webservers]<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">web1<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">web2<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[dbs]<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">db1 <span class=\"cm-def\">username<\/span><span class=\"cm-operator\">=<\/span><span class=\"cm-string\">\"wangwu\"<\/span> &nbsp; <span class=\"cm-comment\"># \u5b9a\u4e49\u4e3b\u673a\u53d8\u91cf\u7684\u65b9\u6cd5<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[webservers:vars] &nbsp; &nbsp; &nbsp; <span class=\"cm-comment\"># \u5b9a\u4e49\u7ec4\u53d8\u91cf\u7684\u65b9\u6cd5\uff0c:vars\u662f\u56fa\u5b9a\u683c\u5f0f<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-def\">username<\/span><span class=\"cm-operator\">=<\/span><span class=\"cm-string\">\"zhaoliu\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u901a\u8fc7\u53d8\u91cf\u521b\u5efa\u7528\u6237<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim var1.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: webservers create user<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: create user<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  user:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: <span class=\"cm-string\">\"{{username}}\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: present<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: create user <span class=\"cm-keyword\">in<\/span> dbs<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: dbs<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: create some users<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  user:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: <span class=\"cm-string\">\"{{username}}\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: present<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook var1.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u4e0a\u8ff0\u4e24\u4e2aplay\u4e5f\u53ef\u4ee5\u5408\u5e76\u4e3a\u4e00\u4e2a\uff0c\u5982\u4e0b\uff1a<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim var1.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: webservers create user<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: dbs,webservers &nbsp; &nbsp;<span class=\"cm-comment\"># \u6307\u5b9a\u6267\u884c\u7684\u76ee\u6807\u662fwebservers\u7ec4\u548cwebservers\u7ec4<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: create user<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  user:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: <span class=\"cm-string\">\"{{username}}\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: present<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728playbook\u4e2d\u5b9a\u4e49\u53d8\u91cf<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728webservers\u7ec4\u4e2d\u7684\u4e3b\u673a\u4e0a\u521b\u5efa\u7528\u6237jack\uff0c\u4ed6\u7684\u5bc6\u7801\u662f123456<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim user_jack.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: create user<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  vars: &nbsp; &nbsp;<span class=\"cm-comment\"># \u56fa\u5b9a\u683c\u5f0f\uff0c\u7528\u4e8e\u58f0\u660e\u53d8\u91cf<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  username: <span class=\"cm-string\">\"jack\"<\/span> &nbsp; &nbsp;<span class=\"cm-comment\"># \u6b64\u5904\u5f15\u53f7\u53ef\u6709\u53ef\u65e0<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  mima: <span class=\"cm-string\">\"123456\"<\/span> &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\"># \u6b64\u5904\u5f15\u53f7\u662f\u9700\u8981\u7684\uff0c\u8868\u793a\u6570\u5b57\u5b57\u7b26<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: create some users<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  user:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: <span class=\"cm-string\">\"{{username}}\"<\/span> &nbsp; <span class=\"cm-comment\"># {}\u51fa\u73b0\u5728\u5f00\u5934\uff0c\u5fc5\u987b\u6709\u5f15\u53f7<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: present<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  password: <span class=\"cm-string\">\"{{mima|password_hash('sha512')}}\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook user_jack.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5c06\u53d8\u91cf\u5b9a\u4e49\u5728\u6587\u4ef6\u4e2d<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim vars.yml &nbsp; # \u6587\u4ef6\u540d\u81ea\u5b9a\u4e49<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">yonghu: rose<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">mima: abcd<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim user_rose.yml <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: create user<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  vars_files: vars.yml &nbsp; <span class=\"cm-comment\"># vars_files\u7528\u4e8e\u58f0\u660e\u53d8\u91cf\u6587\u4ef6<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: create some users<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  user:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: <span class=\"cm-string\">\"{{yonghu}}\"<\/span> &nbsp; <span class=\"cm-comment\"># \u8fd9\u91cc\u7684\u53d8\u91cf\u6765\u81ea\u4e8evars.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: present<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  password: <span class=\"cm-string\">\"{{mima|password_hash('sha512')}}\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook user_rose.yml <\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 1913px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 1913px;\"><\/div><\/div><\/div><\/pre><h2 id='\u8865\u5145\u6a21\u5757'><span class=\"ez-toc-section\" id=\"%E8%A1%A5%E5%85%85%E6%A8%A1%E5%9D%97\"><\/span><span>\u8865\u5145\u6a21\u5757<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2><h4 id='firewalld\u6a21\u5757'><span class=\"ez-toc-section\" id=\"firewalld%E6%A8%A1%E5%9D%97\"><\/span><span>firewalld\u6a21\u5757<\/span><span class=\"ez-toc-section-end\"><\/span><\/h4><ul><li><p><span>\u7528\u4e8e\u914d\u7f6e\u9632\u706b\u5899\u7684\u6a21\u5757<\/span><\/p><\/li><li><p><span>\u5e38\u7528\u9009\u9879\uff1a<\/span><\/p><ul><li><p><span>port\uff1a\u58f0\u660e\u7aef\u53e3<\/span><\/p><\/li><li><p><span>permanent\uff1a\u6c38\u4e45\u751f\u6548\uff0c\u4f46\u4e0d\u4f1a\u7acb\u5373\u751f\u6548<\/span><\/p><\/li><li><p><span>immediate\uff1a\u7acb\u5373\u751f\u6548\uff0c\u4e34\u65f6\u751f\u6548<\/span><\/p><\/li><li><p><span>state\uff1aenabled\uff0c\u653e\u884c\uff1bdisabled\u62d2\u7edd<\/span><\/p><\/li><\/ul><\/li><li><p><span>\u9632\u706b\u5899\u4e00\u822c\u9ed8\u8ba4\u62d2\u7edd\uff0c\u660e\u786e\u5199\u5165\u5141\u8bb8\u7684\u670d\u52a1\u3002<\/span><\/p><\/li><li><p><span>\u6709\u4e00\u4e9b\u670d\u52a1\u6709\u540d\u5b57\uff0c\u6709\u4e9b\u670d\u52a1\u6ca1\u6709\u540d\u5b57\u3002\u4f46\u662f\u6700\u7ec8\u90fd\u662f\u57fa\u4e8eTCP\u6216UDP\u7684\u67d0\u4e9b\u7aef\u53e3\u3002\u6bd4\u5982http\u670d\u52a1\u57fa\u4e8eTCP80\u7aef\u53e3\u3002\u670d\u52a1\u540d\u548c\u7aef\u53e3\u53f7\u5bf9\u5e94\u5173\u7cfb\u7684\u8bf4\u660e\u6587\u4ef6\u662f\uff1a<\/span><code>\/etc\/services<\/code><\/p><\/li><li><p><span>\u914d\u7f6e\u670d\u52a1\u5668\u7684\u9632\u706b\u5899\uff0c\u4e00\u822c\u6765\u8bf4\u53ea\u8981\u914d\u7f6e\u5f00\u653e\u54ea\u4e9b\u670d\u52a1\u6216\u7aef\u53e3\u5373\u53ef\u3002\u6ca1\u6709\u660e\u786e\u5f00\u653e\u7684\uff0c\u90fd\u9ed8\u8ba4\u62d2\u7edd\u3002<\/span><\/p><\/li><li><p><span>\u5e94\u7528<\/span><\/p><ul><li><p><span>\u5728webservers\u7ec4\u4e2d\u7684\u4e3b\u673a\u4e0a\u5b89\u88c5\u5e76\u542f\u52a8nginx<\/span><\/p><\/li><li><p><span>\u5ba2\u6237\u7aef\u8bbf\u95ee\u670d\u52a1\u5668\u7684nginx\u670d\u52a1<\/span><\/p><\/li><li><p><span>\u5728webservers\u7ec4\u4e2d\u7684\u4e3b\u673a\u4e0a\u5b89\u88c5\u5e76\u542f\u52a8firewalld<\/span><\/p><\/li><li><p><span>\u5ba2\u6237\u7aef\u8bbf\u95ee\u670d\u52a1\u5668\u7684nginx\u670d\u52a1<\/span><\/p><\/li><li><p><span>\u5728webservers\u7ec4\u4e2d\u7684\u4e3b\u673a\u4e0a\u5f00\u653enginx\u670d\u52a1<\/span><\/p><\/li><\/ul><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u914d\u7f6enginx\u670d\u52a1<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim firewall.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: configure webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: install nginx pkg &nbsp; <span class=\"cm-comment\"># \u8fd9\u91cc\u901a\u8fc7yum\u6a21\u5757\u88c5httpd<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  yum:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: nginx<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: present<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: <span class=\"cm-builtin\">start<\/span> nginx <span class=\"cm-builtin\">service<\/span> &nbsp; <span class=\"cm-comment\"># \u8fd9\u91cc\u901a\u8fc7service\u6a21\u5757\u542fhttpd\u670d\u52a1<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-builtin\">service<\/span>:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: nginx<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: started<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  enabled: <span class=\"cm-builtin\">yes<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook firewall.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># curl http:\/\/192.168.88.11\/  # \u53ef\u8bbf\u95ee<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5b89\u88c5\u5e76\u542f\u52a8firewalld<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim firewall.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: configure webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: install nginx pkg &nbsp; <span class=\"cm-comment\"># \u8fd9\u91cc\u901a\u8fc7yum\u6a21\u5757\u88c5httpd<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  yum:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: nginx<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: present<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: <span class=\"cm-builtin\">start<\/span> nginx <span class=\"cm-builtin\">service<\/span> &nbsp; <span class=\"cm-comment\"># \u8fd9\u91cc\u901a\u8fc7service\u6a21\u5757\u542fhttpd\u670d\u52a1<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-builtin\">service<\/span>:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: nginx<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: started<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  enabled: <span class=\"cm-builtin\">yes<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: install firewalld pkg &nbsp; <span class=\"cm-comment\"># \u8fd9\u91cc\u901a\u8fc7yum\u6a21\u5757\u88c5firewalld<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  yum:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: firewalld<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: present<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: <span class=\"cm-builtin\">start<\/span> firewalld <span class=\"cm-builtin\">service<\/span> &nbsp; <span class=\"cm-comment\"># \u8fd9\u91cc\u901a\u8fc7service\u6a21\u5757\u542ffirewalld\u670d\u52a1<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-builtin\">service<\/span>:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: firewalld<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: started<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  enabled: <span class=\"cm-builtin\">yes<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook firewall.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># curl http:\/\/192.168.88.11\/  # \u88ab\u62d2\u7edd<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-builtin\">curl<\/span>: (7) Failed to connect to <span class=\"cm-number\">192<\/span>.168.88.11 port <span class=\"cm-number\">80<\/span>: \u6ca1\u6709\u5230\u4e3b\u673a\u7684\u8def\u7531<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u914d\u7f6e\u9632\u706b\u5899\u89c4\u5219\uff0c\u653e\u884chttp\u534f\u8bae<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim firewall.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: configure webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: install nginx pkg &nbsp; <span class=\"cm-comment\"># \u8fd9\u91cc\u901a\u8fc7yum\u6a21\u5757\u88c5httpd<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  yum:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: nginx<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: present<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: <span class=\"cm-builtin\">start<\/span> nginx <span class=\"cm-builtin\">service<\/span> &nbsp; <span class=\"cm-comment\"># \u8fd9\u91cc\u901a\u8fc7service\u6a21\u5757\u542fhttpd\u670d\u52a1<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-builtin\">service<\/span>:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: nginx<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: started<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  enabled: <span class=\"cm-builtin\">yes<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: install firewalld pkg &nbsp; <span class=\"cm-comment\"># \u8fd9\u91cc\u901a\u8fc7yum\u6a21\u5757\u5b89\u88c5firewalld<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  yum:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: firewalld<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: present<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: <span class=\"cm-builtin\">start<\/span> firewalld <span class=\"cm-builtin\">service<\/span> &nbsp; <span class=\"cm-comment\"># \u8fd9\u91cc\u901a\u8fc7service\u6a21\u5757\u542fservice\u670d\u52a1<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-builtin\">service<\/span>:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: firewalld<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: started<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  enabled: <span class=\"cm-builtin\">yes<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: <span class=\"cm-keyword\">set<\/span> firewalld rules &nbsp; <span class=\"cm-comment\"># \u901a\u8fc7firewalld\u6a21\u5757\u5f00\u653e80\u7aef\u53e3<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  firewalld:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  port: <span class=\"cm-number\">80<\/span>\/tcp<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  permanent: <span class=\"cm-builtin\">yes<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  immediate: <span class=\"cm-builtin\">yes<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: enabled<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook firewall.yml <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># curl http:\/\/192.168.88.11\/  # \u53ef\u8bbf\u95ee<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 2051px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 2051px;\"><\/div><\/div><\/div><\/pre><h4 id='template\u6a21\u5757'><span class=\"ez-toc-section\" id=\"template%E6%A8%A1%E5%9D%97\"><\/span><span>template\u6a21\u5757<\/span><span class=\"ez-toc-section-end\"><\/span><\/h4><ul><li><p><span>copy\u6a21\u5757\u53ef\u4ee5\u4e0a\u4f20\u6587\u4ef6\uff0c\u4f46\u662f\u6587\u4ef6\u5185\u5bb9\u56fa\u5b9a<\/span><\/p><\/li><li><p><span>template\u6a21\u5757\u53ef\u4ee5\u4e0a\u4f20\u5177\u6709\u7279\u5b9a\u683c\u5f0f\u7684\u6587\u4ef6\uff08\u5982\u6587\u4ef6\u4e2d\u5305\u542b\u53d8\u91cf\uff09<\/span><\/p><\/li><li><p><span>\u5f53\u8fdc\u7a0b\u4e3b\u673a\u63a5\u6536\u5230\u6587\u4ef6\u4e4b\u540e\uff0c\u6587\u4ef6\u4e2d\u7684\u53d8\u91cf\u5c06\u4f1a\u53d8\u6210\u5177\u4f53\u7684\u503c<\/span><\/p><\/li><li><p><span>template\u6a21\u5757\u4e0a\u4f20\u7684\u6587\u4ef6\uff0c\u4f7f\u7528\u7684\u8bed\u6cd5\u53ebJinja2\u3002<\/span><\/p><\/li><li><p><span>\u5e38\u7528\u9009\u9879\uff1a<\/span><\/p><ul><li><p><span>src\uff1a\u8981\u4e0a\u4f20\u7684\u6587\u4ef6<\/span><\/p><\/li><li><p><span>dest\uff1a\u76ee\u6807\u6587\u4ef6\u8def\u5f84<\/span><\/p><\/li><\/ul><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u4f7f\u7528template\u6a21\u5757\u5c06\u542b\u6709\u53d8\u91cf\u7684\u6587\u4ef6\u4e0a\u4f20\u5230webservers\u7ec4\u4e2d\u7684\u4e3b\u673a<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim index.html<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Welcome to {{ansible_hostname}} on {{ansible_eth0.ipv4.address}}<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim templ.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: upload index<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: create web index<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  template:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  src: index.html<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  dest: \/usr\/share\/nginx\/html\/index.html<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook templ.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># curl http:\/\/192.168.88.11\/<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Welcome to web1 on <span class=\"cm-number\">192<\/span>.168.88.11<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># curl http:\/\/192.168.88.12<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Welcome to web2 on <span class=\"cm-number\">192<\/span>.168.88.12<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># cat \/usr\/share\/nginx\/html\/index.html<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Welcome to web1 on <span class=\"cm-number\">192<\/span>.168.88.11<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web2 ~]<span class=\"cm-comment\"># cat \/usr\/share\/nginx\/html\/index.html<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Welcome to web2 on <span class=\"cm-number\">192<\/span>.168.88.12<\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 530px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 530px;\"><\/div><\/div><\/div><\/pre><h2 id='\u8fdb\u9636\u8bed\u6cd5'><span class=\"ez-toc-section\" id=\"%E8%BF%9B%E9%98%B6%E8%AF%AD%E6%B3%95\"><\/span><span>\u8fdb\u9636\u8bed\u6cd5<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2><h3 id='\u9519\u8bef\u5904\u7406'><span class=\"ez-toc-section\" id=\"%E9%94%99%E8%AF%AF%E5%A4%84%E7%90%86\"><\/span><em><span>\u9519\u8bef\u5904\u7406<\/span><\/em><span class=\"ez-toc-section-end\"><\/span><\/h3><ul><li><p><span>\u5f53Playbook\u4e2d\u5305\u542b\u5f88\u591a\u4efb\u52a1\u65f6\uff0c\u5f53\u67d0\u4e00\u4e2a\u4efb\u52a1\u9047\u5230\u9519\u8bef\uff0c\u5b83\u5c06\u5d29\u6e83\uff0c\u7ec8\u6b62\u6267\u884c<\/span><\/p><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728webservers\u7ec4\u4e2d\u7684\u4e3b\u673a\u4e0a\u542f\u52a8mysqld\u670d\u52a1\uff0c\u7136\u540e\u521b\u5efa\/tmp\/service.txt<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u56e0\u4e3a\u76ee\u6807\u4e3b\u673a\u4e0a\u6ca1\u6709mysqld\u670d\u52a1\uff0c\u6240\u4ee5\u5b83\u5c06\u5d29\u6e83\uff0c\u7ec8\u6b62\u6267\u884c\u3002\u5373\uff0c\u4e0d\u4f1a\u521b\u5efa\/tmp\/service.txt\u6587\u4ef6<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim myerr.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: my errors<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: <span class=\"cm-builtin\">start<\/span> mysqld <span class=\"cm-builtin\">service<\/span> &nbsp;<span class=\"cm-comment\"># \u901a\u8fc7service\u6a21\u5757\u542f\u52a8mysqld\u670d\u52a1<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-builtin\">service<\/span>:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: mysqld<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: started<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  enabled: <span class=\"cm-builtin\">yes<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: <span class=\"cm-builtin\">touch<\/span> a file &nbsp; <span class=\"cm-comment\"># \u901a\u8fc7file\u6a21\u5757\u521b\u5efa\u6587\u4ef6<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  file:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  path: \/tmp\/service.txt<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: <span class=\"cm-builtin\">touch<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u6267\u884cplaybook\uff0c\u7b2c1\u4e2a\u4efb\u52a1\u5c31\u4f1a\u5931\u8d25<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook myerr.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5230node1\u4e0a\u67e5\u770b\uff0c\u56e0\u4e3a\u7b2c2\u4e2a\u4efb\u52a1\u6ca1\u6709\u6267\u884c\uff0c\u6240\u4ee5\u6587\u4ef6\u4e0d\u4f1a\u521b\u5efa<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># ls \/tmp\/service.txt<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-builtin\">ls<\/span>: cannot access <span class=\"cm-string\">'\/tmp\/service.txt'<\/span>: No such file or directory<\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 530px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 530px;\"><\/div><\/div><\/div><\/pre><ul><li><p><span>\u53ef\u4ee5\u6307\u5b9a\u67d0\u4e00\u4e2a\u4efb\u52a1\u5982\u679c\u51fa\u73b0\u9519\u8bef\uff0c\u5219\u5ffd\u7565\u5b83<\/span><\/p><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u7f16\u8f91myerr.yml\uff0c\u5982\u679cmyslqd\u670d\u52a1\u65e0\u6cd5\u542f\u52a8\uff0c\u5219\u5ffd\u7565\u5b83<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim myerr.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: my errors<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: <span class=\"cm-builtin\">start<\/span> mysqld <span class=\"cm-builtin\">service<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-builtin\">service<\/span>:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: mysqld<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: started<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  enabled: <span class=\"cm-builtin\">yes<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  ignore_errors: <span class=\"cm-builtin\">yes<\/span> &nbsp; &nbsp;<span class=\"cm-comment\"># \u5373\u4f7f\u8fd9\u4e2a\u4efb\u52a1\u5931\u8d25\u4e86\uff0c\u4e5f\u8981\u7ee7\u7eed\u6267\u884c\u4e0b\u53bb<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: <span class=\"cm-builtin\">touch<\/span> a file<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  file:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  path: \/tmp\/service.txt<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: <span class=\"cm-builtin\">touch<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook myerr.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># ls \/tmp\/service.txt &nbsp; # \u7b2c2\u4e2a\u4efb\u52a1\u5df2\u6267\u884c<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\/tmp\/service.txt<\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 484px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 484px;\"><\/div><\/div><\/div><\/pre><ul><li><p><span>\u901a\u8fc7\u5168\u5c40\u8bbe\u7f6e\uff0c\u65e0\u8bba\u54ea\u4e2a\u4efb\u52a1\u51fa\u73b0\u95ee\u9898\uff0c\u90fd\u8981\u5ffd\u7565<\/span><\/p><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim myerr.yml<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: my errors<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  ignore_errors: <span class=\"cm-builtin\">yes<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: <span class=\"cm-builtin\">start<\/span> mysqld <span class=\"cm-builtin\">service<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-builtin\">service<\/span>:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: mysqld<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: started<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  enabled: <span class=\"cm-builtin\">yes<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: <span class=\"cm-builtin\">touch<\/span> a file<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  file:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  path: \/tmp\/mysql.txt<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: <span class=\"cm-builtin\">touch<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook myerr.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># ls \/tmp\/mysql.txt <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\/tmp\/mysql.txt<\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 461px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 461px;\"><\/div><\/div><\/div><\/pre><h3 id='\u89e6\u53d1\u6267\u884c\u4efb\u52a1'><span class=\"ez-toc-section\" id=\"%E8%A7%A6%E5%8F%91%E6%89%A7%E8%A1%8C%E4%BB%BB%E5%8A%A1\"><\/span><em><span>\u89e6\u53d1\u6267\u884c\u4efb\u52a1<\/span><\/em><span class=\"ez-toc-section-end\"><\/span><\/h3><ul><li><p><span>\u901a\u8fc7handlers\u5b9a\u4e49\u89e6\u53d1\u6267\u884c\u7684\u4efb\u52a1<\/span><\/p><\/li><li><p><span>handlers\u4e2d\u5b9a\u4e49\u7684\u4efb\u52a1\uff0c\u4e0d\u662f\u4e00\u5b9a\u4f1a\u6267\u884c\u7684<\/span><\/p><\/li><li><p><span>\u5728tasks\u4e2d\u5b9a\u4e49\u7684\u4efb\u52a1\uff0c\u901a\u8fc7notify\u5173\u952e\u901a\u77e5handlers\u4e2d\u7684\u54ea\u4e2a\u4efb\u52a1\u8981\u6267\u884c<\/span><\/p><\/li><li><p><span>\u53ea\u6709tasks\u4e2d\u7684\u4efb\u52a1\u72b6\u6001\u662fchanged\u624d\u4f1a\u8fdb\u884c\u901a\u77e5\u3002<\/span><\/p><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u4e0b\u8f7dweb1\u4e0a\u7684\/etc\/nginx\/nginx.conf<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim get_conf.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: download nginx.conf<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: web1<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: <span class=\"cm-builtin\">get<\/span> nginx.conf<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  fetch:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  src: \/etc\/nginx\/nginx.conf<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  dest: .\/<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  flat: <span class=\"cm-builtin\">yes<\/span> &nbsp; &nbsp;<span class=\"cm-comment\"># \u76f4\u63a5\u4e0b\u8f7d\u6587\u4ef6\uff0c\u4e0d\u8981\u76ee\u5f55<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook get_conf.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u4fee\u6539nginx.conf\u7684\u7aef\u53e3\u4e3a\u53d8\u91cf<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim +39 nginx.conf<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">... ...<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  server {<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  listen &nbsp; &nbsp; &nbsp; {{http_port}} default_server;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  listen &nbsp; &nbsp; &nbsp; [::]:{{http_port}} default_server;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  server_name  _;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">... ...<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u4fee\u6539nginx\u670d\u52a1\u7684\u7aef\u53e3\u4e3a8000\uff0c\u91cd\u542fnginx<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim trigger.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: configure nginx<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  vars:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  http_port: <span class=\"cm-string\">\"8000\"<\/span> &nbsp; <span class=\"cm-comment\"># \u5b9a\u4e49nginx.conf\u4e2d\u7684\u53d8\u91cf\u548c\u503c<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: upload nginx.conf &nbsp; <span class=\"cm-comment\"># \u4e0a\u4f20nginx.conf<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  template:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  src: .\/nginx.conf<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  dest: \/etc\/nginx\/nginx.conf<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: <span class=\"cm-builtin\">restart<\/span> nginx &nbsp; &nbsp;<span class=\"cm-comment\"># \u91cd\u542f\u670d\u52a1<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-builtin\">service<\/span>:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: nginx<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: restarted<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u7b2c\u4e00\u6b21\u6267\u884ctrigger.yml\uff0c\u4e0a\u4f20\u6587\u4ef6\u548c\u91cd\u542f\u670d\u52a1\u4e24\u4e2a\u4efb\u52a1\u7684\u72b6\u6001\u90fd\u662f\u9ec4\u8272changed<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook trigger.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u7b2c\u4e8c\u6b21\u6267\u884ctrigger.yml\uff0c\u4e0a\u4f20\u6587\u4ef6\u7684\u4efb\u52a1\u72b6\u6001\u662f\u7eff\u8272\u7684ok\uff0c\u91cd\u542f\u670d\u52a1\u4efb\u52a1\u7684\u72b6\u6001\u662f\u9ec4\u8272changed<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook trigger.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u65e2\u7136\u914d\u7f6e\u6587\u4ef6\u6ca1\u6709\u6539\u53d8\uff0c\u90a3\u4e48\u670d\u52a1\u5c31\u4e0d\u5e94\u8be5\u91cd\u542f<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u4fee\u6539Playbook\uff0c\u53ea\u6709\u914d\u7f6e\u6587\u4ef6\u53d8\u5316\u4e86\uff0c\u624d\u91cd\u542f\u670d\u52a1<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim trigger.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: configure nginx<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  vars:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  http_port: <span class=\"cm-string\">\"80\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: upload nginx.conf<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  template:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  src: .\/nginx.conf<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  dest: \/etc\/nginx\/nginx.conf<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  notify: <span class=\"cm-builtin\">restart<\/span> nginx &nbsp; <span class=\"cm-comment\"># \u901a\u77e5restart httpd\u9700\u8981\u6267\u884c<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  handlers:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: <span class=\"cm-builtin\">restart<\/span> nginx<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-builtin\">service<\/span>:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: nginx<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: restarted<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u7b2c\u4e00\u6b21\u8fd0\u884cPlaybook\uff0c\u56e0\u4e3a\u7b2c1\u4e2a\u4efb\u52a1\u662f\u9ec4\u8272\u7684changed\uff0c\u6240\u4ee5handlers\u4e2d\u7684\u4efb\u52a1\u4e5f\u88ab\u89e6\u53d1\u6267\u884c<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook trigger.yml <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u7b2c\u4e8c\u6b21\u8fd0\u884cPlaybook\uff0c\u56e0\u4e3a\u7b2c1\u4e2a\u4efb\u52a1\u662f\u7eff\u8272\u7684OK\uff0c\u4e5f\u5c31\u4e0d\u4f1a\u518d\u89e6\u53d1\u6267\u884c\u5176\u4ed6\u4efb\u52a1\u4e86<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook trigger.yml <\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 1567px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 1567px;\"><\/div><\/div><\/div><\/pre><h3 id='when\u6761\u4ef6'><span class=\"ez-toc-section\" id=\"when%E6%9D%A1%E4%BB%B6\"><\/span><em><span>when\u6761\u4ef6<\/span><\/em><span class=\"ez-toc-section-end\"><\/span><\/h3><ul><li><p><span>\u53ea\u6709\u6ee1\u8db3\u67d0\u4e00\u6761\u4ef6\u65f6\uff0c\u624d\u6267\u884c\u4efb\u52a1<\/span><\/p><\/li><li><p><span>\u5e38\u7528\u7684\u64cd\u4f5c\u7b26\uff1a<\/span><\/p><ul><li><p><span>\\==\uff1a\u76f8\u7b49<\/span><\/p><\/li><li><p><span>!=\uff1a\u4e0d\u7b49<\/span><\/p><\/li><li><p><code>&gt;<\/code><span>\uff1a\u5927\u4e8e<\/span><\/p><\/li><li><p><code>&lt;<\/code><span>\uff1a\u5c0f\u4e8e<\/span><\/p><\/li><li><p><code>&lt;=<\/code><span>\uff1a\u5c0f\u4e8e\u7b49\u4e8e<\/span><\/p><\/li><li><p><code>&gt;=<\/code><span>\uff1a\u5927\u4e8e\u7b49\u4e8e<\/span><\/p><\/li><\/ul><\/li><li><p><span>\u591a\u4e2a\u6761\u4ef6\u6216\u4ee5\u4f7f\u7528and\u6216or\u8fdb\u884c\u8fde\u63a5<\/span><\/p><\/li><li><p><span>when\u8868\u8fbe\u5f0f\u4e2d\u7684\u53d8\u91cf\uff0c\u53ef\u4ee5\u4e0d\u4f7f\u7528<\/span><code>{{}}<\/code><\/p><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5f53dbs\u7ec4\u4e2d\u7684\u4e3b\u673a\u5185\u5b58\u5927\u4e8e2G\u7684\u65f6\u5019\uff0c\u624d\u5b89\u88c5mysql-server<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim when1.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: install mysql-server<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: dbs<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: install mysql-server pkg<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  yum:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: mysql-server<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: present<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  when: ansible_memtotal_mb&gt;2048<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5982\u679c\u76ee\u6807\u4e3b\u673a\u6ca1\u67092GB\u5185\u5b58\uff0c\u5219\u4e0d\u4f1a\u5b89\u88c5mysqld-server<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook when1.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u591a\u6761\u4ef6\u3002\u7cfb\u7edf\u53d1\u884c\u7248\u662fRocky8\u624d\u6267\u884c\u4efb\u52a1<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \/etc\/motd\u4e2d\u7684\u5185\u5bb9\uff0c\u5c06\u4f1a\u5728\u7528\u6237\u767b\u9646\u65f6\u663e\u793a\u5728\u5c4f\u5e55\u4e0a<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim motd<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> _____________<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">&lt; hello world &gt;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> <span class=\"cm-attribute\">-------------<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  \\ &nbsp; ^__^<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; \\  (oo)\\_______<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  (__)\\ &nbsp; &nbsp; &nbsp; )\\\/\\<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  ||----w |<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  || &nbsp; &nbsp; ||<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim when2.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: when condition<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: modify \/etc\/motd<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  copy:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  dest: \/etc\/motd<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  src: motd<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  when: &gt; &nbsp; &nbsp; <span class=\"cm-comment\"># \u4ee5\u4e0b\u4e09\u884c\u5408\u5e76\u6210\u4e00\u884c<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  ansible_distribution <span class=\"cm-operator\">==<\/span> <span class=\"cm-string\">\"Rocky\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  and<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  ansible_distribution_major_version <span class=\"cm-operator\">==<\/span> <span class=\"cm-string\">\"8\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook when2.yml<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 1014px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 1014px;\"><\/div><\/div><\/div><\/pre><h3 id='regitster\u6ce8\u518c\u53d8\u91cf'><span class=\"ez-toc-section\" id=\"regitster%E6%B3%A8%E5%86%8C%E5%8F%98%E9%87%8F\"><\/span><em><span>regitster\u6ce8\u518c\u53d8\u91cf<\/span><\/em><span class=\"ez-toc-section-end\"><\/span><\/h3><p><span>Ansible\u7684\u201cregister\u201d\u6a21\u5757\u662f\u7528\u4e8e\u6355\u83b7\u548c\u4fdd\u5b58\u4efb\u52a1\u6267\u884c\u7ed3\u679c\u7684\uff0c\u5b83\u5141\u8bb8\u5c06\u5176\u4ed6\u4efb\u52a1\u7684\u8f93\u51fa\u4f5c\u4e3a\u53d8\u91cf\u4f7f\u7528\u3002register\u662f\u4e00\u4e2a\u5173\u952e\u5b57\uff0c\u53ef\u4ee5\u5c06\u4efb\u52a1\u6267\u884c\u7684\u7ed3\u679c\u8d4b\u503c\u7ed9\u6307\u5b9a\u7684\u53d8\u91cf\u540d\u79f0\u3002\u8fd9\u4e2a\u53d8\u91cf\u53ef\u4ee5\u5728\u540e\u7eed\u4efb\u52a1\u4e2d\u4f7f\u7528\u3002\u00a0register\u6a21\u5757\u53ef\u4ee5\u6355\u83b7\u5404\u79cd\u7c7b\u578b\u7684\u8f93\u51fa\uff0c\u5305\u62ecstdout\u3001stderr\u3001rc\u3001changed\u7b49\u3002\u5b83\u53ef\u4ee5\u4e0e\u5176\u4ed6\u6a21\u5757\u4e00\u8d77\u4f7f\u7528\uff0c\u4f8b\u5982\u201cwhen\u201d\u6761\u4ef6\u3001\u201cloop\u201d\u5faa\u73af\u7b49\u3002<\/span><\/p><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728web1\u7ec4\u7684\u4e3b\u673a\u4e0a\u6267\u884c\u4efb\u52a1\uff0c\u521b\u5efa\/tmp\/regfile1.txt\uff0c\u5e76\u6253\u5370\u521b\u5efa\u7ed3\u679c<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim reg1.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: create file \/tmp\/regfile1.txt<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: web1<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: create file<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  file:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  path: \/tmp\/rgefile1.txt<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: <span class=\"cm-builtin\">touch<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  register: result<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: display output<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  debug:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  msg: <span class=\"cm-string\">\"{{result}}\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728web1\u4e3b\u673a\u4e0a\u6267\u884c\u4efb\u52a1\uff0c\u521b\u5efa\u6587\u4ef6\/tmp\/ademo\/abc\u3002\u5982\u679c\u521b\u5efa\u4e0d\u6210\u529f\uff0c\u5219\u901a\u8fc7debug\u8f93\u51facreate failed<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim reg2.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: create file \/tmp\/ademo\/abc<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: web1<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  ignore_errors: <span class=\"cm-builtin\">yes<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: create file<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  file:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  path: \/tmp\/ademo\/abc<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: <span class=\"cm-builtin\">touch<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  register: result<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: debug output<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  debug:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  msg: <span class=\"cm-string\">\"create failed\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  when: result.failed<\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 761px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 761px;\"><\/div><\/div><\/div><\/pre><p><span>\u00a0<\/span><\/p><blockquote><p><span>cowsay:<\/span><\/p><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># cowsay\u662f\u4e00\u4e2a\u8f6f\u4ef6\uff0c\u53ef\u4ee5\u5728\u4ee5\u4e0b\u5730\u5740\u83b7\u5f97<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># https:\/\/rpmfind.net\/linux\/epel\/8\/Everything\/x86_64\/Packages\/c\/cowsay-3.04-16.el8.noarch.rpm<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u4f7f\u7528\u65b9\u5f0f\u5982\u4e0b\uff1a<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># yum install -y \/root\/cowsay-3.04-16.el8.noarch.rpm<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># cowsay ni hao a<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">__________<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">&lt; ni hao a &gt;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">----------<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\\ &nbsp; ^__^<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\\  (oo)\\_______<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; (__)\\ &nbsp; &nbsp; &nbsp; )\\\/\\<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; ||----w |<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; || &nbsp; &nbsp; ||<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u67e5\u770b\u5176\u4ed6\u5f62\u8c61<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># cowsay -l<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Cow files <span class=\"cm-keyword\">in<\/span> \/usr\/share\/cowsay:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">beavis.zen blowfish bud-frogs bunny cheese cower default dragon<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">dragon-and-cow elephant elephant-in-snake eyes flaming-sheep fox<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">ghostbusters head-in hellokitty kiss kitty koala kosh luke-koala<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">mech-and-cow meow milk moofasa moose mutilated ren sheep skeleton small<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">stegosaurus stimpy supermilker surgery telebears three-eyes turkey turtle<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">tux udder vader vader-koala www<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># cowsay -f elephant are you ok?<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">_____________<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">&lt; are you ok? &gt;<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-------------<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\\ &nbsp; &nbsp; \/\\  ___  \/\\<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\\ &nbsp; \/\/ \\\/ &nbsp; \\\/ \\\\<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">(( &nbsp;  O O &nbsp;  ))<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\\\\ \/ &nbsp; &nbsp; \\ \/\/<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\\\/  | |  \\\/<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">|  | |  |<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">|  | |  |<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">| &nbsp; o &nbsp; |<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">| | &nbsp; | |<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">|m| &nbsp; |m|<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5982\u679c\u6267\u884cplaybook\u65f6\u4e5f\u4f1a\u51fa\u73b0\u5976\u725b\uff0c\u5219\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u65b9\u5f0f\u53d6\u6d88<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># echo 'nocows = 1' &gt;&gt; ansible.cfg<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 922px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 922px;\"><\/div><\/div><\/div><\/pre><\/blockquote><blockquote><p><span>\u77e5\u8bc6\u70b9\u601d\u7ef4\u5bfc\u56fe\uff1a<\/span><a href='https:\/\/flowus.cn\/share\/7875c0e1-ebbd-4dad-aa7e-f40e6ed6c6d3' target='_blank' class='url'>https:\/\/flowus.cn\/share\/7875c0e1-ebbd-4dad-aa7e-f40e6ed6c6d3<\/a><\/p><\/blockquote><h2 id='\u4efb\u52a1\u5757'><span class=\"ez-toc-section\" id=\"%E4%BB%BB%E5%8A%A1%E5%9D%97\"><\/span><span>\u4efb\u52a1\u5757<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2><ul><li><p><span>\u53ef\u4ee5\u901a\u8fc7block\u5173\u952e\u5b57\uff0c\u5c06\u591a\u4e2a\u4efb\u52a1\u7ec4\u5408\u5230\u4e00\u8d77<\/span><\/p><\/li><li><p><span>\u53ef\u4ee5\u5c06\u6574\u4e2ablock\u4efb\u52a1\u7ec4\uff0c\u4e00\u8d77\u63a7\u5236\u662f\u5426\u8981\u6267\u884c<\/span><\/p><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5982\u679cwebservers\u7ec4\u4e2d\u7684\u4e3b\u673a\u7cfb\u7edf\u53d1\u884c\u7248\u662fRocky\uff0c\u5219\u5b89\u88c5\u5e76\u542f\u52a8nginx<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim block1.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: block tasks<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: define a group of tasks<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  block:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: install nginx &nbsp; <span class=\"cm-comment\"># \u901a\u8fc7yum\u5b89\u88c5nginx<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;  yum:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  name: nginx<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  state: present<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: <span class=\"cm-builtin\">start<\/span> nginx &nbsp; &nbsp; <span class=\"cm-comment\"># \u901a\u8fc7service\u542f\u52a8nginx\u670d\u52a1<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-builtin\">service<\/span>:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  name: nginx<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  state: started<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  enabled: <span class=\"cm-builtin\">yes<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  when: <span class=\"cm-def\">ansible_distribution<\/span><span class=\"cm-operator\">==<\/span><span class=\"cm-string\">\"Rocky\"<\/span> &nbsp; <span class=\"cm-comment\"># \u6761\u4ef6\u4e3a\u771f\u624d\u4f1a\u6267\u884c\u4e0a\u9762\u7684\u4efb\u52a1<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook block1.yml<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 507px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 507px;\"><\/div><\/div><\/div><\/pre><h3 id='rescue\u548calways'><span class=\"ez-toc-section\" id=\"rescue%E5%92%8Calways\"><\/span><em><span>rescue\u548calways<\/span><\/em><span class=\"ez-toc-section-end\"><\/span><\/h3><ul><li><p><span>block\u548crescue\u3001always\u8054\u5408\u4f7f\u7528\uff1a<\/span><\/p><ul><li><p><span>block\u4e2d\u7684\u4efb\u52a1\u90fd\u6210\u529f\uff0crescue\u4e2d\u7684\u4efb\u52a1\u4e0d\u6267\u884c<\/span><\/p><\/li><li><p><span>block\u4e2d\u7684\u4efb\u52a1\u51fa\u73b0\u5931\u8d25\uff08failed\uff09\uff0crescue\u4e2d\u7684\u4efb\u52a1\u6267\u884c<\/span><\/p><\/li><li><p><span>block\u4e2d\u7684\u4efb\u52a1\u4e0d\u7ba1\u600e\u4e48\u6837\uff0calways\u4e2d\u7684\u4efb\u52a1\u603b\u662f\u6267\u884c<\/span><\/p><\/li><\/ul><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim block2.yml<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: block test<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: block \/ rescue \/ always test1<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  block:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: <span class=\"cm-builtin\">touch<\/span> a file<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;  file:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  path: \/tmp\/test1.txt<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  state: <span class=\"cm-builtin\">touch<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  rescue:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: <span class=\"cm-builtin\">touch<\/span> file test2.txt<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;  file:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  path: \/tmp\/test2.txt<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  state: <span class=\"cm-builtin\">touch<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  always:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: <span class=\"cm-builtin\">touch<\/span> file test3.txt<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;  file:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  path: \/tmp\/test3.txt<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  state: <span class=\"cm-builtin\">touch<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u6267\u884cplaybook web1\u4e0a\u5c06\u4f1a\u51fa\u73b0\/tmp\/test1.txt\u548c\/tmp\/test3.txt<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook block2.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># ls \/tmp\/test*.txt<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\/tmp\/test1.txt  \/tmp\/test3.txt<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u4fee\u6539\u4e0a\u9762\u7684playbook\uff0c\u4f7fblock\u4e2d\u7684\u4efb\u52a1\u51fa\u9519<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># rm -f \/tmp\/test*.txt<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim block2.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: block test<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: block \/ rescue \/ always test1<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  block:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: <span class=\"cm-builtin\">touch<\/span> a file<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;  file:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  path: \/tmp\/abcd\/test11.txt<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  state: <span class=\"cm-builtin\">touch<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  rescue:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: <span class=\"cm-builtin\">touch<\/span> file test22.txt<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;  file:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  path: \/tmp\/test22.txt<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  state: <span class=\"cm-builtin\">touch<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  always:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: <span class=\"cm-builtin\">touch<\/span> file test33.txt<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;  file:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  path: \/tmp\/test33.txt<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  state: <span class=\"cm-builtin\">touch<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u56e0\u4e3aweb1\u4e0a\u6ca1\u6709\/tmp\/abcd\u76ee\u5f55\uff0c\u6240\u4ee5block\u4e2d\u7684\u4efb\u52a1\u5931\u8d25\u3002\u4f46\u662fplaybook\u4e0d\u518d\u5d29\u6e83\uff0c\u800c\u662f\u6267\u884crescue\u4e2d\u7684\u4efb\u52a1\u3002always\u4e2d\u7684\u4efb\u52a1\u603b\u662f\u6267\u884c<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook block2.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># ls \/tmp\/test*.txt<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\/tmp\/test22.txt  \/tmp\/test33.txt<\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 1268px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 1268px;\"><\/div><\/div><\/div><\/pre><h2 id='loop\u5faa\u73af'><span class=\"ez-toc-section\" id=\"loop%E5%BE%AA%E7%8E%AF\"><\/span><span>loop\u5faa\u73af<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2><ul><li><p><span>\u76f8\u5f53\u4e8eshell\u4e2dfor\u5faa\u73af<\/span><\/p><\/li><li><p><span>ansible\u4e2d\u5faa\u73af\u7528\u5230\u7684\u53d8\u91cf\u540d\u662f\u56fa\u5b9a\u7684\uff0c\u53ebitem<\/span><\/p><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728test\u7ec4\u4e2d\u7684\u4e3b\u673a\u4e0a\u521b\u5efa5\u4e2a\u76ee\u5f55\/tmp\/{aaa,bbb,ccc,ddd,eee}<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim loop1.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: use loop<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: create directory<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  file:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  path: \/tmp\/{{item}}<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: directory<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  loop: [aaa,bbb,ccc,ddd,eee]<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u4e0a\u9762\u5199\u6cd5\uff0c\u4e5f\u53ef\u4ee5\u6539\u4e3a\uff1a<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: use loop<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: create directory<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  file:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  path: \/tmp\/{{item}}<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  state: directory<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  loop: <\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> aaa<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> bbb<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> ccc<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> ddd<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> eee<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook loop1.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u4f7f\u7528\u590d\u6742\u53d8\u91cf\u3002\u521b\u5efazhangsan\u7528\u6237\uff0c\u5bc6\u7801\u662f123\uff1b\u521b\u5efalisi\u7528\u6237\uff0c\u5bc6\u7801\u662f456<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># item\u662f\u56fa\u5b9a\u7684\uff0c\u7528\u4e8e\u8868\u793a\u5faa\u73af\u4e2d\u7684\u53d8\u91cf<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5faa\u73af\u65f6\uff0cloop\u4e2d\u6bcf\u4e2a-\u540e\u9762\u7684\u5185\u5bb9\u4f5c\u4e3a\u4e00\u4e2a\u6574\u4f53\u8d4b\u503c\u7ed9item\u3002<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># loop\u4e2d{}\u4e2d\u7684\u5185\u5bb9\u662f\u81ea\u5df1\u5b9a\u4e49\u7684\uff0c\u5199\u6cd5\u4e3akey:val<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u53d6\u503c\u65f6\u4f7f\u7528\u53e5\u70b9\u8868\u793a\u3002\u5982\u4e0b\u4f8b\u4e2d\u53d6\u51fa\u7528\u6237\u540d\u5c31\u662f{{item.uname}}<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim loop_user.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: create users<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: create multiple users<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  user:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: <span class=\"cm-string\">\"{{item.uname}}\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  password: <span class=\"cm-string\">\"{{item.upass|password_hash('sha512')}}\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  loop:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> {<span class=\"cm-string\">\"uname\"<\/span>: <span class=\"cm-string\">\"zhangsan\"<\/span>, <span class=\"cm-string\">\"upass\"<\/span>: <span class=\"cm-string\">\"123\"<\/span>}<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> {<span class=\"cm-string\">\"uname\"<\/span>: <span class=\"cm-string\">\"lisi\"<\/span>, <span class=\"cm-string\">\"upass\"<\/span>: <span class=\"cm-string\">\"456\"<\/span>}<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook  loop_user.yml<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 1129px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 1129px;\"><\/div><\/div><\/div><\/pre><h2 id='role\u89d2\u8272'><span class=\"ez-toc-section\" id=\"role%E8%A7%92%E8%89%B2\"><\/span><span>role\u89d2\u8272<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2><ul><li><p><span>\u4e3a\u4e86\u5b9e\u73b0playbook\u91cd\u7528\uff0c\u53ef\u4ee5\u4f7f\u7528role\u89d2\u8272<\/span><\/p><\/li><li><p><span>\u89d2\u8272role\u76f8\u5f53\u4e8e\u628a\u4efb\u52a1\u6253\u6563\uff0c\u653e\u5230\u4e0d\u540c\u7684\u76ee\u5f55\u4e2d<\/span><\/p><\/li><li><p><span>\u518d\u628a\u4e00\u4e9b\u56fa\u5b9a\u7684\u503c\uff0c\u5982\u7528\u6237\u540d\u3001\u8f6f\u4ef6\u5305\u3001\u670d\u52a1\u7b49\uff0c\u7528\u53d8\u91cf\u6765\u8868\u793a<\/span><\/p><\/li><li><p><span>role\u89d2\u8272\u5b9a\u4e49\u597d\u4e4b\u540e\uff0c\u53ef\u4ee5\u5728\u5176\u4ed6playbook\u4e2d\u76f4\u63a5\u8c03\u7528<\/span><\/p><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u4f7f\u7528\u5e38\u89c4playbook\uff0c\u4fee\u6539\/etc\/motd\u7684\u5185\u5bb9<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># 1. \u521b\u5efamotd\u6a21\u677f\u6587\u4ef6<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim motd<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Hostname: {{ansible_hostname}} &nbsp; &nbsp; <span class=\"cm-comment\"># facts\u53d8\u91cf\uff0c\u4e3b\u673a\u540d<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Date: {{ansible_date_time.date}} &nbsp; <span class=\"cm-comment\">#  facts\u53d8\u91cf\uff0c\u65e5\u671f<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Contact to: {{admin}} &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\"># \u81ea\u5b9a\u4e49\u53d8\u91cf<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># 2. \u7f16\u5199playbook<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim motd.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: modifty \/etc\/motd<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  vars:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  admin: root@tedu.cn &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\"># \u81ea\u5b9a\u4e49\u540d\u4e3aadmin\u7684\u53d8\u91cf<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: modify motd<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  template:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  src: motd<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  dest: \/etc\/motd<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook motd.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># cat \/etc\/motd <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Hostname: web1<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Date: <span class=\"cm-number\">2021<\/span><span class=\"cm-attribute\">-11-01<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Contact to: root@tedu.cn<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u521b\u5efa\u89d2\u8272<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># 1. \u58f0\u660e\u89d2\u8272\u5b58\u653e\u7684\u4f4d\u7f6e<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim ansible.cfg <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[defaults]<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">inventory <span class=\"cm-operator\">=<\/span> hosts<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">roles_path <span class=\"cm-operator\">=<\/span> roles &nbsp; &nbsp;<span class=\"cm-comment\"># \u5b9a\u4e49\u89d2\u8272\u5b58\u5728\u5f53\u524d\u76ee\u5f55\u7684roles\u5b50\u76ee\u5f55\u4e2d<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># 2. \u521b\u5efa\u89d2\u8272\u76ee\u5f55<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># mkdir roles<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># 3. \u521b\u5efa\u540d\u4e3amotd\u7684\u89d2\u8272<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-galaxy init roles\/motd<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ls roles\/<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">motd &nbsp; &nbsp; <span class=\"cm-comment\"># \u751f\u6210\u4e86motd\u89d2\u8272\u76ee\u5f55<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># yum install -y tree<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># tree roles\/motd\/<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">roles\/motd\/<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\u251c\u2500\u2500 defaults &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"cm-comment\"># \u5b9a\u4e49\u53d8\u91cf\u7684\u76ee\u5f55\uff0c\u4f18\u5148\u7ea7\u6700\u4f4e<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\u2502 &nbsp;  \u2514\u2500\u2500 main.yml<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\u251c\u2500\u2500 files &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\"># \u4fdd\u5b58\u4e0a\u4f20\u7684\u6587\u4ef6\uff08\u5982copy\u6a21\u5757\u7528\u5230\u7684\u6587\u4ef6\uff09<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\u251c\u2500\u2500 handlers &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"cm-comment\"># handlers\u4efb\u52a1\u5199\u5230\u8fd9\u4e2a\u76ee\u5f55\u7684main.yml\u4e2d<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\u2502 &nbsp;  \u2514\u2500\u2500 main.yml<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\u251c\u2500\u2500 meta &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"cm-comment\"># \u4fdd\u5b58\u8bf4\u660e\u6570\u636e\uff0c\u5982\u89d2\u8272\u4f5c\u8005\u3001\u7248\u672c\u7b49<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\u2502 &nbsp;  \u2514\u2500\u2500 main.yml<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\u251c\u2500\u2500 README.md &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\"># \u4fdd\u5b58\u89d2\u8272\u5982\u4f55\u4f7f\u7528\u4e4b\u7c7b\u7684\u8bf4\u660e<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\u251c\u2500\u2500 tasks &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\"># \u4fdd\u5b58\u4efb\u52a1<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\u2502 &nbsp;  \u2514\u2500\u2500 main.yml<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\u251c\u2500\u2500 templates &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\"># \u4fdd\u5b58template\u6a21\u5757\u4e0a\u4f20\u7684\u6a21\u677f\u6587\u4ef6<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\u251c\u2500\u2500 tests &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\"># \u4fdd\u5b58\u6d4b\u8bd5\u7528\u7684playbook\u3002\u53ef\u9009<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\u2502 &nbsp;  \u251c\u2500\u2500 inventory<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\u2502 &nbsp;  \u2514\u2500\u2500 test.yml<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">\u2514\u2500\u2500 vars &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"cm-comment\"># \u5b9a\u4e49\u53d8\u91cf\u7684\u4f4d\u7f6e\uff0c\u63a8\u8350\u4f7f\u7528\u7684\u4f4d\u7f6e<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; \u2514\u2500\u2500 main.yml<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># 4. \u5c06\u4e0d\u540c\u7684\u5185\u5bb9\u5206\u522b\u5199\u5230\u5bf9\u5e94\u76ee\u5f55\u7684main.yml\u4e2d<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># 4.1 \u521b\u5efamotd\u6a21\u677f\u6587\u4ef6<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim roles\/motd\/templates\/motd<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Hostname: {{ansible_hostname}}<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Date: {{ansible_date_time.date}}<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Contact to: {{admin}}<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># 4.2 \u521b\u5efa\u53d8\u91cf<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim roles\/motd\/vars\/main.yml  # \u8ffd\u52a0\u4e00\u884c<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">admin: zzg@tedu.cn<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># 4.3 \u521b\u5efa\u4efb\u52a1<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim roles\/motd\/tasks\/main.yml  # \u8ffd\u52a0<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: modify motd<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  template:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  src: motd &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\"># \u8fd9\u91cc\u7684\u6587\u4ef6\uff0c\u81ea\u52a8\u5230templates\u76ee\u5f55\u4e0b\u67e5\u627e<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  dest: \/etc\/motd<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># 5. \u521b\u5efaplaybook\uff0c\u8c03\u7528motd\u89d2\u8272<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim role_motd.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: modify motd with role<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  roles:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> motd<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># 6. \u6267\u884cplaybook<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook role_motd.yml <\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 2051px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 2051px;\"><\/div><\/div><\/div><\/pre><h3 id='role\u7ec3\u4e60'><span class=\"ez-toc-section\" id=\"role%E7%BB%83%E4%B9%A0\"><\/span><em><span>role\u7ec3\u4e60<\/span><\/em><span class=\"ez-toc-section-end\"><\/span><\/h3><ol start='' ><li><p><span>\u521b\u5efa\u540d\u4e3apkgs\u7684\u89d2\u8272\u3002\u7528\u4e8e\u88c5\u5305\u3002\u5305\u540d\u4f7f\u7528\u53d8\u91cfpkg\u4ee3\u8868<\/span><\/p><\/li><li><p><span>\u521b\u5efainst<\/span><span>_<\/span><span>nginx.yml\uff0c\u8c03\u7528pkgs\u89d2\u8272\uff0c\u5b89\u88c5nginx<\/span><\/p><\/li><li><p><span>\u521b\u5efainst<\/span><span>_<\/span><span>mysql.yml\uff0c\u8c03\u7528pkgs\u89d2\u8272\uff0c\u5b89\u88c5mysql<\/span><\/p><\/li><\/ol><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># 1. \u521b\u5efa\u540d\u4e3apkgs\u7684\u89d2\u8272\u3002<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># 1.1 \u521b\u5efa\u89d2\u8272\u76ee\u5f55<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-galaxy init roles\/pkgs<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># 1.2 \u521b\u5efa\u88c5\u5305\u7684\u4efb\u52a1\uff0c\u5305\u540d\u4f7f\u7528\u53d8\u91cfpkg\u4ee3\u8868<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim roles\/pkgs\/tasks\/main.yml <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># tasks file for roles\/pkgs<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: install rpm pkg<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  yum:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  name: <span class=\"cm-string\">\"{{pkg}}\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  state: present<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># 1.3 \u5b9a\u4e49\u53d8\u91cf<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim roles\/pkgs\/defaults\/main.yml <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># defaults file for roles\/pkgs<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">pkg: nginx<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># 2. \u521b\u5efainst_nginx.yml\uff0c\u8c03\u7528pkgs\u89d2\u8272\uff0c\u5b89\u88c5nginx<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim inst_nginx.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: install nginx pkg<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  roles:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> pkgs<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook inst_nginx.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># 3. \u521b\u5efainst_mysql.yml\uff0c\u8c03\u7528pkgs\u89d2\u8272\uff0c\u5b89\u88c5mysql-server<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim inst_mysql.yml <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: install mysql pkg<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: dbs<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  vars:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  pkg: mysql-server<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  roles:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> pkgs<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook inst_mysql.yml<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 830px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 830px;\"><\/div><\/div><\/div><\/pre><ul><li><p><span>ansible\u7684\u516c\u5171\u89d2\u8272\u4ed3\u5e93\uff1a<\/span><a href='https:\/\/galaxy.ansible.com\/' target='_blank' class='url'>https:\/\/galaxy.ansible.com\/<\/a><\/p><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5728\u516c\u5171\u4ed3\u5e93\u4e2d\u641c\u7d22\u4e0enginx\u76f8\u5173\u7684\u89d2\u8272<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@myhost ~]<span class=\"cm-comment\"># ansible-galaxy search nginx<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5982\u679c\u627e\u5230\u76f8\u5e94\u7684\u89d2\u8272\uff0c\u5982\u540d\u5b57\u4e3amynginx\uff0c\u53ef\u4ee5\u4e0b\u8f7d\u5b83\u5230roles\u76ee\u5f55<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@myhost ~]<span class=\"cm-comment\"># ansible-galaxy install mynginx -p roles\/<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 92px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 92px;\"><\/div><\/div><\/div><\/pre><h2 id='ansible\u52a0\u89e3\u5bc6\u6587\u4ef6'><span class=\"ez-toc-section\" id=\"ansible%E5%8A%A0%E8%A7%A3%E5%AF%86%E6%96%87%E4%BB%B6\"><\/span><span>ansible\u52a0\u89e3\u5bc6\u6587\u4ef6<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2><ul><li><p><span>ansible\u52a0\u89e3\u5bc6\u6587\u4ef6\u4f7f\u7528ansible-vault\u547d\u4ee4<\/span><\/p><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># echo \"Hi ni hao\" &gt; hello.txt <\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># cat hello.txt<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Hi ni hao<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u52a0\u5bc6\u6587\u4ef6<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-vault encrypt hello.txt<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">New Vault password: <span class=\"cm-number\">123456<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Confirm New Vault password: <span class=\"cm-number\">123456<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Encryption successful<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># cat hello.txt<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-def\">$ANSIBLE_VAULT<\/span>;1.1;AES256<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-number\">37373366353566346235613731396566646533393361386131313632306563633336333963373465<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">6164323461356130303863633964393339363738653036310a666564313832316263393061616330<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-number\">32373133323162353864316435366439386266616661373936363563373634356365326637336165<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">6336636230366564650a383239636230623633356565623461326431393634656666306330663533<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-number\">6235<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u89e3\u5bc6<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-vault decrypt hello.txt<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Vault password: <span class=\"cm-number\">123456<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Decryption successful<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># cat hello.txt <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Hi ni hao<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u52a0\u5bc6\u540e\u66f4\u6539\u5bc6\u7801<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-vault encrypt hello.txt <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">New Vault password: <span class=\"cm-number\">123456<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Confirm New Vault password: <span class=\"cm-number\">123456<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Encryption successful<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-vault rekey hello.txt &nbsp; # \u6539\u5bc6\u7801<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Vault password: <span class=\"cm-number\">123456<\/span> &nbsp; &nbsp;<span class=\"cm-comment\"># \u65e7\u5bc6\u7801<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">New Vault password: abcd &nbsp;<span class=\"cm-comment\"># \u65b0\u5bc6\u7801<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Confirm New Vault password: abcd<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Rekey successful<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u4e0d\u89e3\u5bc6\u6587\u4ef6\uff0c\u67e5\u770b\u5185\u5bb9<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-vault view hello.txt <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Vault password: abcd<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Hi ni hao<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u4f7f\u7528\u5bc6\u7801\u6587\u4ef6\u8fdb\u884c\u52a0\u89e3\u5bc6<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># 1. \u5c06\u5bc6\u7801\u5199\u5165\u6587\u4ef6<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># echo 'tedu.cn' &gt; pass.txt<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># 2. \u521b\u5efa\u660e\u6587\u6587\u4ef6<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># echo 'hello world' &gt; data.txt<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># 3. \u4f7f\u7528pass.txt\u4e2d\u7684\u5185\u5bb9\u4f5c\u4e3a\u5bc6\u7801\u52a0\u5bc6\u6587\u4ef6<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-vault encrypt --vault-id=pass.txt data.txt<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Encryption successful<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># cat data.txt &nbsp;  # \u6587\u4ef6\u5df2\u52a0\u5bc6<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># 4. \u4f7f\u7528pass.txt\u4e2d\u7684\u5185\u5bb9\u4f5c\u4e3a\u5bc6\u7801\u89e3\u5bc6\u6587\u4ef6<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-vault decrypt --vault-id=pass.txt data.txt<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Decryption successful<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># cat data.txt <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">hello world<\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 1314px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 1314px;\"><\/div><\/div><\/div><\/pre><ul><li><p><span>\u4f7f\u7528ansible\u7ba1\u7406\u8fdc\u7a0b\u4e3b\u673a\uff0c\u5b58\u50a8\u654f\u611f\u6570\u636e\u65f6\uff08\u5982\uff0c\u6587\u4ef6\u4e2d\u5305\u542b\u5bc6\u7801\uff09\uff0c\u5e94\u8be5\u5c06\u5176\u52a0\u5bc6<\/span><\/p><\/li><li><p><span>\u6267\u884cplaybook\u65f6\uff0c\u901a\u8fc7<\/span><code>--ask-vault-password<\/code><span>\u9009\u9879\u63d0\u793a\u8f93\u5165\u5bc6\u7801<\/span><\/p><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># 1. \u7f16\u5199\u6709\u5bc6\u7801\u7684playbook<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># vim user_zhangsan.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">---<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-attribute\">-<\/span> name: create a user<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  hosts: webservers<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  tasks:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">-<\/span> name: create user zhangsan<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  user:<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  name: zhangsan<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  password: <span class=\"cm-string\">\"{{'123'|password_hash('sha512')}}\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># 2. \u52a0\u5bc6playbook<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-vault encrypt user_zhangsan.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">New Vault password: <span class=\"cm-number\">123456<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Confirm New Vault password: <span class=\"cm-number\">123456<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Encryption successful<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># 3. \u76f4\u63a5\u6267\u884cplaybook\uff0c\u62a5\u9519<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook user_zhangsan.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">ERROR! Attempting to decrypt but no vault secrets found<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># 4. \u4f7f\u7528--ask-vault-password\u9009\u9879<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible-playbook --ask-vault-password user_zhangsan.yml<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">Vault password: <span class=\"cm-number\">123456<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 553px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 553px;\"><\/div><\/div><\/div><\/pre><p><span>\u00a0<\/span><\/p><h2 id='sudo\u547d\u4ee4'><span class=\"ez-toc-section\" id=\"sudo%E5%91%BD%E4%BB%A4\"><\/span><span>sudo\u547d\u4ee4<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2><ul><li><p><span>\u4e00\u822c\u7528\u4e8e\u666e\u901a\u7528\u6237\u6267\u884c\u9700\u8981root\u6743\u9650\u7684\u547d\u4ee4<\/span><\/p><\/li><li><p><span>\u5728web1\u4e0a\u914d\u7f6ezhangsan\u62e5\u6709sudo\u6743\u9650<\/span><\/p><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5982\u679c\u6ca1\u6709zhangsan\uff0c\u624b\u5de5\u521b\u5efa<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># visudo &nbsp; # \u5c06\u4f1a\u6253\u5f00vi\uff0c\u5728\u5c3e\u90e8\u8ffd\u52a0\u4ee5\u4e0b\u4e00\u884c<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">zhangsan &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-def\">ALL<\/span><span class=\"cm-operator\">=<\/span>(ALL) &nbsp; &nbsp; &nbsp; ALL<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u4e2d\u95f4\u7684ALL=(ALL)\u5728\u96c6\u4e2d\u8ba4\u8bc1\u7684\u57df\u73af\u5883\u4e2d\u624d\u6709\u6548\uff0c\u5355\u673a\u5ffd\u7565\u5373\u53ef<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># zhangsan\u662f\u7528\u6237\u540d\uff0c\u6700\u540e\u7684ALL\u8868\u793azhangsan\u53ef\u4ee5\u4ee5\u7ba1\u7406\u5458\u7684\u8eab\u4efd\u6267\u884c\u6240\u6709\u547d\u4ee4<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5207\u6362\u6210zhangsan\u7528\u6237\uff0c\u6267\u884c\u547d\u4ee4<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># su - zhangsan<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[zhangsan@web1 ~]<span class=\"cm-def\">$ useradd<\/span> wangwu &nbsp; <span class=\"cm-comment\"># \u5931\u8d25\uff0c\u56e0\u4e3a\u8fd8\u662f\u5f20\u4e09\u8eab\u4efd<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[zhangsan@web1 ~]<span class=\"cm-def\">$ sudo<\/span> useradd wangwu &nbsp;<span class=\"cm-comment\"># \u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u6267\u884c<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">... ...<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[sudo] password <span class=\"cm-keyword\">for<\/span> zhangsan: <span class=\"cm-comment\"># \u8f93\u5165zhangsan\u7684\u5bc6\u7801\uff0c\u4e0d\u662froot<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u914d\u7f6elisi\u4e0d\u8f93\u5165\u5bc6\u7801\u53ef\u4ee5\u76f4\u63a5\u8fd0\u884csudo<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># visudo &nbsp;  # \u5728\u6700\u540e\u8ffd\u52a0\u4e00\u884c<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">lisi &nbsp; &nbsp;<span class=\"cm-def\">ALL<\/span><span class=\"cm-operator\">=<\/span>(ALL) &nbsp; &nbsp; &nbsp; NOPASSWD: ALL<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5207\u6362\u6210lisi\u8fd0\u884c<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># su - lisi<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[lisi@web1 ~]<span class=\"cm-def\">$ ls<\/span> \/root\/ &nbsp; <span class=\"cm-comment\"># \u6ca1\u6743\u9650<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-builtin\">ls<\/span>: cannot open directory <span class=\"cm-string\">'\/root\/'<\/span>: Permission denied<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[lisi@web1 ~]<span class=\"cm-def\">$ sudo<\/span> <span class=\"cm-builtin\">ls<\/span> \/root\/ &nbsp; &nbsp;<span class=\"cm-comment\"># \u6210\u529f\u8fd0\u884c\uff0c\u65e0\u9700\u8f93\u5165\u5bc6\u7801<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">a3.txt  anaconda-ks.cfg<\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 553px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 553px;\"><\/div><\/div><\/div><\/pre><h2 id='\u7279\u6b8a\u7684\u4e3b\u673a\u6e05\u5355\u53d8\u91cf'><span class=\"ez-toc-section\" id=\"%E7%89%B9%E6%AE%8A%E7%9A%84%E4%B8%BB%E6%9C%BA%E6%B8%85%E5%8D%95%E5%8F%98%E9%87%8F\"><\/span><span>\u7279\u6b8a\u7684\u4e3b\u673a\u6e05\u5355\u53d8\u91cf<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2><ul><li><p><span>\u5982\u679c\u8fdc\u7a0b\u4e3b\u673a\u6ca1\u6709\u4f7f\u7528\u514d\u5bc6\u767b\u9646\uff0c\u5982\u679c\u8fdc\u7a0b\u4e3b\u673assh\u4e0d\u662f\u6807\u51c6\u768422\u7aef\u53e3\uff0c\u53ef\u4ee5\u8bbe\u7f6e\u7279\u6b8a\u7684\u4e3b\u673a\u6e05\u5355\u53d8\u91cf<\/span><\/p><\/li><li><p><code>ansible_ssh_user<\/code><span>\uff1a\u6307\u5b9a\u767b\u9646\u8fdc\u7a0b\u4e3b\u673a\u7684\u7528\u6237\u540d<\/span><\/p><\/li><li><p><code>ansible_ssh_pass<\/code><span>\uff1a\u6307\u5b9a\u767b\u9646\u8fdc\u7a0b\u4e3b\u673a\u7684\u5bc6\u7801<\/span><\/p><\/li><li><p><code>ansible_ssh_port<\/code><span>\uff1a\u6307\u5b9a\u767b\u9646\u8fdc\u7a0b\u4e3b\u673a\u7684\u7aef\u53e3\u53f7<\/span><\/p><\/li><\/ul><pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" spellcheck=\"false\" lang=\"bash\" style=\"break-inside: unset;\"><div class=\"CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.52344px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"><\/textarea><\/div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"><\/div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx<\/span><\/pre><\/div><div class=\"CodeMirror-measure\"><\/div><div style=\"position: relative; z-index: 1;\"><\/div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"><\/div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u5220\u9664\u8fdc\u7a0b\u4e3b\u673a\u7684\/root\/.ssh\/authorized_keys\uff0c\u4ee5\u4fbf\u6062\u590d\u901a\u8fc7\u5bc6\u7801\u767b\u9646<\/span><\/span><\/pre><\/div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ansible]<span class=\"cm-comment\"># ansible all -m file -a \"path=\/root\/.ssh\/authorized_keys state=absent\"<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u521b\u5efa\u65b0\u7684\u5de5\u4f5c\u76ee\u5f55<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ~]<span class=\"cm-comment\"># mkdir myansible<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver ~]<span class=\"cm-comment\"># cd myansible<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver myansible]<span class=\"cm-comment\"># vim ansible.cfg<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[defaults]<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">inventory <span class=\"cm-operator\">=<\/span> inventory<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver myansible]<span class=\"cm-comment\"># vim inventory<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[group1]<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">web1<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">web2<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">db1<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver myansible]<span class=\"cm-comment\"># ansible all -m ping  # \u62a5\u9519\uff0c\u56e0\u4e3a\u65e0\u6cd5\u514d\u5bc6\u6267\u884c<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u4fee\u6539web1 ssh\u670d\u52a1\u7684\u7aef\u53e3\u4e3a220<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># systemctl stop firewalld<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># echo 'Port 220' &gt;&gt; \/etc\/ssh\/sshd_config<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@web1 ~]<span class=\"cm-comment\"># systemctl restart sshd<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u9000\u51fa\u518d\u767b\u9646\u65f6\uff0c\u9700\u8981\u6307\u5b9a\u7aef\u53e3\u53f7<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@myhost ~]<span class=\"cm-comment\"># ssh -p220 192.168.88.11 <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\"># \u914d\u7f6essh\u901a\u8fc7\u7528\u6237\u540d\u3001\u5bc6\u7801\u7ba1\u7406\u8fdc\u7a0b\u4e3b\u673a\uff0c\u901a\u8fc7220\u7aef\u53e3\u8fde\u63a5web1<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver myansible]<span class=\"cm-comment\"># vim inventory <\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[group1]<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">web1 <span class=\"cm-def\">ansible_ssh_user<\/span><span class=\"cm-operator\">=<\/span>root <span class=\"cm-def\">ansible_ssh_pass<\/span><span class=\"cm-operator\">=<\/span>a <span class=\"cm-def\">ansible_ssh_port<\/span><span class=\"cm-operator\">=<\/span><span class=\"cm-number\">220<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">web2 <span class=\"cm-def\">ansible_ssh_user<\/span><span class=\"cm-operator\">=<\/span>root <span class=\"cm-def\">ansible_ssh_pass<\/span><span class=\"cm-operator\">=<\/span>a<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">db1 <span class=\"cm-def\">ansible_ssh_user<\/span><span class=\"cm-operator\">=<\/span>root <span class=\"cm-def\">ansible_ssh_pass<\/span><span class=\"cm-operator\">=<\/span>a<\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\" cm-zwsp=\"\">\n<\/span><\/span><\/pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">[root@pubserver myansible]<span class=\"cm-comment\"># ansible all -m ping<\/span><\/span><\/pre><\/div><\/div><\/div><\/div><\/div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 784px;\"><\/div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 784px;\"><\/div><\/div><\/div><\/pre><blockquote><p><span>\u77e5\u8bc6\u70b9\u601d\u7ef4\u5bfc\u56fe\uff1a<\/span><a href='https:\/\/flowus.cn\/share\/7875c0e1-ebbd-4dad-aa7e-f40e6ed6c6d3' target='_blank' class='url'>https:\/\/flowus.cn\/share\/7875c0e1-ebbd-4dad-aa7e-f40e6ed6c6d3<\/a><\/p><\/blockquote><p>&nbsp;<\/p><\/div><\/div>\n<\/body>\n<\/html>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>ansible \u77e5\u8bc6\u70b9\u601d\u7ef4\u5bfc\u56fe\uff1ahttps:\/\/flowus.cn\/share\/7875c0e1-ebbd-4 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-17","post","type-post","status-publish","format-standard","hentry","category-ansible"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/www.8ykxvf.top\/index.php?rest_route=\/wp\/v2\/posts\/17","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.8ykxvf.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.8ykxvf.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.8ykxvf.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.8ykxvf.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=17"}],"version-history":[{"count":3,"href":"https:\/\/www.8ykxvf.top\/index.php?rest_route=\/wp\/v2\/posts\/17\/revisions"}],"predecessor-version":[{"id":20,"href":"https:\/\/www.8ykxvf.top\/index.php?rest_route=\/wp\/v2\/posts\/17\/revisions\/20"}],"wp:attachment":[{"href":"https:\/\/www.8ykxvf.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=17"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.8ykxvf.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=17"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.8ykxvf.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=17"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}