linux运维常用shell脚本
作为Linux运维人员,你可能会使用许多不同的Shell脚本来自动化任务、管理系统和执行常见操作。以下是一些常用的Shell脚本示例:
1. 备份脚本:创建一个脚本来定期备份重要文件和目录。
#!/bin/bash
# 备份目录
backup_dir="/path/to/backup"
# 目标目录
target_dir="/path/to/data"
# 备份文件名
backup_file="backup_$(date +%Y%m%d%H%M%S).tar.gz"
# 创建备份目录
mkdir -p $backup_dir
# 执行备份
tar -zcvf $backup_dir/$backup_file $target_dir
# 删除7天前的备份文件
find $backup_dir -name "backup_*" -mtime +7 -exec rm {} \;
2. 日志清理脚本:定期清理日志文件,以释放磁盘空间。
#!/bin/bash
# 日志目录
log_dir="/path/to/logs"
# 保留最近几天的日志
days_to_keep=7
# 删除指定天数之前的日志文件
find $log_dir -type f -mtime +$days_to_keep -exec rm {} \;
3. 定时任务脚本:使用crontab调度定时任务的脚本示例。
#!/bin/bash
# 每天凌晨2点执行备份任务
0 2 * * * /path/to/backup_script.sh
# 每周一凌晨3点清理日志
0 3 * * 1 /path/to/log_cleanup_script.sh
4. 系统监控脚本:检查系统的资源使用情况并生成报告。
#!/bin/bash
# 获取系统负载信息
load=$(uptime | awk '{print $10}')
# 获取内存使用情况
memory=$(free -m | awk 'NR==2{print $3}')
# 获取磁盘使用情况
disk=$(df -h | awk '$NF=="/"{print $5}')
# 发送报告到管理员邮箱
mail -s "系统监控报告" admin@example.com <<EOF
系统负载: $load
内存使用: ${memory}MB
磁盘使用: $disk
EOF
这些只是一些常见的Shell脚本示例,你可以根据自己的需求和环境定制和扩展这些脚本。记得在执行脚本之前给予执行权限(例如:`chmod +x script.sh`),以便能够运行它们。
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
京公网安备 11010802030320号