常用shell腳本是系統(tǒng)管理員和開發(fā)人員日常運維不可或缺的工具。下面是一些常用的shell腳本,按推薦順序排序:
1. 備份腳本
效率的備份腳本可以自動將文件或整個目錄備份到指定位置,支持增量備份和定期備份的功能。
#!/bin/bash
# 備份目錄
SOURCE="/path/to/source"
DESTINATION="/path/to/backup"
# 創(chuàng)建備份
tar -czf $DESTINATION/backup_$(date +%Y%m%d).tar.gz $SOURCE
2. 系統(tǒng)監(jiān)控腳本
系統(tǒng)監(jiān)控腳本用于監(jiān)測系統(tǒng)性能,包括CPU使用率、內(nèi)存占用等。它可以定期生成報告,幫助系統(tǒng)管理員快速發(fā)現(xiàn)問題。
#!/bin/bash
# 獲取系統(tǒng)負載
LOAD=$(uptime | awk '{print $10}')
echo "當前負載: $LOAD"
# 獲取CPU使用情況
MPSTAT=$(mpstat | grep 'all' | awk '{print $3}')
echo "CPU使用率: $MPSTAT%"
3. 清理腳本
清理無用文件的腳本能有效節(jié)省存儲空間,定期清理臨時文件和日志文件,能保持系統(tǒng)的整潔。
#!/bin/bash
# 定義需要清理的目錄
CLEANUP_DIR="/path/to/cleanup"
# 清理7天前的文件
find $CLEANUP_DIR -type f -mtime +7 -exec rm {} \;
4. 用戶管理腳本
用戶管理腳本使得用戶的添加、刪除及權(quán)限設(shè)置更加高效,尤其是在大規(guī)模用戶管理的場景下。
#!/bin/bash
# 添加用戶
USERNAME="newuser"
useradd $USERNAME
echo "$USERNAME:password" | chpasswd
# 添加用戶到特定組
usermod -aG sudo $USERNAME
5. 更新腳本
自動更新軟件和系統(tǒng)的腳本可以簡化維護工作,定期更新是確保系統(tǒng)安全的重要措施。
#!/bin/bash
# 更新系統(tǒng)
apt-get update && apt-get upgrade -y
6. 日志分析腳本
日志分析腳本可以幫助管理員從日志文件中提取關(guān)鍵信息,提高故障排除速度。
#!/bin/bash
# 分析特定日志文件
LOGFILE="/var/log/syslog"
grep "error" $LOGFILE > ~/error_report.txt
7. 自動重啟腳本
在服務(wù)宕機時自動重啟的腳本確保服務(wù)的高可用性,能夠監(jiān)控特定服務(wù)并在需要時重啟。
#!/bin/bash
# 檢查服務(wù)狀態(tài)
SERVICE="nginx"
if ! pgrep -x "$SERVICE" > /dev/null
then
echo "$SERVICE is not running, starting it now."
systemctl start $SERVICE
fi
8. 網(wǎng)絡(luò)監(jiān)測腳本
網(wǎng)絡(luò)監(jiān)測腳本幫助管理員監(jiān)控網(wǎng)絡(luò)連接,巡視網(wǎng)絡(luò)狀態(tài),確保網(wǎng)絡(luò)正常運行。
#!/bin/bash
# 檢查網(wǎng)絡(luò)連接
ping -c 4 google.com > /dev/null
if [ $? -eq 0 ]; then
echo "網(wǎng)絡(luò)連接正常"
else
echo "網(wǎng)絡(luò)連接失敗"
fi
9. 顯示當前用戶信息腳本
這是一個簡單但實用的腳本,顯示當前用戶的基本信息。
#!/bin/bash
# 顯示當前用戶信息
USER=$(whoami)
echo "當前用戶: $USER"
echo "用戶家目錄: $HOME"
10. SSH登錄監(jiān)控腳本
監(jiān)控SSH登錄的腳本可以幫助及時發(fā)現(xiàn)潛在的安全問題。
#!/bin/bash
# 監(jiān)控SSH登錄記錄
cat /var/log/auth.log | grep "sshd" > ~/ssh_login_attempts.txt
常用shell腳本的應(yīng)用場景
常用shell腳本不止是執(zhí)行單一任務(wù)的工具,它們可以組合成復(fù)雜的自動化流程,為日常運維提供便利。
常用shell腳本是用來做什么的?
常用shell腳本可以用于文件和目錄的管理、系統(tǒng)監(jiān)控、日志分析、用戶管理等多種任務(wù),幫助簡化重復(fù)性工作,降低人為錯誤。
我如何選擇適合自己的shell腳本?
選擇適合自己的腳本主要根據(jù)工作需求和系統(tǒng)環(huán)境??梢宰远x已有的腳本或根據(jù)具體業(yè)務(wù)場景編寫新的腳本,以便提高工作效率。
如何對shell腳本進行調(diào)試?
可以使用set -x命令啟用調(diào)試模式,逐條執(zhí)行腳本并顯示每條命令及其參數(shù),方便找出錯誤。此外,還可以使用echo命令輸出變量值,幫助理解腳本執(zhí)行過程。