文章预览
在运维工作中,日志处理是一项至关重要的任务,用于监控系统状态、排查故障以及性能调优等。以下是10个Shell脚本示例,可以用于日志处理和分析,但需要根据实际环境进行调整。 1. 实时日志监控与报警脚本 ( monitor_log_and_alert.sh ) 功能 :实时监控日志文件,当检测到特定错误关键字时发送报警邮件。 #!/bin/bash LOG_FILE= "/path/to/your/logfile.log" KEYWORD= "ERROR" EMAIL= "admin@example.com" tail -F $LOG_FILE | while read line; do if echo " $line " | grep -q " $KEYWORD " ; then echo "Alert: $line " | mail -s "Error Detected in $LOG_FILE " $EMAIL fi done 2. 日志按时间分割脚本 ( log_rotate.sh ) 功能 :模拟 logrotate 功能,每天将旧日志重命名并创建新日志。 #!/bin/bash LOG_FILE= "/path/to/your/logfile.log" DATE=$( date +%Y%m%d) # 检查是否存在昨天的日志文件 if [!-f " $LOG_FILE . $DATE " ]; then # 重命名当前日志文件
………………………………