分享

绝了!279个开箱即用的Shell脚本,代码清晰,运维必须收藏!(附PDF)

 西北望msm66g9f 2024-09-18 发布于山东
说到shell脚本,估计没有运维人不会的(如果有,需要自觉补课了啊哈哈)Shell脚本编程是运维工程师必备的工作技能之一,之前也分享过很多文章,但是还有不少读者后台经常问我有没有相关的脚本分享分享。
今天整理了279个Shell脚本案例,代码清晰,拿来即用,很多都是实用脚本,收藏起来不仅自己不用写了,还能提高Shell撰写能力,一举两得!
除此之外,还准备了一些Shell脚本的编写规范、入门手册、编写指南等资源,今天一并分享给大家。
图片

*由于脚本案例太多,在此仅展示部分,完整版领取方式请见文末!

部分脚本展示


大概280来个,一次性全部更新分享出来给大家,也算是给读者们的一点小福利。

1、MySQL 数据库备份单循环

#!/bin/bashDATE=$(date +%F_%H-%M-%S)HOST=localhostUSER=backupPASS=123.comBACKUP_DIR=/data/db_backupDB_LIST=$(mysql -h$HOST -u$USER -p$PASS -s -e 'show databases;' 2>/dev/null|egrep -v 'Database|information_schema|mysql|performance_schema|sys')for DB in $DB_LIST; doBACKUP_NAME=$BACKUP_DIR/${DB}_${DATE}.sqlif ! mysqldump -h$HOST -u$USER -p$PASS -B $DB > $BACKUP_NAME 2>/dev/null;thenecho '$BACKUP_NAME 备份失败!'fidone

2、Nginx 访问日志分析脚本
#!/bin/bash# 日志格式: $remote_addr - $remote_user [$time_local] '$request' $status$body_bytes_sent '$http_referer' '$http_user_agent' '$http_x_forwarded_for'LOG_FILE=$1echo '统计访问最多的10个IP'awk '{a[$1]++}END{print 'UV:',length(a);for(v in a)print v,a[v]}' $LOG_FILE |sort-k2 -nr |head -10echo '----------------------'echo '统计时间段访问最多的IP'awk '$4>='[01/Dec/2018:13:20:25' && $4<='[27/Nov/2018:16:20:49'{a[$1]++}END{for(vin a)print v,a[v]}' $LOG_FILE |sort -k2 -nr|head -10echo '----------------------'echo '统计访问最多的10个页面'awk '{a[$7]++}END{print 'PV:',length(a);for(v in a){if(a[v]>10)print v,a[v]}}'$LOG_FILE |sort -k2 -nrecho '----------------------'echo '统计访问页面状态码数量'awk '{a[$7' '$9]++}END{for(v in a){if(a[v]>5)print v,a[v]}}'

2、从 FTP 服务器下载文件

#!/bin/bashif [ $# -ne 1 ]; thenecho 'Usage: $0 filename'fidir=$(dirname $1)file=$(basename $1)ftp -n -v << EOF # -n 自动登录open 192.168.1.10 # ftp服务器user admin passwordbinary # 设置ftp传输模式为二进制,避免MD5值不同或.tar.gz压缩包格式错误cd $dirget '$file'EOF

图片

图片

图片

图片

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多