第 1 章 Shell 企业编程基础............................................................................................................. 1
1.1 Shell 编程入门.........................................................................................................................................1
1.2 Shell 脚本及编写 Hello World 程序 ..........................................................................................................3
1.3 Shell 编程................................................................................................................................................3
1.3.1 变量详解 ......................................................................................................................................3
1.3.2 系统变量 ......................................................................................................................................4
1.3.3 环境变量 ......................................................................................................................................4
1.3.4 用户变量 ......................................................................................................................................5
1.4 if 条件语句实战 ......................................................................................................................................6
1.5 Shell 编程括号和符号详解 ......................................................................................................................7
1.5.1 括号详解 ......................................................................................................................................7
1.5.2 符号详解 ......................................................................................................................................8
1.6 MySQL 数据库备份脚本 ..........................................................................................................................8
1.7 LNMP 一键自动化安装脚本 ....................................................................................................................9
1.8 for 循环语句实战...................................................................................................................................13
1.9 while 循环语句实战...............................................................................................................................14
1.10 case 选择语句实战 ..............................................................................................................................17
1.11 select 选择语句实战 ............................................................................................................................19
1.12 Shell 编程函数实战 .............................................................................................................................20
1.13 Shell 编程“四剑客”..........................................................................................................................21
1.13.1 find ...........................................................................................................................................21
1.13.2 sed ............................................................................................................................................23
1.13.3 awk ...........................................................................................................................................27
1.13.4 grep...........................................................................................................................................30
1.14 Shell 数组编程.....................................................................................................................................32
第 2 章 Shell 编程高级企业实战 ................................................................................................... 35
2.1 Shell 编程 Linux 系统备份脚本..............................................................................................................35
2.2 Shell 编程收集服务器信息脚本 .............................................................................................................37
2.3 Shell 编程拒绝恶意 IP 登录脚本............................................................................................................39
2.4 Shell 编程 LAMP 部署脚本 ....................................................................................................................40
VI Linux 自动化运维实战
2.5 Shell 编程 LNMP 部署脚本 ....................................................................................................................44
2.6 Shell 编程 MySQL 主从复制脚本 ...........................................................................................................47
2.7 Shell 编程修改 IP 及主机名脚本............................................................................................................50
2.8 Shell 编程 Zabbix 安装配置脚本 ............................................................................................................53
2.9 Shell 编程 Nginx 虚拟主机脚本..............................................................................................................55
2.10 Shell 编程 Nginx、Tomcat 脚本 ............................................................................................................57
2.11 Shell 编程管理 Linux 用户和组脚本.....................................................................................................60
2.12 Shell 编程 Vsftpd 虚拟用户管理脚本....................................................................................................64
2.13 Shell 编程 Apache 多版本软件安装脚本...............................................................................................66
2.14 Shell 编程局域网 IP 探活脚本 .............................................................................................................68
2.15 Shell 编程 Apache 虚拟主机管理脚本 ..................................................................................................72
2.16 Shell 编程实现 Apache 高可用脚本......................................................................................................73
2.17 Shell 编程拒绝黑客攻击 Linux 脚本.....................................................................................................75
2.18 Shell 编程 mysqldump 数据库自动备份脚本.........................................................................................77
2.19 Shell 编程 MySQL 主从自动配置脚本 ..................................................................................................79
2.20 Shell 编程部署 Tomcat 多实例脚本 ......................................................................................................81
2.21 Shell 编程 Nginx 日志切割脚本............................................................................................................84
2.22 Shell 编程 Tomcat 实例和 Nginx 均衡脚本 ............................................................................................84
2.23 Shell 编程密码远程执行命令脚本........................................................................................................96
2.24 Shell 编程密码远程复制文件脚本........................................................................................................97
2.25 Shell 编程 Bind DNS 管理脚本 .............................................................................................................99
2.26 Shell 编程 Docker 虚拟化管理脚本 .................................................................................................... 105
2.27 Shell 编程脚本................................................................................................................................... 109
2.27.1 Shell 编程采集服务器硬件信息脚本........................................................................................ 109
2.27.2 Shell 编程 Linux 系统初始化脚本 ............................................................................................ 109
2.27.3 Shell 编程 Xtrabackup 数据库自动备份脚本 ............................................................................ 110
2.27.4 Shell 编程 Linux 服务器免密钥分发脚本 ................................................................................. 110
2.27.5 Shell 编程 Nginx 多版本软件安装脚本..................................................................................... 110
2.27.6 Shell 编程自动收集软件、端口、进程脚本............................................................................. 111
2.27.7 Shell 编程 LVS 负载均衡管理脚本 .......................................................................................... 111
2.27.8 Shell 编程 Keepalived 管理脚本 ............................................................................................... 111
2.27.9 Shell 编程 Discuz 门户网站自动部署脚本................................................................................ 111
2.27.10 Shell 编程监控 Linux 磁盘分区容量脚本 ............................................................................... 112
第 3 章 自动化运维发展.............................................................................................................. 113
3.1 传统运维方式简介 .............................................................................................................................. 113
3.2 自动化运维简介.................................................................................................................................. 114
目录 VII
3.3 自动化运维的具体内容....................................................................................................................... 114
3.4 建立高效的 IT 自动化运维管理 .......................................................................................................... 114
3.5 IT 自动化运维工具.............................................................................................................................. 115
3.6 IT 自动化运维体系.............................................................................................................................. 116
第 4 章 Puppet 自动运维企业实战 .............................................................................................. 117
4.1 Puppet 入门 ......................................................................................................................................... 117
4.2 Puppet 工作原理.................................................................................................................................. 118
4.3 Puppet 安装配置.................................................................................................................................. 119
4.4 Puppet 企业案例演示 .......................................................................................................................... 122
4.5 Puppet 常见资源及模块....................................................................................................................... 124
4.6 Puppet file 资源案例 ............................................................................................................................ 126
4.7 Puppet package 资源案例 ..................................................................................................................... 129
4.8 Puppet service 资源案例....................................................................................................................... 131
4.9 Puppet exec 资源案例 .......................................................................................................................... 133
4.10 Puppet cron 资源案例......................................................................................................................... 136
4.11 Puppet 日常管理与配置..................................................................................................................... 138
4.11.1 Puppet 自动认证...................................................................................................................... 138
4.11.2 Puppet 客户端自动同步........................................................................................................... 139
4.11.3 Puppet 服务器端主动推送....................................................................................................... 140
4.12 Puppet 批量部署案例......................................................................................................................... 141
4.12.1 Puppet 批量修改静态 IP 案例.................................................................................................. 142
4.12.2 Puppet 批量配置 NTP 同步服务器 ........................................................................................... 143
4.12.3 Puppet 自动部署及同步网站 ................................................................................................... 145
第 5 章 Ansible 自动运维企业实战.............................................................................................. 148
5.1 Ansible 工具特点................................................................................................................................. 148
5.2 Ansible 运维工具原理 ......................................................................................................................... 148
5.3 Ansible 管理工具安装配置 .................................................................................................................. 149
5.4 Ansible 工具参数详解 ......................................................................................................................... 151
5.5 Ansible ping 模块实战.......................................................................................................................... 152
5.6 Ansible command 模块实战 .................................................................................................................. 152
5.7 Ansible copy 模块实战 ......................................................................................................................... 154
5.8 Ansible YUM 模块实战 ........................................................................................................................ 156
5.9 Ansible file 模块实战 ........................................................................................................................... 157
5.10 Ansible user 模块实战........................................................................................................................ 159
5.11 Ansible cron 模块实战........................................................................................................................ 160
5.12 Ansible synchronize 模块实战 ............................................................................................................. 162
VIII Linux 自动化运维实战
5.13 Ansible Shell 模块实战....................................................................................................................... 164
5.14 Ansible service 模块实战.................................................................................................................... 166
5.15 Ansible Playbook 应用 ........................................................................................................................ 168
5.16 Ansible 配置文件详解........................................................................................................................ 174
5.17 Ansible 性能调优............................................................................................................................... 175
第 6 章 SaltStack 自动运维企业实战 .......................................................................................... 179
6.1 SaltStack 运维工具特点 ....................................................................................................................... 179
6.2 SaltStack 运维工具简介 ....................................................................................................................... 179
6.3 SaltStack 运维工具原理 ....................................................................................................................... 180
6.4 SaltStack 平台配置实战 ....................................................................................................................... 181
6.5 SaltStack 节点 Hosts 及防火墙设置 ...................................................................................................... 181
6.6 SaltStack 管理工具安装配置................................................................................................................ 182
6.7 SaltStack 工具参数详解 ....................................................................................................................... 183
6.8 SaltStack ping 模块实战 ....................................................................................................................... 185
6.9 SaltStack cmd 模块实战........................................................................................................................ 185
6.10 SaltStack copy 模块实战 ..................................................................................................................... 186
6.11 SaltStack pkg 模块实战....................................................................................................................... 187
6.12 SaltStack service 模块实战.................................................................................................................. 188
6.13 SaltStack 配置文件详解 ..................................................................................................................... 189
6.14 SaltStack State 自动化实战 ................................................................................................................. 190
6.14.1 SLS 文件企业实战案例一........................................................................................................ 192
6.14.2 SLS 文件企业实战案例二........................................................................................................ 192
6.14.3 SLS 文件企业实战案例三........................................................................................................ 193
6.14.4 SLS 文件企业实战案例四........................................................................................................ 193
6.14.5 SLS 文件企业实战案例五........................................................................................................ 194
6.14.6 SLS 文件企业实战案例六........................................................................................................ 195
6.14.7 SLS 文件企业实战案例七........................................................................................................ 195
6.14.8 SLS 文件企业实战案例八........................................................................................................ 196