叶测试 - 2021年10月
type: channel
link: https://r1989.com/2021/10/
description: Rebuild 1989
items: 批量创建系统及相关配置脚本
items: VMware开机启动操作系统 局域网共享访问
items: php编译安装oci8 pdo_oci扩展
items: 去除phpoffice默认插入图片产生边框
items: composer基础使用
items: windows备份mysql脚本
items: 检测文件大小脚本
items: 检测数据库中指定表是否存在指定字段脚本

批量创建系统及相关配置脚本
type: item
date: 2021-10-16T09:47:00+00:00
description: copy.sh批量创建网站程序 #!/bin/bash #--------------------------------------- # 批量复制部署系统程序 # author: SenSen 1050575278 # date: 2021/10/16 # 注意：所有脚本需测试后方可使用！！！ #--------------------------------------- #确定版本号 read -p "Enter Version Code to continue : " code if [ "$code" ]; then #待部署系统文件夹名称 todo 待通过dns文件获取 sysDir=(t001 t002) #源文件 依据系统版本 sourceDir="/web/source/${code}.zip"; #判断文件是否存在 if [ ! -f "${sourceDir}" ];then echo "Error: File not found" exit fi #安装目录 baseDir='/web/oa/' for f in "${sysDir[@]}" do #获取当前时间 curtime=`date +"%Y/%m/%d %H:%M:%S"` #复制 cp -rf ${sourceDir} ${baseDir}${f}".zip" #解压 默认解压到当前 unzip -oq ${baseDir}${f} -d ${baseDir}${f} #变更用户组 chown -R www:www ${baseDir}${f} #删除压缩包 rm -rf ${baseDir}${f}".zip" echo "${curtime} ${f} done" done else echo "Error: param is empty" ficopy_conf.sh批量创建系统配置文件 #!/bin/bash #--------------------------------------- # 批量生成网站配置文件 # author: SenSen 1050575278 # date: 2021/10/16 # 注意：所有脚本需测试后方可使用！！！ #--------------------------------------- #进入伪静态目录 cd /www/server/panel/vhost/nginx baseDir='/web/oa/' sysDir=`ls /web/oa` #循环生成伪静态 for f in ${sysDir} do #复制 cp "thinkphp_conf.conf" "${f}.speaklaw.cn.conf" #替换 find "${f}.speaklaw.cn.conf" | xargs sed -i "s/sensen/${f}/" echo "${f} done" donecopy_rewrite.sh批量创建系统伪静态配置 #!/bin/bash #--------------------------------------- # 批量复制部署系统程序 # author: SenSen 1050575278 # date: 2021/10/16 # 注意：所有脚本需测试后方可使用！！！ #--------------------------------------- #进入伪静态目录 cd /www/server/panel/vhost/rewrite baseDir='/web/oa/' sysDir=`ls /web/oa` #循环生成伪静态 for f in ${sysDir} do cp "sensen.speaklaw.cn.conf" "${f}.speaklaw.cn.conf" echo "${f} done" done `sensen.speaklaw.cn.conf` 伪静态配置文件 location / { if (!-e $request_filename){ rewrite ^(.*)$ /index.php?s=$1 last; break; } }thinkphp_conf.sh 系统配置文件 server { listen 80; server_name sensen.speaklaw.cn; index index.php index.html index.htm default.php default.htm default.html; root /web/oa/sensen/public; #SSL-START SSL相关配置，请勿删除或修改下一行带注释的404规则 #error_page 404/404.html; #SSL-END #ERR…

VMware开机启动操作系统 局域网共享访问
type: item
date: 2021-10-16T09:31:37+00:00
description: 为方便测试使用VMware搭建了LNMP服务器，共享给局域网使用。配置开机自启动lnmp服务器系统：创建vm.bat"D:\install\vmware12\vmrun.exe" start "F:\Virtual Machines\CentOS\CentOS.vmx"添加到开机启动目录中C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp注：网络连接使用“桥接模式”，并在“虚拟网络编辑器”中桥接到对应的本机有线或无线网卡上。编辑vim /etc/sysconfig/network-scripts/ifcfg-ens33BOOTPROTO=static IPADDR=192.168.10.110 NETMASK=255.255.255.0 NETWORK=192.168.10.0 GATEWAY=192.168.10.1 DNS1=119.29.29.29 DNS2=8.8.8.8 ONBOOT=yes

php编译安装oci8 pdo_oci扩展
type: item
date: 2021-10-14T09:05:25+00:00
description: 系统环境：centos7.8 + php7.4 + thinkphp6 + oracle 11g注意：使用独立下载的扩展容易引起部分错误信息，不建议使用。推荐使用对应php版本中的ext扩展直接编译安装。【安装oracle客户端】下载地址：https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html[...]

去除phpoffice默认插入图片产生边框
type: item
date: 2021-10-14T07:44:00+00:00
description: 项目中通过phpoffice（v0.17）生成word文件，插入word的图片默认带黑边框问题。解决方式：路径：vendor/phpoffice/phpword/src/PhpWord/TemplateProcess.php位置：578行 stroked=""$imgTpl = '<w:pict><v:shape type="#_x0000_t75" style="width:{WIDTH};height:{HEIGHT};" stroked=""><v:imagedata r:id="{RID}" o:title=""/></v:shape></w:pict>';

composer基础使用
type: item
date: 2021-10-13T08:41:00+00:00
description: Composer 需要 PHP 5.3.2+ 以上版本，且需要开启 openssl。composer -v 查看版本推荐使用阿里云全量镜像：composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/如仅当前项目使用则可去除-g选项。取消配置：composer config -g --unset repos.packagist[...]

windows备份mysql脚本
type: item
date: 2021-10-12T02:11:00+00:00
description: windows下备份mysql数据库脚本，可添加到计划任务中实现定时自动备份。默认存储位置为d:\backup（注：为避免中文乱码，请使用ANSI保存） @echo off :begin rem 接收信息 set input= set /p input=请输入数据库名称： if "%input%" == "" ( goto begin ) echo "正在备份 %input%" set yyyy=%date:~,4% set mm=%date:~5,2% set dd=%date:~8,2% if /i %time:~0,2% lss 10 set hh=0%time:~1,1% if /i %time:~0,2% geq 10 set hh=%time:~0,2% set mn=%time:~3,2% set ss=%time:~6,2% set date=%yyyy%%mm%%dd% set time=%hh%%mn%%ss% set filename=%date%_%time% ::设置备份目录 set label=d:\ set backDir=backup\ set pwd=123456 if exist %label%%backDir% ( ::echo 目录%label%%backDir%已存在，无需创建 ) else ( echo 创建%label%%backDir% md %label%%backDir% ) ::主要为当前正在开发的数据备份，已上线系统优先依据线上系统数据库 "E:\wamp\bin\mysql\mysql5.7.31\bin\mysqldump">mysqldump --opt -P3306 -u root --password=%pwd% --databases %input% --single-transaction >%label%%backDir%%input%_%filename%.sql :: more... echo "完成备份 %input%" goto begin

检测文件大小脚本
type: item
date: 2021-10-10T10:02:00+00:00
description: check_file_size.sh #!/bin/bash #--------------------------------------- # 检测文件大小 # author: SenSen 1050575278 # date: 2021/10/10 # 注意：所有脚本需测试后方可使用！！！ #--------------------------------------- read -p "Tips! Enter fileName (like 'app/index/controller/Index.php') to continue : " input #获取当前时间 curtime=`date +"%Y/%m/%d %H:%M:%S"` #所在目录 dir='/web/oa/' #自动获取系统目录文件 仅可包含oa系统文件 sysDir=`ls /web/oa` for f in ${sysDir} do /bin/ls -l ${dir}${f}/${input} | awk '{print $5}' echo ${f} done

检测数据库中指定表是否存在指定字段脚本
type: item
date: 2021-10-10T10:00:00+00:00
description: check_mysql_field_exist.sh #!/bin/bash #--------------------------------------- # 检测数据库是否存在指定字段 变量1:表名 变量2:字段名 # 注：数据库名同文件夹名 # author: SenSen 1050575278 # date: 2021/10/10 # 注意：所有脚本需测试后方可使用！！！ #--------------------------------------- if [ "$1" ] && [ "$2" ]; then #获取当前时间 curtime=`date +"%Y/%m/%d %H:%M:%S"` #所在目录 dir='/web/oa/' #连接数据库 db_con="/usr/local/mysql/bin/mysql -uxxx -pxxx" #自动获取系统目录文件 仅可包含oa系统文件 sysDir=`ls /web/oa` for db in ${sysDir} do ${db_con} -e "select count(*) from information_schema.columns where table_schema = '${db}' and table_name = '${1}' and column_name = '${2}';" >> /web/shell/check_mysql_field_exist.txt echo ${db} " done" >> /web/shell/check_mysql_field_exist.txt done else echo "Error: param is empty" fi