利用shell刪除數(shù)據(jù)表中指定信息和字段對(duì)應(yīng)的文件
利用mysql shell命令讀取數(shù)據(jù)庫(kù)信息,刪除指定字段,以及字段對(duì)應(yīng)的文件,適用Linux平臺(tái)。
前面變量定義為數(shù)據(jù)基本配置
#!/bin/bash
#Program
# delete the database'info whick state is 3
#History:
# 2014/2/23 cjp First release
# 2014/3/5/ cjp change value'setting on 117
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/usr/local/bin:/usr/local/sbin:~/bin
export PATH
host="127.0.0.1"
port="3306"
user="user"
passwd="passwd"
dbname="database"
tablename="table"
field="t_field"
outField="t_id,t_path"
fileRootPath="/var/www/html/apath"
filePath=""
#checkdown data
mysql -h$host -P$port -u$user -p$passwd $dbname -e "SET NAMES utf8;SELECT ${outField} FROM ${tablename} WHERE ${field} = 3" > data_info
date -d '1970-01-01 UTC 946684800 seconds' +"%Y-%m-%d %z" >> del_log.log
#delete image file and mysql data
sed '1d' data_info | while read line
do
echo $line > findtemp
awk '{print $2}' findtemp > imagetemp
cat imagetemp | while read imagedata
do
filePath=${fileRootPath}${imagedata}
echo $filePath >> del_log.log
rm -f $filePath
done
awk '{print $1}' findtemp > idtemp
cat idtemp | while read iddata
do
mysql -h$host -P$port -u$user -p$passwd $dbname -e "SET NAMES utf8;DELETE FROM ${tablename} WHERE s_id = ${iddata}"
done
done
rm -f data_info
rm -f imagetemp
rm -f idtemp
echo "^-^ clean!"
相關(guān)文章
Shell腳本編程中常用的數(shù)學(xué)運(yùn)算實(shí)例
這篇文章主要介紹了Shell腳本編程中常用的數(shù)學(xué)運(yùn)算實(shí)例,包含最基本的加減乘除,還有質(zhì)數(shù)、偶數(shù)的判斷等,需要的朋友可以參考下2014-06-06
shell腳本declare命令的用法詳解(聲明變量的屬性和類型)
這篇文章主要介紹了shell腳本declare命令用法(聲明變量的屬性和類型,declare?命令在一般的腳本編寫中并不常用,大多數(shù)情況下直接使用簡(jiǎn)單的變量賦值語(yǔ)句即可滿足需求,需要的朋友可以參考下2023-06-06
linux下執(zhí)行shell命令方法簡(jiǎn)介
本文給大家分享的是linux系統(tǒng)下執(zhí)行shell命令的常用的2種方法,希望對(duì)初學(xué)shell命令的小伙伴能夠有所幫助2016-12-12
Shell獲取字符串長(zhǎng)度的多種方法總結(jié)
這篇文章主要給大家總結(jié)分享了關(guān)于Shell獲取字符串長(zhǎng)度的多種方法,包括了利用${#str}、利用awk的length方法、利用awk的NF項(xiàng)、利用wc的-L參數(shù)、利用expr的length方法以及利用expr的$str : ".*"技巧來(lái)實(shí)現(xiàn)方法示例,需要的朋友可以參考下。2017-08-08
一天一個(gè)shell命令 linux文本操作系列-touch命令用法
這篇文章主要介紹了一天一個(gè)shell命令 linux文本操作系列-touch命令用法 ,需要的朋友可以參考下2016-06-06

