服务器操作手册
安装完服务器以后需要进行的操作:
1)配置ip
2)配置防火墙
3)安装:防误删除的软件,如:extundelete
4)挂载光盘后一定要记得导入数字证书
进入目录/mnt/cdrom/(即光盘的挂载点)
rpm --import RPM-GPG-KEY-CentOS-6 使用该命令导入数字证书
rpm -qa |grep gpg 验证证书是否已导入(出现 gpg-pubkey-c105b9de-4e0fd3a3 这个时,说明证书已导入)
/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 (系统中数字证书的位置)
5)安装gcc (C语言编辑器,为了安装 tar.gz 源码包时不报错)
6)修改服务器的密码过期后的宽限天数
修改的路径为:/etc/default/useradd
修改后的内容为:INACTIVE=0
7)创建一个文件特殊权限的检测脚本,定时进行检测
extundelete实现Linux下文件/文件夹数据恢复!
一、安装
1、如果是Centos系统,在安装extundelete之前需要安装e2fsprogs,e2fsprogs-libs,e2fsprogs-devel。
这里用:yum install e2fsprogs e2fsprogs-libs e2fsprogs-devel 来完成安装
2、编译安装extundelete:
tar xjf extundelete-0.2.4.tar.bz2
cd extundelete-0.2.4
./configure
make && make install
二、使用
1、可通过help查看
extundelete --help
参数介绍:
参数:
--version,-[vV]显示软件版本号
--help,显示软件帮助信息
--superblock显示超级块信息
--journal,显示日志信息
--after dtime,时间参数,表示在某时间段之后被删除的文件或目录
--before dtime,时间参数,表示在某时间段之前被删除的文件或目录
动作:
--inode ino,显示节点ino 的信息
--block blk 显示数据块 blk 的信息
--restore-inode ino [,ino,…]恢复命令参数,表示恢复节点“ino”的文件,恢复的文件 会自动
存放在当前目录下的RESTORED_FILES文件夹中,使用节点编号作为扩展名
--restore-file ‘path’ ,恢复命令蚕食,表示将恢复指定路径的文件,并把恢复的文件 放在当
前目录下的RECOVERED_FILES目录中
--restore-files‘path’,恢复命令参数,表示将恢复在路径中已列出的所有文件
--restore-all,恢复命令参数,表示将尝试恢复所有目录和文件
-j journal 表示从已经命名的文件中读取扩展日志
-b blocknumber,表示使用之前备份的超级快来打开文件系统,一般用于查看现有超级快
是不是当前所要的文件
-B blocksize,通过制定数据块大小来打开文件系统,一般用于查看已经知道大小的文件
2、extundelete恢复数据的过程:
在数据被误删除后,第一时间要做的就是卸载被删除数据所在的分区,如果是根分区的数据遭到误删,
就需要将系统进入单用户模式,并且将根分区以只读模式挂载。这样做的原因很简单,因为将文件删除后,
仅仅是将文件的inode节点中的扇区指针清零,实际文件还储存在磁盘上,如果磁盘继续以读写模式挂载,
这些已删除的文件的数据块就可能被操作系统重新分配出去,在这些数据库被新的数据覆盖后,这些数据
就真的丢失了,恢复工具也回天。所以!以只读模式挂载磁盘可以尽量降低数据库中数据被覆盖的风险,
以提高恢复数据成功的比例。
3、extundelete恢复数据的全过程举例
(1)模拟数据误删环境
① 通过extundelete恢复单个文件操作以ext4文件系统环境为例,创建分区
fdisk -l 查看分区
fdisk /dev/sdb
然后选择 n:添加分区
添加完成后,保存退出
Command (m for help): w #保存退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
查看磁盘
②把分区挂载到一个目录下
[root@local 桌面]# mkdir /data (创建一个空目录,用来挂载分区,一般是在家目录下)
[root@local 桌面]# mkfs.ext4 /dev/sdb4 设置为ext4文件系统,并格式化
[root@local 桌面]# mount /dev/sdb4 /data/ 挂载
[root@local 桌面]# cp /etc/passwd /data/
[root@local data] cp -r /root/app/extundelete-0.2.4 /data/
[root@local data] md5sum passwd 往目录中写入一些数据
③删除数据
[root@local data] rm -rf /data/*
(2)卸载磁盘分区
[root@local data]# cd
[root@local ~]# umount /data/
(3) 通过extundelete命令查下/dev/sdb4分区可恢复的数据信息一般”root”目录的 inode 值为2,
一个分区挂载到一个目录下时,这个”root”目录的 inode 值为 2
[root@local ~]# extundelete /dev/sdb1 --inode 2
根据输出信息,标记为Deleted状态的是已经删除的文件或目录。同时还可以看到已删除文件的inode值,
接下来就可以恢复文件了。
(4)恢复文件或目录
①恢复单个文件,恢复单个文件的参数是--restore-file 这里需要注意的是参数后面
指定的是恢复文件路径,这个路径是文件的相对路径。相对路径是相对于原来存储路径而言的,
如果存储路径是/data/passwd,那么参数后面直接写pass我的,如果原来的路径是
/data/extundelete-0.2.4/ config.h那么在参数后面就写extundelete-0.2.4/ config.h即可。
extundelete /dev/sdb1 --restore-file passwd
会在当前目录下生成一个RECOVERED_FILES目录,里面保存已经恢复的文件。
extundelete实现Linux下文件/文件夹数据恢复!
②恢复单个目录:
extundelete /dev/sdb1 --restore-directory /mongodb
③恢复所有误删文件:
tundelete /dev/sdb1 --restore-all
④extundelete还可以实现恢复某个时间段的数据。可以通过“--after”和“--before”参数实现!具体步骤如下:
[root@local data]# cp /root/extundelete-0.2.4.tar.bz2 /data/
[root@local data]# ls
extundelete-0.2.4.tar.bz2
[root@local data]# date +%s
1447823133
[root@local data]# rm -rf extundelete-0.2.4.tar.bz2
[root@local data]# cd
[root@local ~]# umount /data
[root@local ~]# date +%s
1447823221
[root@local ~]# cd /data/
[root@local data]# ls
[root@local data]# extundelete --after 1447819621 --restore-all /dev/sdb4
[root@local data]# ls
[root@local data]# cd RECOVERED_FILES/
[root@local RECOVERED_FILES]# ls
extundelete-0.2.4.tar.bz2
注:可以看到刚才删除的文件已经恢复这个操作需要注意--after参数后面跟的是时间的总秒数起算时间
“1970-01-01 00:00:00 UTC”通过date +%s 命令可将当前时间转换成总秒数之后恢复1小时
以前的数据就需要用1447823221减去60*60=3600所得的数