一、簡介
Shellset是一個基於Shell腳本編寫的工具集,可以幫助Linux運維工程師更快、更方便地管理和自動化Linux環境。Shellset提供了一些常用的腳本、函數和工具,在服務器管理、應用部署和日常維護等方面能夠提高工作效率。
Shellset包含以下模塊:
- 系統管理:提供了一些管理服務器的腳本,如自動防火牆、磁盤監控和系統信息查詢等。
- 軟件管理:提供了一些常用軟件的安裝和配置腳本,如Nginx、MySQL和PHP等。
- 應用部署:提供了一些應用自動化部署腳本,如WordPress、Ghost和Laravel等。
- 日常維護:提供了一些日常維護任務的腳本,如定時備份、日誌清理和系統更新等。
二、系統管理
Shellset的系統管理模塊提供了一些方便的腳本,用於管理Linux服務器。
1、自動防火牆
自動防火牆腳本可以根據系統服務的開啟情況,自動更新防火牆規則。該腳本支持iptables和firewalld兩種防火牆,可以自動檢測系統使用的防火牆類型。
#!/bin/bash
# 檢測系統使用的防火牆
if firewalld > /dev/null 2>&1 ; then
FIREWALL="firewalld"
else
FIREWALL="iptables"
fi
# 允許本地迴環
${FIREWALL}-cmd --zone=public --add-source=127.0.0.1/8 --permanent
# 允許SSH
${FIREWALL}-cmd --zone=public --add-service=ssh --permanent
# 允許HTTP和HTTPS
${FIREWALL}-cmd --zone=public --add-service=http --permanent
${FIREWALL}-cmd --zone=public --add-service=https --permanent
# 禁用ICMP
${FIREWALL}-cmd --zone=public --remove-icmp-block=echo-request --permanent
# 重啟防火牆
${FIREWALL}-cmd --reload
三、軟件管理
Shellset的軟件管理模塊提供了一些常用軟件的安裝和配置腳本,可以大大簡化安裝和配置軟件的工作。
1、Nginx安裝
Nginx是一個高性能的HTTP服務器和反向代理服務器。Shellset提供了一個簡單的Nginx安裝腳本,可以自動下載、編譯和安裝Nginx。如下:
#!/bin/bash
# 安裝依賴
yum install -y gcc pcre-devel openssl-devel
# 下載和解壓Nginx
wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar -zxvf nginx-1.18.0.tar.gz
# 編譯和安裝Nginx
cd nginx-1.18.0
./configure
make && make install
cd ..
# 配置Nginx服務
cat << EOF > /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT \$MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl start nginx.service
systemctl enable nginx.service
四、應用部署
Shellset的應用部署模塊提供了一些常用應用的自動化部署腳本,可以大大簡化應用的部署工作。
1、WordPress部署
WordPress是一個流行的開源博客系統,Shellset提供了一個自動化部署WordPress的腳本。如下:
#!/bin/bash
# 安裝依賴
yum install -y httpd php mysql php-mysql
# 下載和解壓WordPress
wget https://cn.wordpress.org/latest-zh_CN.tar.gz
tar -zxvf latest-zh_CN.tar.gz
# 配置WordPress
cp -r wordpress/* /var/www/html/
chown -R apache:apache /var/www/html/
chmod -R 755 /var/www/html/
# 啟動服務
systemctl start httpd.service
systemctl enable httpd.service
五、日常維護
Shellset的日常維護模塊提供了一些常用維護任務的腳本,可以自動化處理日常運維任務。
1、定時備份
定時備份腳本可以按照一定頻率對服務器進行備份。如下:
#!/bin/bash
# 定義備份路徑和文件名
BACKUP_DIR=/backup
BACKUP_FILE=\$(date +'%Y%m%d_%H%M%S').tar.gz
# 創建備份目錄
mkdir -p \$BACKUP_DIR
# 備份MySQL數據庫
mysqldump -u root -pPASSWORD > \$BACKUP_DIR/mysql.sql
# 備份Nginx配置文件
cp /etc/nginx/nginx.conf \$BACKUP_DIR/nginx.conf
# 備份Apache配置文件
cp /etc/httpd/conf/httpd.conf \$BACKUP_DIR/httpd.conf
# 備份網站文件
tar -zcvf \$BACKUP_DIR/\$BACKUP_FILE /var/www/
# 刪除30天前的備份
find \$BACKUP_DIR -type f -mtime +30 -exec rm -f {} \;
六、結語
Shellset是一個簡單、實用的Shell腳本工具集,可以大大提高Linux運維工程師的工作效率。希望這篇文章能夠對大家有所幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/198029.html