Shellset:管理和自動化你的Linux環境

一、簡介

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-tw/n/198029.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-04 07:29
下一篇 2024-12-04 07:29

相關推薦

  • Python官網中文版:解決你的編程問題

    Python是一種高級編程語言,它可以用於Web開發、科學計算、人工智慧等領域。Python官網中文版提供了全面的資源和教程,可以幫助你入門學習和進一步提高編程技能。 一、Pyth…

    編程 2025-04-29
  • 掌握magic-api item.import,為你的項目注入靈魂

    你是否曾經想要導入一個模塊,但卻不知道如何實現?又或者,你是否在使用magic-api時遇到了無法導入的問題?那麼,你來到了正確的地方。在本文中,我們將詳細闡述magic-api的…

    編程 2025-04-29
  • 如何部署一個服務到一個環境

    本文將從多個方面對如何部署一個服務到一個環境進行詳細的闡述,包括環境準備、代碼編寫、打包部署等。 一、環境準備 1、確定部署環境的操作系統版本、運行時環境(如JDK、Node.js…

    編程 2025-04-29
  • Python開發環境包括

    Python作為一門高效、易讀易學的語言,已經被越來越多的開發者使用。而Python的開發環境也發展得越來越完善。本文將會從以下幾個方面對Python開發環境包括做詳細的闡述: 一…

    編程 2025-04-29
  • 內核驅動編譯環境代價分析

    內核驅動編譯環境是在Linux系統中編譯內核模塊的過程。本文通過分析內核驅動編譯環境的各個方面,包括編譯工具的選擇、編譯速度、編譯器選項等,來探討其代價所在,並提供一些優化的建議。…

    編程 2025-04-29
  • Codemaid插件——讓你的代碼優美整潔

    你是否曾為了混雜在代碼里的冗餘空格、重複代碼而感到煩惱?你是否曾因為代碼缺少注釋而陷入困境?為了解決這些問題,今天我要為大家推薦一款Visual Studio擴展插件——Codem…

    編程 2025-04-28
  • 如何使用cmd激活python虛擬環境

    Python虛擬環境是Python用來隔離項目所需包和依賴庫的工具,以免不同項目之間的依賴關係衝突。下面將從安裝虛擬環境、創建虛擬環境、激活虛擬環境這3個方面來詳細講解如何在cmd…

    編程 2025-04-28
  • Apache配置Python環境

    Apache是一款流行的Web伺服器軟體,事實上,很多時候我們需要在Web伺服器上使用Python程序做為數據處理和前端網頁開發語言,這時候,我們就需要在Apache中配置Pyth…

    編程 2025-04-28
  • Ubuntu系統激活Python環境

    本文將從以下幾個方面詳細介紹在Ubuntu系統中如何激活Python環境: 一、安裝Python 在Ubuntu系統中默認已經預裝了Python解釋器,可以通過以下命令來檢查: $…

    編程 2025-04-28
  • TFN MR56:高效可靠的網路環境管理工具

    本文將從多個方面深入闡述TFN MR56的作用、特點、使用方法以及優點,為讀者全面介紹這一高效可靠的網路環境管理工具。 一、簡介 TFN MR56是一款多功能的網路環境管理工具,可…

    編程 2025-04-27

發表回復

登錄後才能評論