0
点赞
收藏
分享

微信扫一扫

shell 常用脚本

笑望叔叔 2024-11-06 阅读 17

一、文件操作类

  1. 查找特定文件并输出路径:

#!/bin/bash
find /path/to/search -name "target_file.txt"

  1. 批量重命名文件:

#!/bin/bash
for file in *.old_extension; do
    mv "$file" "${file%.old_extension}.new_extension"
done

  1. 统计文件夹下文件数量:

#!/bin/bash
file_count=$(ls -l /path/to/folder | grep -v ^d | wc -l)
echo "文件数量为:$file_count"

  1. 复制特定类型文件到指定目录:

#!/bin/bash
cp /source/folder/*.txt /destination/folder

二、系统监控类

  1. 监控 CPU 使用率:

#!/bin/bash
while true; do
    cpu_usage=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')
    echo "当前 CPU 使用率为:$cpu_usage%"
    sleep 5
done

  1. 监控内存使用情况:

#!/bin/bash
free -m | grep Mem | awk '{print "总内存:"$2"MB,已使用:"$3"MB,可用内存:"$4"MB"}'

  1. 监控磁盘空间:

#!/bin/bash
df -h | grep /dev/sd*

三、自动化任务类

  1. 定时备份文件:

#!/bin/bash
BACKUP_DIR="/backup/folder"
SOURCE_DIR="/data/folder"
TIMESTAMP=$(date +"%Y%m%d%H%M%S")
tar -czf "${BACKUP_DIR}/backup_${TIMESTAMP}.tar.gz" "${SOURCE_DIR}"

  1. 自动清理临时文件:

#!/bin/bash
TMP_DIR="/tmp"
find "${TMP_DIR}" -type f -mtime +7 -delete

  1. 自动发送邮件报告:

#!/bin/bash
MAIL_SUBJECT="系统报告"
MAIL_BODY="这是系统的每日报告。"
echo "$MAIL_BODY" | mail -s "$MAIL_SUBJECT" recipient@example.com

更多脚本的思路:

  1. 结合具体的业务需求,例如在特定的软件部署过程中编写脚本。
  2. 针对不同的服务器配置管理任务,如设置环境变量、安装软件包等。
  3. 考虑与数据库交互的脚本,如备份数据库、执行 SQL 查询等。
  4. 根据日志分析需求,编写脚本提取关键信息、统计日志事件等。
  5. 针对网络管理任务,如检查网络连接、监控网络流量等。
举报

相关推荐

0 条评论