【效率提升】程序员常用Shell脚本

在这里插入图片描述
在这里插入图片描述

文章目录

    • 常用Shell脚本
        • 一. 定期更新分区数据
        • 二、获取系统资源的使用情况

常用Shell脚本

一. 定期更新分区数据

在某些场景下,我们需要对N年前某一分区的数据进行删除,并添加今年该对应分区的数据,实现数据的流动式存储。

#!/bin/bash
dt=$(date -d '-1 month' '+%F')
del_year=$(date -d "$dt -3 year" '+%Y')
del_month=$(date -d "$dt -3 year" '+%m')
add_year=$(date -d '+%Y')
add_month=$(date -d '+%m')hive -e "ALTER TABLE hive_internal_par_ext_regex_test1w DROP PARTITION(year=$del_year,month=$del_month);"
hive -e "ALTER TABLE hive_internal_par_ext_regex_test1w ADD PARTITION(year=$add_year,month=$add_month);"if [ $? -eq 0 ];thenecho "SUCCESS TO DROP PREVIOUS PARTITION AND ADD NEW PARTITION"
elseecho "FAIL TO DROP PREVIOUS PARTITION AND ADD NEW PARTITION"
fi
二、获取系统资源的使用情况

该脚本用于获取CPU使用情况、内存信息、内存使用百分比、磁盘空闲量、磁盘使用百分比等资源使用情况,并且最终结果写入日志文件中。

CPU_USAGE=$(mpstat|awk '/all/{printf("%.2f\n",(100-$NF)/100)}')
MEM_FREE=$(free|awk '/Mem/{f=$4;M=10241024;printf("%.2f\n",f/M)}')
MEM_PERCENT=$(free|awk '/Mem/{f=$4;t=$2;printf("%.2f\n",f/t)}')
DISK_FREE=$(df|awk 'BEGIN{t=0;u=0}//dev/s./{next}/[0-9]{2,}/{t+=$2;u+=$3}END{M=10241024;t/=M;u/=M;l=t-u;printf("%.2f",l)}')
DISK_PERCENT=$(df|awk 'BEGIN{t=0;u=0}//dev/s./{next}/[0-9]{2,}/{t+=$2;u+=$3}END{M=1024*1024;t/=M;u/=M;l=t-u;o=l/t;printf("%.2f",o)}')
echo "$(date +'%Y-%m-%d %H:%M:%S') - CPU: $CPU_USAGE, MEM: ${MEM_FREE}G ($MEM_PERCENT), DISK: ${DISK_FREE}G ($DISK_PERCENT)" >> /log/resource.log

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/381327.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端-模拟请求数据mook第三方插件 json-server的使用

大纲 第一步下载第二配置mook的数据源第三配置启动命令第四运行模拟服务第五测试接口如果要进行更复杂的操作 第一步下载 npm install json-server -D"devDependencies": {"json-server": "^1.0.0-beta.1"}第二配置mook的数据源 在项目的根目录…

如何在Ubuntu上安装并启动SSH服务(Windows连接)

在日常的开发和管理工作中,通过SSH(Secure Shell)连接到远程服务器是一个非常常见的需求。如果你在尝试通过SSH连接到你的Ubuntu系统时遇到了问题,可能是因为SSH服务未安装或未正确配置。本文将介绍如何在Ubuntu上安装并启动SSH服…

macOS 10.15中屏蔽Microsoft Edge浏览器的更新提示

文章目录 1.效果对比2.安装描述文件3.停用描述文件4.高级操作(可选)参考文献 最近在macOS10.15系统,打开Microsoft Edge浏览器,每次打开都有个烦人的提示“ 要获取将来的 microsoft edge 更新,需要 macos 10.15 或更高…

MFC:以消息为基础的事件驱动系统和消息映射机制

以消息为基础的事件驱动系统和消息映射机制 (1)消息 A.What(什么是消息) 本质是一个数据结构,用于应用程序不同部分之间进行通信和交互 typedef struct tagMSG {HWND hwnd; // 接收该消息的窗口句柄UINT message; // 消息标…

blender使用- 置换修改器

置换修改器 对于物体可以先做细分,然后添加置换修改器,添加贴图。再对贴图的参数进行修改,渲染想要的效果。 旋转模式下(按下s),z表示方向,0表示平整

初学51单片机之指针基础与串口通信应用

开始之前推荐一个电路学习软件,这个软件笔者也刚接触。名字是Circuit有在线版本和不在线版本,这是笔者在B站看视频翻到的。 Paul Falstadhttps://www.falstad.com/这是地址。 离线版本在网站内点这个进去 根据你的系统下载你需要的版本红线的是windows…

C++中的多路转接技术之epoll

epoll 是干什么的?举个简单的例子 epoll的相关系统调用**epoll_create**和epoll_create1区别 epoll_ctl参数解释 **epoll_wait**参数说明返回值 epoll的使用 **epoll**工作原理epoll的优点(和 **select** 的缺点对应)epoll工作方式**水平触发**Level Triggered 工作…

艺术成分很高的完全自定义的UITabBar(很简单)

引言 在iOS应用开发中,UITabBar是一个非常场景且重要的UI组件。系统为我们提供的UITabBar虽然功能强大,但是在某些情况下,它的标准样式并不能满足我们特定的设计需求,它的灵活性也有一些局限。为了打造更具个性化好的用户友好的交…

【细如狗】记录一次使用MySQL的Binlog进行数据回滚的完整流程

文章目录 1 事情起因2 解决思路3 利用binlog进行数据回滚3.1 确认是否启用Binlog日志3.2 确认是否有binlog文件3.3 找到误操作的时间范围3.4 登录MySQL服务器查找binlog文件3.4.1 查询binlog文件路径3.4.2 找到binlog文件3.4.3 确认误操作被存储在哪一份binlog文件中 3.5 查看二…

【单片机毕业设计选题24074】-基于阿里云的空气质量监控系统

系统功能: 手机开启2.4G WiFi热点后再给系统上电 系统操作说明: 上电后OLED显示 “欢迎使用空气监控系统请稍后”,两秒后显示Connecting...表示 正在连接阿里云,正常连接阿里云后显示第一页面,如长时间显示Connecting...请 检…

初识C++|模板初阶

🍬 mooridy-CSDN博客 🧁C专栏(更新中!) 目录 🍉1. 泛型编程 🍉2. 函数模板 🥝2.1 函数模板概念 🥝2.2 函数模板格式 🥝2.3 函数模板的原理 &#x1f95…

elementUI在手机端使用遇到的问题总结

之前的博客有写过用vue2elementUI封装手机端选择器picker组件,支持单选、多选、远程搜索多选,最终真机调试的时候发现有很多细节样式需要调整。此篇博客记录下我调试过程中遇到的问题和解决方法。 一、手机真机怎么连电脑本地代码调试? 1.确…

Android 11 HAL层集成FFMPEG

1.集成目录: android/vendor/noch/common/external/NoboMediaCodec 2.文件夹目录 3. Android.mk实现 # Copyright #LOCAL_PATH : $(call my-dir)SF_COMMON_MK : $(LOCAL_PATH)/common.mkinclude $(call first-makefiles-under,$(LOCAL_PATH))4.common.mk实现 # #…

视觉巡线小车——STM32+OpenMV(三)

目录 前言 一、OpenMV代码 二、STM32端接收数据 1.配置串口 2.接收数据并解析 总结 前言 通过视觉巡线小车——STM32OpenMV(二),已基本实现了减速电机的速度闭环控制。要使小车能够自主巡线,除了能够精准的控制速度之外&#xff0…

微信被好友屏蔽朋友圈/拉黑/删除?教你几招悄悄验证

微信这一国民级的社交软件,基本上渗入了大家日常生活的方方面面,沟通、支付、购物、娱乐都可以在上面一站式解决。微信功能虽然很全面,但某些功能细节设计也会让人感到困惑,比如我们被朋友拉黑或者删除,微信是不会通知…

数学建模--优劣解距离法TOPSIS

目录 简介 TOPSIS法的基本步骤 延伸 优劣解距离法(TOPSIS)的历史发展和应用领域有哪些? 历史发展 应用领域 如何准确计算TOPSIS中的理想解(PIS)和负理想解(NIS)? TOPSIS方法在…

【NLP自然语言处理】基于BERT实现文本情感分类

Bert概述 BERT(Bidirectional Encoder Representations from Transformers)是一种深度学习模型,用于自然语言处理(NLP)任务。BERT的核心是由一种强大的神经网络架构——Transformer驱动的。这种架构包含了一种称为自注…

宝塔SSL续签失败

我有2个网站a和b(文字中用baidu.com替换我的域名) b是要续签那个,但续签报错: nginx version: nginx/1.22.1 nginx: [emerg] host not found in upstream "github.com" in /www/server/panel/vhost/nginx/proxy/a.bai…

分享 2 个 .NET EF 6 只更新某些字段的方法

前言 EF 更新数据时,通常情况下,是更新全部字段的,但实际业务中,更新全部字段的情况其实很少,一般都是修改其中某些字段,所以为了实现这个目标,很多程序员通常会这样作: 先从数据库…

Nginx 怎样处理请求的熔断机制?

🍅关注博主🎗️ 带你畅游技术世界,不错过每一次成长机会! 文章目录 Nginx 怎样处理请求的熔断机制?一、什么是熔断机制二、Nginx 中的熔断机制原理(一)基于错误率(二)基于…