人大金仓KingbaseES数据库预防删除工具指南

1. 问题背景

因为某些场景下,操作人员有可能误删除重要的文件或文件夹,导致整个数据库系统发生严重的问题,使用rm-protect这一机制,预防重要文件被误操作删除。

2. 工具原理

使用alias rm的方式,操作人员命令行使用rm 时,重定向到具有强制确认的删除文件命令。安装工具时将在系统目录生成一个配置文件

echo "alias rm=sys_rm" >> /etc/profile.d/rm_protect.sh

3. 工具构成

工具包含三个文件,均在 KingbaseES/bin/目录下:

install-rm-protect.sh

安装工具到系统相关配置文件

sys_rm

具有强制确认的删除文件命令

sys_protect

设置某个文件或文件夹的工具命令

4. 专用机约束

专用机在安装数据库管理系统时默认将完成rm工具安装,不需要手工再次执行安装

专用机移除rm工具只需要移除/etc/profile.d/rm_protect.sh文件

基于不同操作系统,我们建议安装RPM之后和移除rm工具之后,均重启一次主机

5. 安装工具

专用机不需要进行安装,由RPM自动安装此工具。需要在安装RPM之后重新启动主机一次,才能完成使用此预防删除工具。

必须使用root用户进行安装。

KingbaseES安装完成后,需要执行一次安装命令:

cd <KingbaseES>/bin/
./install-rm-protect.sh

重新安装之前只需要执行一次,重复执行没有伤害性的效果。

删除保护将在执行此安装步骤后,重新登录系统的session或进程生效,强烈建议重启主机一次。

6. 设置保护

sys_protect针对需要保护的文件或文件夹需要单独执行此命令去保护它。设置时需要输入一个问题和回答。设置去保护某个文件夹

./sys_protect/path/to/some_vip_fileQuestionfor/path/to/some_vip_filesuretodelete?Answer:YES

个别操作系统不支持相对路径设置保护,建议使用全路径文件名。

7. 使用指南

rm -rf ./data/
/home/data: sure to delete ?
Answer: wrong
Wrong answer! /home/data will not be removed
The correct answer isstoredin /home/.data.rm-protection

rm -rf ./data/
/home/data: sure todelete ?
Answer: right

8. 移除工具

移除工具,还原rm命令为系统原生rm文件命令。

使用root用户 :

  • /bin/rm /etc/profile.d/rm_protect.sh

  • 删除 /etc/bashrc 文件中 alias rm所在的行

  • 删除 /etc/bash.bashrc 文件中 alias rm所在的行

清空此文件然后重启主机,即可卸载(或者称为暂停此功能),

本文所指的移除,是停用此功能,并不包含去删除二进制文件。已经设置删除保护的文件,不在继续具有删除保护的效果。

专用机,使用root用户:

/etc/profile.d/rm_protect.sh

如果专用机的权限管理禁止清空此文件,则此环境不具备卸载工具的能力。

9. 使用须知

支持对文件夹的保护

但是不自动覆盖文件夹内部的子文件夹和文件,仅在 rm -rf <dir_name>时候有效,对于rmdir 删除文件保护无效。

建议卸载数据库管理软件前,先移除rm保护工具

直接卸载数据库管理软件后,将删除kingbase/bin目录下的sys_rm 。此时再要执行rm操作,将提示sys_rm不存在

删除命令的原始选项导致失败

假定存在文件夹 dir1,通过sys_protect dir1 设置了问题和回答。此时使用命令 rm dir1 。保护模式下,提示问题,回答了正确的答案,隐藏标志文件将被清除。然后实际删除rm命令,报告错误,dir1是一个目录,不能直接删除。可以使用rm -r dir1进行删除。

mv文件丢失保护

mv文件后,新文件名的文件丢失保护 mv某个受到保护的文件, 此文件将丢失保护效果,保护是基于文件全路径名

同时删除多个文件时的行为

同时删除多个文件时的行为,如果包含受到保护的、没有受到保护的

/abc/a /abc/b a文件未被保护 b文件被保护 rm -rf /abc/* 提示是否删除b,如果Ctrl+C 退出, a b 都在 rm -rf /abc/* 提示是否删除b,错误答案 退出, a不在 b在 rm -rf /abc/* 提示是否删除b,正确答案 继续, a不在 b不在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值