当前位置: 首页 > news >正文

【280个shell脚本】----提示运维工作效率

1.MySQL 数据库备份单循环

#!/bin/bash
DATE=$(date +%F_%H-%M-%S)
HOST=localhost
USER=backup
PASS=123.com
BACKUP_DIR=/data/db_backup
DB_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; do
BACKUP_NAME=$BACKUP_DIR/${DB}_${DATE}.sql
if ! mysqldump -h$HOST -u$USER -p$PASS -B $DB > $BACKUP_NAME 2>/dev/null;
then
echo "$BACKUP_NAME 备份失败!"
fi
done

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=$1
echo "统计访问最多的10个IP"
awk '{a[$1]++}END{print "UV:",length(a);for(v in a)print v,a[v]}' $LOG_FILE |sort
-k2 -nr |head -10
echo "----------------------"
echo "统计时间段访问最多的IP"
awk '$4>="[01/Dec/2018:13:20:25" && $4<="[27/Nov/2018:16:20:49"{a[$1]++}END{for(v
in a)print v,a[v]}' $LOG_FILE |sort -k2 -nr|head -10
echo "----------------------"
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 -nr
echo "----------------------"
echo "统计访问页面状态码数量"
awk '{a[$7" "$9]++}END{for(v in a){if(a[v]>5)print v,a[v]}}'

3.从 FTP 服务器下载文件

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

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

相关文章:

【280个shell脚本】----提示运维工作效率

1.MySQL 数据库备份单循环 #!/bin/bash DATE$(date %F_%H-%M-%S) HOSTlocalhost USERbackup PASS123.com BACKUP_DIR/data/db_backup DB_LIST$(mysql -h$HOST -u$USER -p$PASS -s -e "show databases;" 2>/dev/null |egrep -v "Database|information_schema…...

从零开始搭建Electron项目之运行例程

最好的学习方式就是&#xff1a;给一段能够运行的代码示例。 本文给出了例程资源&#xff0c;以及运行的步骤。 在国内开发electron有一点特别不好&#xff0c;就是如果不爬梯子&#xff0c;下载依赖容易出错。 一、例程资源 到如下路径下载例程到本地。 GitCode - 全球开发者…...

MySQL逻辑备份

目录 一.mysqldump 基本命令&#xff1a; 参数选项&#xff1a; 示例 备份整个数据库 备份多个数据库 备份所有数据库 仅备份数据库结构 仅备份特定表 添加选项以有效处理锁表问题 恢复数据 恢复数据库 恢复库中的表 使用source恢复 注意事项 二. mysqlpu…...

python 获取网页链接图片

python 获取 网页图片 在Python中&#xff0c;可以使用requests库获取网页内容&#xff0c;再使用BeautifulSoup解析网页&#xff0c;提取图片链接&#xff0c;最后保存图片到本地。以下是一个简单的例子&#xff1a; import requests from bs4 import BeautifulSoup import o…...

Leetcode 力扣114. 二叉树展开为链表 (抖音号:708231408)

给你二叉树的根结点 root &#xff0c;请你将它展开为一个单链表&#xff1a; 展开后的单链表应该同样使用 TreeNode &#xff0c;其中 right 子指针指向链表中下一个结点&#xff0c;而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同。 示例 1&#xf…...

文刻ai工具跟绘唐AI工具有什么区别

文刻AI工具和绘唐AI工具是两种不同的人工智能工具。点击查看 文刻AI工具是一种自然语言处理工具&#xff0c;可以用于生成、修改和校对文本。它可以帮助用户更高效地写作&#xff0c;提供词汇和语法建议&#xff0c;检查拼写和语法错误&#xff0c;并提供自动补全和自动纠正功…...

手写kNN算法的实现-用欧几里德空间来度量距离

kNN的算法思路&#xff1a;找K个离预测点最近的点&#xff0c;然后让它们进行投票决定预测点的类型。 step 1: kNN存储样本点的特征数据和标签数据step 2: 计算预测点到所有样本点的距离&#xff0c;关于这个距离&#xff0c;我们用欧几里德距离来度量&#xff08;其实还有很多…...

IGraph使用实例——线性代数计算(blas)

1 概述 在图论中&#xff0c;BLAS&#xff08;Basic Linear Algebra Subprograms&#xff09;并不直接应用于图论的计算&#xff0c;而是作为一套线性代数计算中通用的基本运算操作函数集合&#xff0c;用于进行向量和矩阵的基本运算。然而&#xff0c;这些基本运算在图论的相…...

【MySQL】(基础篇五) —— 排序检索数据

排序检索数据 本章将讲授如何使用SELECT语句的ORDER BY子句&#xff0c;根据需要排序检索出的数据。 排序数据 还是使用上一节中的例子,查询employees表中的last_name字段 SELECT last_name FROM employees;输出结果&#xff1a; 发现其输出并没有特定的顺序。其实&#xf…...

C++ C_style string overview and basic Input funcitons

write in advance 最近在做题&#xff0c;遇到一个简单的将console的输入输出到文件中的简单题目&#xff0c;没有写出来。悔恨当初没有踏实地总结string 相关的 I/O 以及与文件的操作。这篇文章旨在记录基础的字符I/O, 简单常用的文件I/O操作函数。 当然&#xff0c;你会说C…...

VS2022+Qt雕刻机单片机马达串口上位机控制系统

程序示例精选 VS2022Qt雕刻机单片机马达串口上位机控制系统 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对《VS2022Qt雕刻机单片机马达串口上位机控制系统》编写代码&#xff0c;代码整洁&a…...

Android Ble低功耗蓝牙开发

一、新建项目 在Android Studio中新建一个项目&#xff0c;如下图所示&#xff1a; 选择No Activity&#xff0c;然后点击Next 点击Finish&#xff0c;完成项目创建。 1、配置build.gradle 在android{}闭包中添加viewBinding&#xff0c;用于获取控件 buildFeatures {viewB…...

Visual Studio的快捷按键

Visual Studio的快捷按键对于提高编程效率至关重要。以下是一些常用的Visual Studio快捷按键&#xff0c;并按照功能进行分类和归纳&#xff1a; 1. 文件操作 Ctrl O&#xff1a;打开文件Ctrl S&#xff1a;保存文件Ctrl Shift S&#xff1a;全部保存Ctrl N&#xff1a;…...

【WEB系列】过滤器Filter

Filter&#xff0c;过滤器&#xff0c;属于Servlet规范&#xff0c;并不是Spring独有的。其作用从命名上也可以看出一二&#xff0c;拦截一个请求&#xff0c;做一些业务逻辑操作&#xff0c;然后可以决定请求是否可以继续往下分发&#xff0c;落到其他的Filter或者对应的Servl…...

[书生·浦语大模型实战营]——LMDeploy 量化部署 LLM 实践

1.基础作业 1.1配置 LMDeploy 运行环境 创建开发机 创建新的开发机&#xff0c;选择镜像Cuda12.2-conda&#xff1b;选择10% A100*1GPU&#xff1b;点击“立即创建”。注意请不要选择Cuda11.7-conda的镜像&#xff0c;新版本的lmdeploy会出现兼容性问题。其他和之前一样&…...

TiDB-从0到1-配置篇

TiDB从0到1系列 TiDB-从0到1-体系结构TiDB-从0到1-分布式存储TiDB-从0到1-分布式事务TiDB-从0到1-MVCCTiDB-从0到1-部署篇TiDB-从0到1-配置篇 一、系统配置 TiDB的配置分为系统配置和集群配置两种。 其中系统配置对应TiDB Server&#xff08;不包含TiKV和PD的参数&#xff0…...

微信小程序按钮设计与交互:打造极致用户体验

微信小程序作为一种流行的应用形式&#xff0c;其界面设计和交互体验对于用户吸引力和留存率至关重要。其中&#xff0c;按钮作为用户与小程序进行交互的主要方式之一&#xff0c;其设计和实现直接影响到用户体验的质量。在本文中&#xff0c;我们将探讨微信小程序按钮的设计与…...

ES6中如何使用class和extends关键字实现继承?

在ES6中&#xff0c;可以使用class关键字来定义类&#xff0c;使用extends关键字来实现继承。下面是一个示例&#xff1a; // 父类 class Parent {constructor(name) {this.name name;}sayHello() {console.log(Hello, my name is ${this.name});} }// 子类 class Child ex…...

Linux:基本指令

文章目录 ls指令pwd指令cd指令touch指令mkdir指令rmdir指令 && rm指令cp指令man指令echo指令输出重定向追加重定向 cat指令输入重定向 mv指令which指令alias指令more && less指令head && tail指令事件相关的指令date显示时间戳 cal指令find指令grep指令…...

商业C++静态代码检测工具PC-lint Plus 、 polysace和sonarqube对比

商业C静态代码检测工具PC-lint Plus 、 polysace和sonarqube对比 特性/工具PC-lint PlusPolyspaceSonarQube主要功能高精度静态代码分析、编码标准检查高级静态分析和形式验证、优化嵌入式系统综合性代码质量管理、静态分析、技术债务管理集成方式可集成到IDE和构建系统与开发…...

STM32F103C8T6驱动5V LCD1602,开漏输出+上拉电阻的硬件连接与代码避坑指南

STM32F103C8T6驱动5V LCD1602的硬件设计与代码实战指南 当3.3V的STM32遇到5V供电的LCD1602模块时&#xff0c;电平不匹配问题常常让初学者头疼不已。本文将深入解析开漏输出配合上拉电阻的解决方案&#xff0c;通过硬件原理分析、示波器实测对比和完整代码示例&#xff0c;带你…...

Davinci vs. 其他BI工具怎么选?从私有化部署和二次开发角度深度对比

Davinci vs. 主流BI工具技术选型指南&#xff1a;私有化部署与二次开发实战解析 当企业数据量突破TB级时&#xff0c;我们技术团队曾面临一个关键抉择&#xff1a;是继续支付每年六位数的商业BI服务费&#xff0c;还是转向可深度定制的开源方案&#xff1f;这个决策不仅关乎成本…...

SAP资产会计进阶:深入理解AS91、AB01与ABLDT在期初数据处理中的角色与联动

SAP资产会计核心事务代码解析&#xff1a;AS91、AB01与ABLDT的协同逻辑与实战应用 在SAP S4 HANA资产模块的实施与运维中&#xff0c;期初数据处理往往是项目成败的关键节点。不同于日常资产操作&#xff0c;期初数据迁移涉及历史价值追溯、折旧逻辑重建以及多系统数据对齐等复…...

保姆级教程:手把手教你下载、解压与解析ILSVRC2015 VID数据集(附Python脚本)

计算机视觉实战&#xff1a;ILSVRC2015 VID数据集处理全流程指南 当你第一次打开ILSVRC2015 VID数据集时&#xff0c;可能会被它的规模吓到——超过100万张图像、数千个视频序列和复杂的XML标注结构。这份指南将带你从零开始&#xff0c;像处理日常项目一样轻松驾驭这个庞然大…...

ExDark低光照图像数据集技术架构:构建真实世界低光照计算机视觉解决方案

ExDark低光照图像数据集技术架构&#xff1a;构建真实世界低光照计算机视觉解决方案 【免费下载链接】Exclusively-Dark-Image-Dataset Exclusively Dark (ExDARK) dataset which to the best of our knowledge, is the largest collection of low-light images taken in very …...

保姆级教程:用Docker在树莓派上部署HomeAssistant,打造你的智能家庭中枢

树莓派DockerHomeAssistant&#xff1a;零基础构建高性价比智能家居中枢 在智能家居领域&#xff0c;树莓派凭借其低功耗、高性价比和丰富的GPIO接口&#xff0c;成为DIY玩家的首选平台。而将HomeAssistant与Docker结合部署&#xff0c;不仅能实现环境隔离和快速迁移&#xff0…...

25GbE以太网:数据中心服务器接入的技术革命与演进逻辑

1. 项目概述&#xff1a;25GbE的诞生与数据中心变革如果你在2014年前后关注数据中心网络&#xff0c;可能会觉得以太网速率的发展路径有点“拧巴”。我们刚刚习惯了从1G到10G的十倍跨越&#xff0c;紧接着迎来的却是40G和100G。对于服务器接入来说&#xff0c;40G&#xff08;4…...

BetterRTX:为Minecraft基岩版开启专业级光影体验的现代化安装器

BetterRTX&#xff1a;为Minecraft基岩版开启专业级光影体验的现代化安装器 【免费下载链接】BetterRTX-Installer The Powershell Installer for BetterRTX! BetterRTX is a Ray-Tracing mod for Minecraft Bedrock. 项目地址: https://gitcode.com/gh_mirrors/be/BetterRTX…...

DevOps与MCP协议:构建AI增强型智能运维工作台

1. 项目概述&#xff1a;DevOps与MCP的交汇点最近在GitHub上看到一个挺有意思的项目&#xff0c;叫rohitg00/awesome-devops-mcp-servers。如果你是做DevOps或者对AI辅助编程感兴趣&#xff0c;这个仓库绝对值得你花时间研究。简单来说&#xff0c;这是一个精心整理的列表&…...

Windows Cleaner:3步彻底解决C盘爆红问题的终极免费清理工具

Windows Cleaner&#xff1a;3步彻底解决C盘爆红问题的终极免费清理工具 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服&#xff01; 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 你是否曾经打开电脑时被C盘爆红的警告吓到…...