专栏名称: 运维
关注互联网运维技术,分享知识
目录
相关文章推荐
InfoQ架构头条  ·  “天价”ERP ... ·  昨天  
51好读  ›  专栏  ›  运维

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

运维  · 公众号  · 运维  · 2024-09-18 12:28

正文

说到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




部分脚本整合自网络,仅用于学习交流分享,侵删

Shell脚本是自动化运维的关键组成部分,虽然简简单单几十行代码,但可是蕴藏着巨大的能量和智慧,还是很值得运维朋友学习的。

所有资料已经打包好了,想要提升的同学请务必拿走学习!

 领取方式:

扫描下方二维码加我好友

备注:【280个shell脚本】

即可100%直接免费领取

仅限前100名免费领取,需要的抓点紧

请务必扫码领取,后台回复不发放!!