通过extundelete使用shell实现CentOS6 ext4文件系统误删除文件的恢复

1.介质下载

路径:

链接:extundelete

提取码:ztj0

版本:extundelete.0.2.4

2.shell代码实现

extundelete.sh

#!/bin/bash
#Author:ztj
#Date:2023/5/25
#Description:误删除文件恢复脚本
#Prerequisite:1.本地或网络yum源可用 2.root管理员用户执行 3.centos6 ext4

DiskName=$1
ARGS=1
E_BADARGS=65
E_PARTITION=66
E_DISK=67
E_UMOUNT=68
E_SOFTWARE=69
E_RECOVERY=70

#脚本用法
if [ $# -ne "$ARGS" ];then
  echo "Usage: `basename $0` DiskName(E.g:$0 /dev/sdb1)"
  exit $E_BADARGS
fi

#磁盘分区判断
if [ ! -e $DiskName ];then
  echo "磁盘分区不存在"
  exit $E_PARTITION
fi

if ! [[ "$DiskName" =~ /dev/sd[a-g]+[1-9]+ ]];then
  echo "请提供需恢复的磁盘分区,而非磁盘"
  exit $E_DISK
fi

#磁盘分区卸载
umount_disk()
{
  mount | grep $DiskName &>/dev/null
  num=$(echo $?)
 #echo $num
  if [ $num -eq 0 ];then
  cd ~
  umount $DiskName &>/dev/null
   if [ $? -ge 1 ];then
     echo "磁盘umount异常,请人工干预"
     exit $E_UMOUNT
   fi
  fi
}

#安装extundelete-0.2.4.tar.bz2
install_extundelete()
{
  if [ -e /root/extundelete-0.2.4.tar.bz2 ];then
    cd /root
    tar -jxvf extundelete-0.2.4.tar.bz2 &>/dev/null
    sleep 0.5
    ln -sv extundelete-0.2.4 extundelete &>/dev/null
    cd extundelete
    yum install -y gcc gcc-c++ e2fsprogs e2fsprogs-libs e2fsprogs-devel &>/dev/null
    ./configure &>/dev/null && make &>/dev/null && make install &>/dev/null && echo "Success" &>/dev/null
  else
   echo "extundelete-0.2.4.tar.bz2源码包不存在,请上传至/root目录下"
   exit $E_SOFTWARE
  fi
}

#all恢复误删除文件
recovery_file()
{
  cd ~
  extundelete $DiskName --restore-all &>/dev/null
  if [ $? -ge 1 ];then
    echo "$DiskName分区恢复失败,请检查"
    exit $E_RECOVERY
  else
    echo "请到$PWD/RECOVERED_FILES目录查看恢复的误删除文件"
  fi
}

#main
umount_disk
install_extundelete
recovery_file

备注:

1.使用extundelete命令只能恢复centos6(rhel6)版本且文件系统为ext4(3/2)类型中文件误删的恢复。

2.对于centos7文件系统(xfs),通过在其挂载文件系统,并设置为ext4(3/2)类型来进行文件误删的恢复,命令extundelete命令是恢复不了,必须得是centos6(rhel6)版本且文件系统为ext4(3/2)类型的才行。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小黑要上天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值