常用shell脚本

常用shell脚本

在指定时间范围内每隔2小时执行1次

sdate="2024-03-06 10:00:00"
while 1
do
    echo "date = ${sdate}"
    sdate=$(date -d "+2 hours ${sdate}" +"%Y-%m-%d %H:%M:%S")
    if [[ $(date -d "${sdate}" +%s) -gt $(date -d "2024-03-08" +%s) ]]; then
        break
    fi
done

从指定时间开始遍历每个模板文件跑2个小时的数据

#!/bin/bash
start_time=$(date "+%Y-%m-%d %H:%M:00")
arr=(sql1 sql2 sql3)

cnt=0
while (( cnt < 90 )); do
    for ff in ${arr[@]}; do
        cc=$(cat ${ff}.sql)
        echo "date = ${start_time}; file=${ff}.sql"
        cc=$(echo ${cc} | sed "s/\${start_time}/\'${start_time}\'/g")
        #echo "clickhouse-client --host=ch01 --port=9000 --user=wedo --password=123123 --database=src --query=\"${cc}\""
        #clickhouse-client --host=ch01 --port=9000 --user=wedo --password=123123 --database=rpt --query="${cc}"
    done
    start_time=$(date -d "-1 minute ${start_time}" +"%F %T")
    cnt=$(( cnt + 1))
done