Linux管理员日常工作涵盖系统监控、日志分析、备份任务等。手头备一些常用的一些Shell脚本可以极大提高工作效率,以下是一些常用的Shell脚本示例:
1. 磁盘空间监控脚本:
#!/bin/bash
threshold=90
disk_usage=$(df -h / | awk 'NR==2 {print $5}' | cut -d'%' -f1)
if [ $disk_usage -gt $threshold ]
then
echo"Disk space usage is above $threshold%"
# 可以在此处添加邮件通知或其他操作
fi
2. 系统日志监控脚本:复制
#!/bin/bash
log_file="/var/log/messages"
keyword="ERROR"
if grep -q $keyword$log_file
then
echo"Error log found in $log_file"
# 可以在此处添加邮件通知或其他操作
fi
3. 定时备份脚本:
#!/bin/bash
source="/var/www/html"
destination="/backup"
backup_name="website_backup_$(date +'%Y%m%d').tar.gz"
tar -czf $destination/$backup_name$source
4. 定时清理日志文件脚本:
#!/bin/bash
log_directory="/var/log"
# 清理3天前的日志文件
find $log_directory -type f -mtime +2 -exec rm -f {} \;
5. 系统性能监控脚本:
#!/bin/bash
cpu_load=$(uptime | awk '{print $10}')
memory_usage=$(free -m | grep Mem | awk '{print $3/$2 * 100}')
echo"CPU Load: $cpu_load"
echo"Memory Usage: $memory_usage%"
6. 监控网络连接脚本:
#!/bin/bash
netstat -an | grep ESTABLISHED
7. 监控特定服务运行状态脚本:
制
#!/bin/bash
if ! pgrep nginx > /dev/null
then
echo"Nginx is not running, restarting..."
systemctl restart nginx
fi
8. 监控CPU和内存使用情况脚本:
#!/bin/bash
cpu_usage=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}')
memory_usage=$(free -m | awk 'NR==2 {print $3}')
echo"CPU Usage: $cpu_usage%"
echo"Memory Usage: $memory_usage MB"
以上是一些Linux管理员日常工作中常用的Shell脚本示例,通过编写和定期运行这些脚本,管理员可以轻松监控系统状态、处理日常任务,并提升系统的稳定性和安全性。这些脚本可以根据实际需要进行定制和扩展,以满足具体的运维需求。