
关于
为常见 Linux 系统管理任务提供生产就绪的 Shell 脚本模板,包括备份、监控、日志管理、用户管理和系统维护。
name: linux-shell-scripting description: "为常见Linux系统管理任务提供生产就绪的shell脚本模板,包括备份、监控、用户管理、日志分析和自动化。这些脚本作为安全运营和渗透测试环境的构建块。" risk: unknown source: community author: zebbern date_added: "2026-02-27"
Linux生产Shell脚本
目的
为常见Linux系统管理任务提供生产就绪的shell脚本模板,包括备份、监控、用户管理、日志分析和自动化。这些脚本作为安全运营和渗透测试环境的构建块。
前置条件
所需环境
- Linux/Unix系统(bash shell)
- 任务所需的适当权限
- 已安装所需工具(rsync、openssl等)
所需知识
- 基础bash脚本
- Linux文件系统结构
- 系统管理概念
输出和交付物
- 备份解决方案 - 自动化文件和数据库备份
- 监控脚本 - 资源使用跟踪
- 自动化工具 - 计划任务执行
- 安全工具 - 系统加固脚本
核心脚本模板
1. 自动备份脚本
#!/bin/bash
# 自动备份脚本 - 支持增量和完整备份
BACKUP_DIR="/backup"
SOURCE_DIR="/data"
DATE=$(date +%Y%m%d_%H%M%S)
RETENTION_DAYS=30
# 创建备份
tar -czf "${BACKUP_DIR}/backup_${DATE}.tar.gz" "${SOURCE_DIR}"
# 清理旧备份
find "${BACKUP_DIR}" -name "backup_*.tar.gz" -mtime +${RETENTION_DAYS} -delete
echo "备份完成: backup_${DATE}.tar.gz"
2. 系统监控脚本
#!/bin/bash
# 系统资源监控
THRESHOLD_CPU=80
THRESHOLD_MEM=90
THRESHOLD_DISK=85
# CPU使用率
CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}' | cut -d. -f1)
# 内存使用率
MEM_USAGE=$(free | grep Mem | awk '{printf "%.0f", $3/$2 * 100}')
# 磁盘使用率
DISK_USAGE=$(df -h / | tail -1 | awk '{print $5}' | tr -d '%')
# 告警检查
if [ "$CPU_USAGE" -gt "$THRESHOLD_CPU" ]; then
echo "警告: CPU使用率 ${CPU_USAGE}% 超过阈值"
fi
3. 用户管理脚本
#!/bin/bash
# 批量用户管理
create_user() {
local username=$1
local group=$2
useradd -m -g "$group" -s /bin/bash "$username"
echo "用户 $username 已创建"
}
# 从CSV文件批量创建
while IFS=',' read -r username group; do
create_user "$username" "$group"
done < users.csv
兼容工具
Claude CodeCursor
标签
运维部署

