随着云计算和容器化技术的快速发展,运维环境日益复杂。传统的手动部署方式不仅耗时耗力,还容易出错。一键部署脚本通过自动化工具链,将繁琐的部署流程简化为几个简单的命令,极大地提高了运维效率。本文将详细介绍10个适用于高级运维人员的一键部署脚本,涵盖服务器初始化、应用部署、监控与日志配置、容器化部署、备份与恢复等多个方面。
#!/bin/bash
# 安装常用软件包
yum update -y
yum install -y vim wget curl git net-tools sysstat ntpdate lrzsz
该脚本用于安装Linux服务器上的常用软件包,包括文本编辑器、网络工具、版本控制系统等,便于后续运维工作。
#!/bin/bash
# 设置时区为中国标准时间
timedatectl set-timezone Asia/Shanghai
确保服务器时区正确,避免因时区差异导致的时间错误。
#!/bin/bash
# 安装Nginx
yum install -y epel-release
yum install -y nginx
systemctl start nginx
systemctl enable nginx
Nginx是一款高性能的HTTP和反向代理服务器,该脚本实现了Nginx的快速安装与启动。
#!/bin/bash
# 安装MySQL
yum install -y mysql-server
systemctl start mysqld
systemctl enable mysqld
# 获取临时root密码
grep 'temporary password' /var/log/mysqld.log
MySQL是流行的关系型数据库管理系统,该脚本实现了MySQL的快速安装与启动,并提示用户查看临时root密码。
#!/bin/bash
# 安装Redis
yum install -y redis
systemctl start redis
systemctl enable redis
Redis是一个高性能的键值存储数据库,该脚本实现了Redis的快速安装与启动。
#!/bin/bash
# 安装Zabbix Agent
yum install -y zabbix-agent
sed -i "s/^# Server=.*/Server=zabbix-server-ip/" /etc/zabbix/zabbix_agentd.conf
systemctl start zabbix-agent
systemctl enable zabbix-agent
Zabbix Agent用于将服务器监控数据发送给Zabbix Server,该脚本实现了Zabbix Agent的快速安装与配置。
#!/bin/bash
# 安装Prometheus Node Exporter
wget https://github.com/prometheus/node_exporter/releases/download/vXX/node_exporter-XX.linux-amd64.tar.gz
tar xvfz node_exporter-XX.linux-amd64.tar.gz
cd node_exporter-XX.linux-amd64
./node_exporter &
Prometheus Node Exporter用于收集服务器硬件和操作系统级别的指标,该脚本实现了Prometheus Node Exporter的快速安装与启动。
#!/bin/bash
# 安装Docker
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
systemctl start docker
systemctl enable docker
Docker是一个开源的应用容器引擎,该脚本实现了Docker的快速安装与启动。
#!/bin/bash
# 安装Helm
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
Helm是Kubernetes的包管理工具,该脚本实现了Helm的快速安装。
#!/bin/bash
# MySQL备份脚本
BACKUP_DIR=/backup/mysql
DATE=$(date +%F-%H-%M-%S)
mysqldump -u root -p --all-databases > ${BACKUP_DIR}/all-databases-${DATE}.sql
该脚本用于定期备份MySQL数据库,确保数据安全。用户需自行设置备份目录和密码。
以上10个一键部署脚本涵盖了运维工作的多个方面,适用于高级运维人员。通过这些脚本,运维人员可以快速部署和配置服务器、应用和监控工具,提高运维效率和质量。当然,在实际生产环境中,还需根据具体需求对脚本进行调整和优化。