awk 结果比较和字符替换高级用法

删除doris 过期分区脚本

#!/bin/bash

#待检测表
t1=proj_dwd_area_model_md.dwd_md_testdata_detail_acq_for_sac_0
t2=proj_dwd_area_model_md.dwd_md_testdata_detail_acq_for_sac_1

#将待检测的目录(可以为多个)加载至数组中
array_check=($t1 $t2)
s=""
#过期日期
m1=$(date -d "-30 days" +"%Y%m%d")
echo $m1
#Func: 删除指定时间之前的过期,这里设置的是30天前
removeOutDate(){
sss="show partitions from "$1
echo $sss
#mysql -ub_na -p0QTgwMAog -h 10.11.999.999 -P 9030 -e "$sss" | grep tag  |awk '{gsub("-", "", $4)}; {print $4" "$2}'|awk -v a=$m1 '$1<a {print $2}' | while read delpt
mysql -ub_na -pwNDA0QTgwMAog -h 10.11.999.999 -P 9030 -e "$sss" | grep tag  |awk '{print $2}'|awk -F "_"  -v a=$m1 '$3<a {print $0}' | while read delpt
do
ss="ALTER TABLE "$1" DROP PARTITION "$delpt";"
echo $ss
#mysql -ub_na -pwNDA0QTgwMAog -h 10.11.999.999 -P 9030 -e "$ss"
done
}

#Func: 执行删除
execute(){
echo -e "\n\n"
echo "$(date +'%Y-%m-%d %H:%M:%S') start to deltable"
for i in ${array_check[@]}
do
echo "$(date +'%Y-%m-%d %H:%M:%S') processing deltable: $i"
removeOutDate $i
echo -e "\n"
done
echo "$(date +'%Y-%m-%d %H:%M:%S') remove finished"
echo -e "\n\n"
}

#开始执行
execute
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值