Linux_Shell 清空cassandra指定数据库的数据 通过 truncate

一共分为两个部分

1.clear_data.sh

2.list_tables.cmd  (clear_data.sh 会调用到)


clear_data.sh

#!/bin/bash

if [[ ${1} == "" ]];then
        echo "Please indicate the cassandra Address."
        echo "Use this cmd like this:"
        echo "./clear_data.sh 192.102.1.1"
        exit
fi;

arr=(`cqlsh ${1} -f list_tables.cmd`)

echo "table list: ${arr[*]}"

for((i=0; i<${#arr[@]}; i++));do
        count=(`cqlsh ${1} -e "use clicki_v4; select count(*) from ${arr[i]};"`)
        #echo ${count[*]}
        echo "before truncate table, there are ${count[2]} rows in table ${arr[i]};"
        #====================================
        #NOTE: dangerous command, please seriously  check!!!!!!
        cqlsh ${1} -e "use clicki_v4; truncate ${arr[i]};"
        #====================================
        count=(`cqlsh ${1} -e "use clicki_v4; select count(*) from ${arr[i]}"`)
        echo "after truncate table, there are ${count[2]} rows in table ${arr[i]};"
done;


list_tables.cmd 

--目前就一个库clicki_v4,后续可以继续增加...
use clicki_v4;
desc tables;



你可能感兴趣的:(Shell_工具脚本,truncate,cassandra,cassandra,清除数据)