linux 好用的DIY函数

本文介绍了Linux系统管理的一些实用脚本,包括删除日志、监控进程、获取Hive表数据条数、计算日期差、下载数据、检查HDFS文件、执行命令检查以及日志管理和报警机制。这些脚本对于日常运维工作非常有用,能够提高效率并确保系统的稳定运行。

1. 删除十天以上的日志数据

find /data/zz/logs -mtime +10 | xargs rm
# find ./logs -mtime +10 | xargs rm
# rm ./logs/log_${last_10dt}

2. 获取进程pid,并kill

#/bin/bash
PID=$(ps -ef | grep algorithms_predict | grep -v grep | awk '{print $2}')
if [ -z $PID ]; then
        echo "process provider not exist" >> ../logs/algorithms_predict.log
        exit
else
        echo "process id: $PID" >> ../logs/algorithms_predict.log
        kill -9 ${PID}
        echo "process algorithms_predict killed" >> ../logs/algorithms_predict.log
fi

或 ps -ef | grep algo | awk -F' ' '{print $2}' | xargs kill -9

3.  从元数据获取表中数据的条数

user_cnt=`hive -e "desc formatted table_name partition(pt='2021-07-01');" \
    | grep "numRows" | grep -oE "[0-9]*"`

4. 计算两日期间隔

计算日期 date1 - date2 有多少天

function date_diff {
    local date1=${1}
    local date2=${2}
    local dt1_time=$(date -d "$date1" +%s)
    local dt2_time=$(date -d "$date2" +%s)
    echo $[($dt1_time-$dt2_time)/86400]
}

5. 下载数据到本地

for trf in `hadoop fs -ls ${instance_path}/train/* | grep -o "part-.*.gz"`;
do
    hadoop fs -get ${instance_path}/train/${trf} ${train_dir} &
done
wait
if_error_exit "Download train instance from
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值