热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

快速解决应用系统、SQL、脚本中数据库密码的替换

我曾在一家保险公司做驻场维护时,入职第四天,由于数据库(DB2)要定期变更密码,上级要我更新应用程序、SQL脚本、SHELL脚本等中所涉及的密码,并一再强调,必须保证变更后第二天全国业务部门可以正常使用我们的核心系统。给了我3天时间写准备方案与实施计划。由于之前的脚本、SQL等非常的多、且尚不知哪些中有,哪些中无,也不清楚各应用程序的配置文件、脚本等所在的位置,脑袋顿时大了!但忽然间我想

我曾在一家保险公司做驻场维护时,入职第四天,由于数据库(DB2)要定期变更密码,上级要我更新应用程序、SQL脚本、SHELL脚本等中所涉及的密码,并一再强调,必须保证变更后第二天全国业务部门可以正常使用我们的核心系统。给了我3天时间写准备方案与实施计划。由于之前的脚本、SQL等非常的多、且尚不知哪些中有,哪些中无,也不清楚各应用程序的配置文件、脚本等所在的位置,脑袋顿时大了!但忽然间我想到了一种简单的方法,众多脚本、配置文件中的密码只是用于DB2连接,没有别的含义,而且是个明文,我最多只需要20分钟就可以搞定了。哈哈,3天,可以偷个懒啦。以下是我曾经的工作文档,共享给大家。(懒的手打了),如有更好的办法,请大家批评指正。本想用sed -i参数直接修改,但AIX系统自带sed版本没有-i参数................ 唉

2011年11月17日21点,核心数据库变更密码,密码变更涉及各核心服务器与人险服务器。由于所涉及的配置文件、脚本、SQL比较多,需要提前对文件进行过滤、准备好更改的脚本(只针对cisys用户)

1:查找cisys用户下所有文件及子文件夹内的所有文件,过滤出原密码内容,将内容生成一个新文件

1
find /home/cisys ! -name "find.txt" -type f -prune|xargs grep xxxxx > ./find.txt &

2:整理文件内的过滤内容,删除.tar结尾及一些重复的过滤出的文件。

3:更改脚本如下:

1
2
3
4
5
6
#!/bin/ksh
for i in `awk '{print $0}' find.txt`
do
cp ${i} ${i}_$(date +%F)
vi ${i} <./xx.conf 1 >/dev/null 2>/dev/null
done

 

 xx.conf的内容: :%s/xxxx/xxxxx/g

                  :wq

  4:每个服务器一次执行前2步,然后上传脚本,赋予权限。准备在相应时刻执行。

  5:人险服务器需要修改其连接池,及XML。先更改XML,启动weblogic中间件再修改连接池。

 

注:find 查找指定路径后重定向的文件,由于没有权限只能放在家目录下。此时xargs仍会过滤到此文件,因此需要不查找过滤出来的文件,故 !-name "" -prune就派上用场了。ksh下date +%F =  linux bsh下的 date +%Y%m%d  .以vi 读取替换命令,并循环打开文件的方式很笨拙。因为AIX5.3中sed版本过低,不支持-i选项 ,所以只好如此。vi 后的重定向不是必须的,此种方式会报错,但实际已经完成替换,故只好把标准错误重定向给了 /dev/null  ,输出由于不想看到满屏幕的滚动,所以也重定向给了/dev/null.

本文出自 “运维-上下求索” 博客,转载请与作者联系!


推荐阅读
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
author-avatar
地之南_816
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有