利用shell删除数据表中指定信息和字段对应的文件

 更新时间:2014年04月25日 09:57:58   作者:  
这篇文章主要介绍了利用shell删除数据表中指定信息和字段对应的文件,需要的朋友可以参考下

利用mysql shell命令读取数据库信息,删除指定字段,以及字段对应的文件,适用Linux平台。

前面变量定义为数据基本配置

复制代码 代码如下:

#!/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!"

相关文章

  • linux下安装oracle后使用命令行启动的方法 linux启动oracle

    linux下安装oracle后使用命令行启动的方法 linux启动oracle

    这篇文章主要介绍了在linux下安装oracle后使用命令启动oracle的方法,大家参考使用吧
    2014-01-01
  • linux下解决 git clone每次都要输入用户名密码问题(推荐)

    linux下解决 git clone每次都要输入用户名密码问题(推荐)

    这篇文章主要介绍了linux下解决 git clone每次都要输入用户名密码问题,先用git config --global user.name 'username’和git config --global user.email 'xxx@xxx.com’配置一下用户名和邮箱,本文给大家介绍的非常详细,需要的朋友可以参考下
    2022-10-10
  • 一个Linux系统安全设置的Shell脚本的分享(适用CentOS)

    一个Linux系统安全设置的Shell脚本的分享(适用CentOS)

    这篇文章主要介绍了一个设置Linux系统安全的Shell脚本的分享,适用CentOS,包含大部份的安全设置,只需执行脚本就可以得到一个相对安全的Linux系统了,需要的朋友可以参考下
    2014-06-06
  • Linux grep -q用法示例详解

    Linux grep -q用法示例详解

    grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来,这篇文章主要介绍了Linux grep -q用法示例详解,需要的朋友可以参考下
    2023-02-02
  • Linux查找占用的端口,并杀死进程的方法

    Linux查找占用的端口,并杀死进程的方法

    下面小编就为大家带来一篇Linux查找占用的端口,并杀死进程的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • 3个备份系统文件并邮件发送的Shell脚本分享

    3个备份系统文件并邮件发送的Shell脚本分享

    这篇文章主要介绍了3个备份系统文件并邮件发送的Shell脚本分享,3个脚本分别对应了普通需求脚本、推荐脚本、大文件需求脚本,需要的朋友可以参考下
    2014-09-09
  • Linux 命令head和tail常见用法详解

    Linux 命令head和tail常见用法详解

    这篇文章主要介绍了Linux 命令head和tail常见用法详解,文中分别对head和tail的基本用法做了详细介绍,需要的朋友可以参考下
    2018-09-09
  • 详解Linux中vi命令大全

    详解Linux中vi命令大全

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,本文简单给大家介绍linux中vi命令大全,感兴趣的朋友一起学习吧
    2015-12-12
  • Linux vim编辑命令模式

    Linux vim编辑命令模式

    vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim)。这篇文章给大家介绍了Linux vim编辑命令模式,非常不错,感兴趣的朋友参考下吧
    2016-11-11
  • 一个shell for循环与case结合的脚本(监控程序状态)

    一个shell for循环与case结合的脚本(监控程序状态)

    分享一个for循环+case的脚本(监控程序状态并执行相关操作) ,供大家学习参考
    2013-11-11

最新评论