rm -rf $ORACLE_BASE/*
rm -rf /*
ext3grep /dev/vgdata/LogVol00 --dump-names
ext3grep /dev/vgdata/LogVol00 --restore-all
ext3grep /dev/vgdata/LogVol00 --restore-file var/lib/mysql/aqsh/tb_b_attench.MYD
ext3grep /dev/vgdata/LogVol00 --dump-names >/usr/allnames.txt
while read LINE
do
echo "begin to restore file " $LINE
ext3grep /dev/vgdata/LogVol00 --restore-file $LINE
if [ $? != 0 ]
then
echo "restore failed, exit"
# exit 1
fi
done < ./mysqltbname.txt
extundelete /dev/vgdata/LogVol00 --restore-directory var/lib/mysql/aqsh
mysql-binlog0001
mysql-bin.000009
mysql-bin.000010
ext3grep /dev/vgdata/LogVol00 --restore-file var/lib/mysql/mysql-bin.000001
mysqlbinlog /usr/mysql-bin.000010 | mysql -uroot -p
本次安排同事进行服务器维护时没有提前对她进行说明利害情况,自己也未重视,管理混乱,流程混乱。一个在线的生产系统,任何一个改动一定要先谋而后动。 自动备份出现问题,没有任何人检查。脱机备份人员每次从服务器上下载 1K 的文件却从未重视。需要明确大家在工作岗位上的责任。 事故发生后,没有及时发现,造成部分数据写入磁盘,造成不可恢复问题。需要编写应用监控程序,服务一旦有异常,短信告警相关责任人。 根据提醒,再加一条:不能使用 Root 用户来操作。应该在服务器上开设不同权限级别的用户。
这个工具有一个 Bug,出错后不会向下执行:
ext3grep: init_directories.cc:534: void init_directories(): Assertion `lost_plus_found_directory_iter != all_directories.end()' failed.
- EOF -
PS:如果觉得我的分享不错,欢迎大家随手点赞、在看。 大家一起在评论区聊聊呗~
- EOF -
大家一起在评论区聊聊呗~