高效運維:10個高級一鍵部署腳本
隨著云計算和容器化技術的快速發展,運維環境日益復雜。傳統的手動部署方式不僅耗時耗力,還容易出錯。一鍵部署腳本通過自動化工具鏈,將繁瑣的部署流程簡化為幾個簡單的命令,極大地提高了運維效率。本文將詳細介紹10個適用于高級運維人員的一鍵部署腳本,涵蓋服務器初始化、應用部署、監控與日志配置、容器化部署、備份與恢復等多個方面。
一、服務器初始化腳本
1. 安裝常用軟件包
#!/bin/bash
# 安裝常用軟件包
yum update -y
yum install -y vim wget curl git net-tools sysstat ntpdate lrzsz
該腳本用于安裝Linux服務器上的常用軟件包,包括文本編輯器、網絡工具、版本控制系統等,便于后續運維工作。
2. 設置時區為中國標準時間
#!/bin/bash
# 設置時區為中國標準時間
timedatectl set-timezone Asia/Shanghai
確保服務器時區正確,避免因時區差異導致的時間錯誤。
二、應用部署腳本
3. Nginx一鍵安裝
#!/bin/bash
# 安裝Nginx
yum install -y epel-release
yum install -y nginx
systemctl start nginx
systemctl enable nginx
Nginx是一款高性能的HTTP和反向代理服務器,該腳本實現了Nginx的快速安裝與啟動。
4. MySQL一鍵安裝
#!/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密碼。
5. Redis一鍵安裝
#!/bin/bash
# 安裝Redis
yum install -y redis
systemctl start redis
systemctl enable redis
Redis是一個高性能的鍵值存儲數據庫,該腳本實現了Redis的快速安裝與啟動。
三、監控與日志配置腳本
6. Zabbix Agent一鍵安裝
#!/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的快速安裝與配置。
7. Prometheus Node Exporter一鍵安裝
#!/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的快速安裝與啟動。
四、容器化部署腳本
8. Docker一鍵安裝
#!/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的快速安裝與啟動。
9. Kubernetes Helm一鍵安裝
#!/bin/bash
# 安裝Helm
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
Helm是Kubernetes的包管理工具,該腳本實現了Helm的快速安裝。
五、備份與恢復腳本
10. MySQL備份腳本
#!/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個一鍵部署腳本涵蓋了運維工作的多個方面,適用于高級運維人員。通過這些腳本,運維人員可以快速部署和配置服務器、應用和監控工具,提高運維效率和質量。當然,在實際生產環境中,還需根據具體需求對腳本進行調整和優化。