shell查询更新wordpress数据库
时间:2021-09-13
本文章向大家介绍shell查询更新wordpress数据库,主要包括shell查询更新wordpress数据库使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
当前的部分主要是查询wordpress插件所在的数据库表wp_options, 查询结束后将需要禁用的插件从对应的字符串中删掉,然后更新表即可;
1.设置需要删除掉的插件名称
##数据库更新操作 DEL_PLU='w3-total-cache'
2.使用shell查询数据表
NEW_DB_NAME='wwwtestdbcom' CHECK_SQL="select option_value from wp_options where option_name = 'active_plugins' "; OPTSQL="use $NEW_DB_NAME;"$CHECK_SQL';' mysql -uuser -ppasswd -s -e "${OPTSQL}" > tmpsql #将查询出来的数据直接存储到文件 TXT=$(cat /data/createwebsiteshell/tmpsql) #查询出来的数据赋值给变量
3.将查询出来的数据做处理, 把需要禁用的插件删掉,重新组成一个新的数据中
查询出来数据
===========
TXT='a:4:{i:0;s:27:"autoptimize/autoptimize.php";i:1;s:36:"contact-form-7/wp-contact-form-7.php";i:2;s:26:"wordpress-seo/wp-seo.php";i:3;s:29:"wp-mail-smtp/wp_mail_smtp.php";}'
==========
DR_TXT=${TXT#*\{} #删除 { 左边的字符 DL_TXT=${DR_TXT%\}} #删除 } 右边的字符 TXT=(${DL_TXT//;/ }) #按照 ; 分割成数组 NEWARR=() for((i=0;i<${#TXT[@]};i++)) do b=$(( $i % 2 )) if [ $b = 1 ]; then ARRKEY=${TXT[$i]} ARRKEY_L=${ARRKEY#*\"} ARRKEY_R=${ARRKEY_L%/*} if [[ ! "${DEL_PLU[@]}" =~ $ARRKEY_R ]] || [[ $ARRKEY_R = 'woocommerce' ]]; then #判断当前的不在要删除的数组中的话,写入新的数组中 NEWARR+=("$ARRKEY") fi fi done
4.重新组合成相同格式的串, 然后更新到数据库中
ARR_LEN=${#NEWARR[*]} UPDATE_STR='a:'$ARR_LEN':{' for((i=0;i<${#NEWARR[@]};i++)) do str='i:'$i';'${NEWARR[$i]}';' UPDATE_STR=$UPDATE_STR${str} done UPDAE_SQL="'"$UPDATE_STR"}'" UPDATQ_RUN="use $NEW_DB_NAME; update wp_options set option_value=$UPDAE_SQL where option_name = 'active_plugins'" mysql -uuser -ppasswd -e "${UPDATQ_RUN}"
原文地址:https://www.cnblogs.com/eatmore/p/15264685.html
- Scala学习教程笔记二之函数式编程、Object对象、伴生对象、继承、Trait、
- Scala学习教程笔记一之基础语法,条件控制,循环控制,函数,数组,集合
- Kafka的生产者和消费者代码解析
- Caused by: java.lang.ClassNotFoundException: backtype.storm.topology.IRichSpout
- 作为完美主义者(强迫症)如何将linux的eth1网卡修改为eth0网卡
- 【入门篇】一个小白在Jetson TX2上安装caffe的踩坑之旅
- 【入门篇】Jetson TX2深度学习Inference初体验
- zeromq的安装,部署(号称最快的消息队列,消息中间件)
- OpenDaylight新建HelloWorld工程并集成版本
- 摸索出来的chrom调试前后台数据(Java&&Ajax)交互的方法分享一下咯!!!
- 机器学习:单词拼写纠正器python实现
- java.lang.Exception: 资源处理失败,失败原因:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown
- Server Tomcat v7.0 Server at localhost failed to start.
- Ovs+Dpdk简单实践
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Hive-1.2.1_03_DDL操作 1.1. Create Database1.2. Drop Database1.3. Use Database2.1. Cre
- Hive-1.2.1_04_DML操作 5.1. Join8.1. 使用案例8.2. Transform实现
- Hive-1.2.1_05_案例操作
- Mysql字符编码利用技巧
- Hive-1.2.1_06_累计报表查询
- Flume-1.8.0_部署与常用案例
- GlassFish 目录穿越漏洞测试过程
- 安装CDH7.1.1
- GIT-SHELL 沙盒绕过(CVE-2017-8386)
- Azkaban-2.5.0-部署与常见案例
- 无字母数字webshell之提高篇
- Sqoop-1.4.7-部署与常见案例
- Hbase-2.0.0_01_安装部署
- 前端黑魔法之远程控制地址栏
- 攻击LNMP架构Web应用的几个小Tricks