編寫CentOS系統(tǒng)管理腳本的完整實踐指南
環(huán)境準(zhǔn)備與基礎(chǔ)驗證
在/usr/local/bin
目錄創(chuàng)建system_maintenance.sh
文件,添加執(zhí)行權(quán)限:
#!/bin/bash
# 系統(tǒng)更新檢測模塊
if ! yum check-update &> /dev/null; then
echo "檢測到未完成系統(tǒng)更新"
exit 1
fi
軟件包管理增強方案
實現(xiàn)自動化依賴安裝與版本鎖定:
# 軟件源優(yōu)先級設(shè)置
yum-config-manager --enable base &> /dev/null
yum install -y epel-release
# 版本鎖定示例
yum versionlock add nginx-1.20*
服務(wù)管理最佳實踐
創(chuàng)建systemd服務(wù)單元文件實現(xiàn)進程監(jiān)控:
[Unit]
Description=Custom Application Service
After=network.target
[Service]
Type=simple
ExecStart=/opt/app/start.sh
Restart=on-failure
RestartSec=30s
[Install]
WantedBy=multi-user.target
安全增強配置
SELinux策略定制與審計規(guī)則設(shè)置:
# 自定義SELinux策略模塊
checkmodule -M -m -o http_custom.mod http_custom.te
semodule_package -o http_custom.pp -m http_custom.mod
semodule -i http_custom.pp
# 文件系統(tǒng)監(jiān)控配置
auditctl -w /etc/passwd -p wa -k user_change
定時任務(wù)優(yōu)化方案
配置集中式日志管理與輪轉(zhuǎn)策略:
# 日志同步任務(wù)
0 2 * * * /usr/sbin/logrotate -f /etc/logrotate.d/app_logs
# 性能監(jiān)控任務(wù)
*/5 * * * * /usr/bin/sar -u -r -d 1 3 > /var/log/sa/sar_$(date +%Y%m%d).log
版本控制集成
通過Git實現(xiàn)配置管理的版本追蹤:
# 初始化配置倉庫
mkdir /etc/.gitconfig
git --git-dir=/etc/.gitconfig init
git --git-dir=/etc/.gitconfig add --all
git --git-dir=/etc/.gitconfig commit -m "Initial system configuration"
驗證與調(diào)試技巧
使用shellcheck
進行腳本靜態(tài)分析:
yum install -y ShellCheck
shellcheck -s bash system_maintenance.sh