ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Linux Shell 脚本实战——备份、监控、告警

Linux Shell 脚本实战——备份、监控、告警 一、备份脚本#!/bin/bash# backup.sh 数据库备份BACKUP_DIR/backup/mysqlDATE$(date%Y%m%d_%H%M%S)DB_NAMEseckill_dbDB_USERrootDB_PASS123456mkdir-p$BACKUP_DIR# 备份数据库mysqldump -u$DB_USER-p$DB_PASS$DB_NAME\$BACKUP_DIR/${DB_NAME}_$DATE.sql# 压缩gzip$BACKUP_DIR/${DB_NAME}_$DATE.sql# 删除7天前的备份find$BACKUP_DIR-name*.sql.gz-mtime7-execrm{}\;echo备份完成:${DB_NAME}_$DATE.sql.gz二、监控脚本#!/bin/bash# monitor.sh 磁盘/CPU/内存监控ALERT_THRESHOLD80# 磁盘使用率告警阈值# 检查磁盘DISK_USAGE$(df-h/|awkNR2{print $5}|seds/%//)if[$DISK_USAGE-gt$ALERT_THRESHOLD];thenecho磁盘使用率$DISK_USAGE% 超过阈值$ALERT_THRESHOLD%|mail-s磁盘告警adminexample.comfi# 检查进程if!pgrep-fapp.jar/dev/null;thenecho应用进程不存在重启中...nohupjava-jar/opt/app/app.jar/opt/app/app.log21fi三、日志清理脚本#!/bin/bash# clean_log.sh 日志清理LOG_DIR/var/log/seckill# 清理7天前的日志find$LOG_DIR-name*.log-mtime7-execrm-f{}\;# 清理超过100M的日志find$LOG_DIR-name*.log-size100M-exectruncate-s0{}\;echo日志清理完成 觉得有用的话点赞 关注【张老师技术栈】吧
返回列表