Shell 脚本是自动化日常任务的有力工具。通过编写和使用 Shell 脚本,运维人员可以显著提高工作效率,减少人为错误。
本文将介绍几个运维工作中必备的 Shell 自动化脚本,值得收藏。
一. 检查磁盘使用情况
这个脚本检查系统的磁盘使用情况,并发送邮件通知磁盘使用超过阈值的情况。
`#!/bin/bash`
`THRESHOLD=80``EMAIL="admin@example.com"`
`df -H | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5 " " $1 }' | while read output;``do` `usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1 )` `partition=$(echo $output | awk '{ print $2 }' )` `if [ $usep -ge $THRESHOLD ]; then` `echo "Warning: The partition \"$partition\" has used $usep% at $(date)" | mail -s "Disk Space Alert: $partition" $EMAIL` `fi``done`
二. 自动备份 MySQL 数据库
这个脚本每天自动备份 MySQL 数据库,并保留最近 7 天的备份。
`#!/bin/bash`
`BACKUP_DIR="/backup/mysql"``MYSQL_USER="root"``MYSQL_PASSWORD="password"``DATABASE_NAME="mydatabase"`
`# 创建备份目录``mkdir -p $BACKUP_DIR`
`# 创建一个新的备份``mysqldump -u $MYSQL_USER -p$MYSQL_PASSWORD $DATABASE_NAME > $BACKUP_DIR/$DATABASE_NAME-$(date +\%F).sql`
`# 移除超过七天备份文件``find $BACKUP_DIR -type f -mtime +7 -exec rm {} \;`
三. 检查并重启宕掉的服务
这个脚本检查指定服务是否运行,如果宕掉则重启该服务并发送通知邮件。
`#!/bin/bash`
`SERVICE="nginx"``EMAIL="admin@example.com"`
`if ! systemctl is-active --quiet $SERVICE; then` `echo "$SERVICE is down. Attempting to restart..." | mail -s "$SERVICE is down" $EMAIL` `systemctl restart $SERVICE` `if systemctl is-active --quiet $SERVICE; then` `echo "$SERVICE was successfully restarted" | mail -s "$SERVICE restarted" $EMAIL` `else` `echo "Failed to restart $SERVICE" | mail -s "$SERVICE restart failed" $EMAIL` `fi``fi`
4. 清理临时文件
这个脚本清理 /tmp 目录下超过 7 天未修改的文件,以释放磁盘空间。
`#!/bin/bash`
`TEMP_DIR="/tmp"``DAYS=7`
`find $TEMP_DIR -type f -mtime +$DAYS -exec rm -f {} \;``find $TEMP_DIR -type d -empty -delete`
5. 系统资源监控脚本
这个脚本每分钟记录系统的 CPU 和内存使用情况到日志文件中。
`#!/bin/bash`
`LOG_FILE="/var/log/system_monitor.log"`
`while true; do` `echo "$(date): CPU: $(top -bn1 | grep "Cpu(s)" | awk '{print $2 + $4}')% MEM: $(free -m | awk 'NR==2{printf "%.2f%%", $3*100/$2 }')" >> $LOG_FILE` `sleep 60``done`
六. 添加用户
这个脚本是自动添加一个新用户并授予其 sudo 权限。
#!/bin/bash``# 自动添加用户并授予sudo权限脚本`
`if [ -z "$1" ]; then` `echo "Usage: $0 <username>"` `exit 1``fi`
`USERNAME=$1``PASSWORD="initial_password" # 可以修改初始密码`
`# 检查用户是否已经存在``if id "$USERNAME" &>/dev/null; then` `echo "用户 $USERNAME 已存在。"` `exit 1``fi`
`# 添加用户``useradd -m $USERNAME``if [ $? -ne 0 ]; then` `echo "添加用户 $USERNAME 失败。"` `exit 1``fi`
`# 设置用户密码``echo "$USERNAME:$PASSWORD" | chpasswd``if [ $? -ne 0 ]; then` `echo "设置用户 $USERNAME 的密码失败。"` `exit 1``fi`
`# 授予用户 sudo 权限(ubuntu为sudo组)``usermod -aG wheel $USERNAME``if [ $? -ne 0 ]; then` `echo "添加用户 $USERNAME 到 sudo 组失败。"` `exit 1``fi`
`echo "用户 $USERNAME 已添加并授予 sudo 权限。"
七 扫描某个网段的活动IP
这个脚本用于扫描指定网段内的所有 IP 地址,并检查哪些 IP 地址是活跃的(即可以通过 ping 命令得到响应)。
`#!/bin/bash``# 网段IP扫描脚本`
`if [ -z "$1" ]; then` `echo "Usage: $0 <subnet>"` `echo "Example: $0 192.168.1"` `exit 1``fi`
`SUBNET=$1`
`echo "开始扫描网段 $SUBNET.0/24 ..."`
`for i in {1..254}; do` `IP="$SUBNET.$i"` `ping -c 1 -W 1 $IP &>/dev/null` ` if [ $? -eq 0 ]; then` `echo "IP $IP 存活"` `fi``done`
`echo "扫描完成。"`
-------------------------------------------
35岁+运维人员的发展与出路
经常有人问我:干网工、干运维多年遇瓶颈,想学点新技术给自己涨涨“身价”,应该怎么选择?
聪明人早已经用脚投票:近年来,越来越多运维的朋友寻找新的职业发展机会,将目光聚焦到了网络安全产业。
1、为什么我建议你学习网络安全?
有一种技术人才:华为阿里平安等大厂抢着要,甚至高薪难求——白帽黑客。白帽黑客,就是网络安全卫士,他们“低调”行事,同时“身价”不菲。
根据腾讯安全发布的《互联网安全报告》,目前中国**网络安全岗位缺口已达70万,缺口高达95%。**而与网络安全人才需求量逐年递增局面相反的是,每年高校安全专业培养人才仅有3万余人,很多企业却一“将”难求,网络安全人才供应严重匮乏。
这种供求不平衡直接反映在安全工程师的薪资上,简单来说就是:竞争压力小,薪资还很高。
而且安全行业就业非常灵活,既可以就职一家公司从事信息安全维护和研究,也可以当作兼职或成为自由职业者,给SRC平台提交漏洞获取奖金等等。
随着国家和政府的强监管需求,一线城市安全行业近年来已经发展的相当成熟工作机会非常多,二三线城市安全也在逐步得到重视未来将有巨大缺口。
作为运维人员,这几年对于安全的技能要求也将不断提高,现阶段做好未来2到3年的技术储备,有非常大的必要性
2、运维转型成为网络安全工程师,是不是很容易?
运维转安全,因为本身有很好的Linux基础,相对于其他人来说,确实有一定的优势,入门会快一些。
系统管理经验
运维对服务器、网络架构的深度理解,可直接迁移到安全防护场景。例如,熟悉Linux/Windows系统漏洞修补、权限管控,能快速上手安全加固工作。
网络协议与架构知识
运维日常接触TCP/IP、路由协议等,有助于分析网络攻击路径(如DDoS防御、流量异常检测)。
自动化与脚本能力
运维常用的Shell/Python脚本技能,可无缝衔接安全工具开发(如自动化渗透脚本、日志分析工具)。
平滑过渡方向
从安全运维切入,逐步学习渗透测试、漏洞挖掘等技能,利用现有运维经验快速上手。
学习资源丰富
可复用运维工具(如ELK日志分析、Ansible自动化)与安全工具(如Nessus、Metasploit)结合学习,降低转型成本。
3. 转型可以挖漏洞搞副业获取收益挖SRC漏洞
-
合法挖洞:在合法的平台上挖掘安全漏洞,提交后可获得奖励。这种方式不仅能够锻炼你的技能,还能为你带来额外的收入。
-
平台推荐:
补天:国内领先的网络安全漏洞响应平台。
漏洞盒子:提供丰富的漏洞挖掘任务。
CNVD:国家信息安全漏洞共享平台。
关于我
有不少阅读过我文章的伙伴都知道,笔者曾就职于某大厂安全联合实验室。从事网络安全行业已经好几年,积累了丰富的技能和渗透经验。
在这段时间里,我参与了多个实际项目的规划和实施,成功防范了各种网络攻击和漏洞利用,提高了互联网安全防护水平。
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
为了帮助大家更好的塑造自己,成功转型,我给大家准备了一份网络安全入门/进阶学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂这些资料!
网络安全/黑客零基础入门
【----帮助网安学习,以下所有学习资料文末免费领取!----】
> ① 网安学习成长路径思维导图
> ② 60+网安经典常用工具包
> ③ 100+SRC漏洞分析报告
> ④ 150+网安攻防实战技术电子书
> ⑤ 最权威CISSP 认证考试指南+题库
> ⑥ 超1800页CTF实战技巧手册
> ⑦ 最新网安大厂面试题合集(含答案)
> ⑧ APP客户端安全检测指南(安卓+IOS)
大纲
首先要找一份详细的大纲。
学习教程
第一阶段:零基础入门系列教程
该阶段学完即可年薪15w+
第二阶段:技术入门
弱口令与口令爆破
XSS漏洞
CSRF漏洞
SSRF漏洞
XXE漏洞
SQL注入
任意文件操作漏洞
业务逻辑漏洞
该阶段学完年薪25w+
阶段三:高阶提升
反序列化漏洞
RCE
综合靶场实操项目
内网渗透
流量分析
日志分析
恶意代码分析
应急响应
实战训练
该阶段学完即可年薪30w+
面试刷题
最后,我其实要给部分人泼冷水,因为说实话,上面讲到的资料包获取没有任何的门槛。
但是,我觉得很多人拿到了却并不会去学习。
大部分人的问题看似是“如何行动”,其实是“无法开始”。
几乎任何一个领域都是这样,所谓“万事开头难”,绝大多数人都卡在第一步,还没开始就自己把自己淘汰出局了。
如果你真的确信自己喜欢网络安全/黑客技术,马上行动起来,比一切都重要。
资料领取
上述这份完整版的网络安全学习资料已经上传网盘,朋友们如果需要可以微信扫描下方二维码 ↓↓↓ 或者 点击以下链接都可以领取
本文转自 https://blog.csdn.net/Libra1313/article/details/151354132?spm=1001.2014.3001.5502,如有侵权,请联系删除。