【效率提升】程序员常用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 ];then
        echo "SUCCESS TO DROP PREVIOUS PARTITION AND ADD NEW PARTITION"
else
        echo "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

在这里插入图片描述

相关推荐

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

    2024-07-21 17:48:01       26 阅读
  2. 掌握Mac命令,提升工作效率

    2024-07-21 17:48:01       38 阅读
  3. 第一节 SHELL脚本中的命令(1)

    2024-07-21 17:48:01       14 阅读
  4. 第一节 SHELL脚本中的命令(2)

    2024-07-21 17:48:01       18 阅读
  5. 第一节 SHELL脚本中的命令(6)

    2024-07-21 17:48:01       16 阅读
  6. 第一节 SHELL脚本中的命令(7)

    2024-07-21 17:48:01       23 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-21 17:48:01       50 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-21 17:48:01       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-21 17:48:01       43 阅读
  4. Python语言-面向对象

    2024-07-21 17:48:01       54 阅读

热门阅读

  1. Python基本语法

    2024-07-21 17:48:01       17 阅读
  2. GPU算力租用平台推荐

    2024-07-21 17:48:01       19 阅读
  3. 文本溢出显示省略号

    2024-07-21 17:48:01       15 阅读
  4. 简单回顾C++常用的数据类型

    2024-07-21 17:48:01       15 阅读
  5. https和http有哪些区别?

    2024-07-21 17:48:01       18 阅读
  6. stable diffusion Sampler 的选择

    2024-07-21 17:48:01       17 阅读
  7. 读书记 | 《李光耀观天下》

    2024-07-21 17:48:01       14 阅读
  8. resultMap

    2024-07-21 17:48:01       16 阅读
  9. Python编程防止计算机休眠,保持唤醒状态

    2024-07-21 17:48:01       13 阅读
  10. 力扣题解(盈利计划)

    2024-07-21 17:48:01       17 阅读