ubuntu 服务器防止误删文件或误删文件

防止rm误删文件

原理: 在当前用户的目录下,创建一个类似 windows下回收站的位置, 存储rm 命令删除的文件.

~/.bashrc 添加如下内容,重定义 rm 指令。

mkdir -p ~/.trash
alias rm=trashalias sudorm=sudotrash
alias rl='ls ~/.trash'
alias ur=undelfile

undelfile()
{
    mv -i  ~/.trash/$@ ./
}

trash()
{
    mv $@ ~/.trash/
}sudotrash()
{
    sudo mv $@ ~/.trash/
}cleartrash() { read -p "clear sure?[n]" confirm [ $confirm == 'y' ] || [ $confirm == 'Y' ] && /bin/rm -rf ~/.trash/* }

这段代码定义了三个函数 trash()undelfile()cleartrash()

其中,trash的作用是挪动文件到指定回收站目录;

sudotrash的作用是使用超级权限挪动文件到指定回收站。如果运行sudo rm,此时rm是最原始的删除功能,并非重定义的移动功能

undelfile的作用是找回回收站中的指定文件;

cleartrash的作用是清空回收站目录。

添加完毕后, source ~/.bashrc 使重定义生效。此时已经可以找到 ~/.trash/ 文件夹了。

未重定义rm命令, 执行rm命令后找回文件

STEP.1 查看删除的文件属于哪一分区, 返回 分区目录 value

df -h [directory]
df -h /usr/lib/

STEP.2 安装extundelete

sudo apt-get install extundelete

STEP.3 在使用任何的文件恢复工具之前,都要将要恢复的分区卸载或挂载为只读,防止数据被覆盖使用。

umount value
mount -o remount, ro value

这里value为第一步中返回的盘符

STEP.4 如果删的文件和操作系统是在同一个分区上,就只有把硬盘卸下来,挂载到另一台主机上。extundelete执行完毕后在当前目录生产一个RECOVERED_FILES目录,里面即是恢复出来的文件(如下为恢复目录为文件)

extundelete value --restore-directory /home/usr

这里value为第一步中返回的盘符

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值