1.指令碼
#!/bin/bash
#program
##定義連線變數
host_str=172.16.16.64
port=3306
username=admin
password=admin
database=cmom_trunk_1
mysql_conf=$(cat ./config/mysql.conf)
#conn_array=$(awk '' ./config/mysql.conf)
echo "資料庫連線資訊:---------------------------"
#echo $mysql_conf
sleep 1
conns=($)
#echo $conns
if [ -n "$" ]
then
host_str=$
echo "資料庫位址為:$"
fiif [ -n "$" ]
then
port=$
echo "資料庫埠為:$"
fiif [ -n "$" ]
then
username=$
echo "使用者名稱稱為:$"
fiif [ -n "$" ]
then
password=$
echo "使用者密碼為:*****"
fiif [ -n "$" ]
then
database=$
echo "資料庫名稱為:$"
finotdel=$(cat ./config/notdel)
sleep 1
notdel_array=($)
sleep 1
echo "開始連線資料庫........."
#checkdown data
$(mysql -h$ -p$ -u$ -p$ $ -e "set names utf8;show tables;" > table_info)
sleep 3
echo "資料連線成功..........."
tables=$(cat table_info)
tab_array=($)
unset tab_array[0]
sleep 1
echo "載入配置檔案...."
sleep 1
echo "開始解析配置檔案...."
#定義表清空語句
tab_del_cmd=''
delete_cmd='delete from'
i=0#統計表的總數
count_sum=0
#統計清空表的個數
count_clean=0
#統計跳過錶的個數
count_jump=0
is_del=true
for el in $
doecho ----$el-----
not_del=0
let count_sum+=1
for tab in $
doif [ "$tab" == "$el" ]
then
let count_jump+=1
not_del=1
break
fidone
if [ $not_del -eq 1 ]
then
echo --跳過$
continue
fi#拼接sql
if [ $i -eq 0 ]
then
tab_del_cmd="$delete_cmd $el;"
else
tab_del_cmd="$tab_del_cmd $delete_cmd $el;"
filet i+=1
let count_clean+=1
done
sleep 1
echo "解析配置檔案結束....."
sleep 1
echo $tab_del_cmd > ./tab_del_sql
echo "開始清空資料庫表資料------"
$(mysql -h$ -p$ -u$ -p$ $ -e "$tab_del_cmd" > tab_del.log)
sleep 5
echo "查詢到表總數:$,清空表的個數:$,跳過錶總數:$" >> tab_del.log
echo "執行完畢,詳情檢視日誌檔案 tab_del.log"
2.配置檔案
mysql.conf 配置連線資訊,執行時將後邊備註刪除,notdel也是
172.16.*.* //資料庫位址
3306 //埠號
root //使用者名稱
root //密碼
cmom_trunk_1 //資料庫名稱
notdel 標註不被清空的表
bd_user //表名
使用Shell指令碼刪除 清空日誌檔案
話不多少,直接上 bin bash workdir home tax punish ret log txt 可填寫多個路徑,用空格隔開 查詢日誌檔案 for wdir in do echo filepath is wdir if wdir then filestr find wdir log ech...
使用Shell指令碼刪除 清空日誌檔案
話不多少,直接上 bin bash workdir home tax punish ret log txt 可填寫多個路徑 用空格隔開 查詢日誌檔案 for wdir in doecho filepath is wdir if wdir then filestr find wdir log echo...
shell指令碼清空系統message日誌
1 bin bash 2 此指令碼用來清空系統message日誌檔案 3 author wyf date 16 10 30 4 log dir var log 5 root uid 0 6 必須系統管理員許可權才能執行 7 if uid ne 8 then 9 echo must be root t...