rm-rfをそんなに危険にしない

2154 ワード


命令が多すぎて、よく川辺を歩いているので、靴を濡らすのは避けられない」
先日、手を间违えて、命令を间违えて、オンラインのORACLEのデータファイルをrm-rfに落として、その时脳翁のすぐに、完全に覆って、10分以内に私は何も座っていないで、自分の気持ちを落ち着かせました.どうすればいいか考えてみると、データベースはタイミングrmanバックアップをして、すべてのデータベースファイルをrestoreとrecoverに直接行って、いっそ順調で、バックアップしていないデータベースファイルが削除されたら、ext 3 grepツールでリカバリしなければならないかもしれません.
今回のミスを通じて、血の教訓をまとめます.
1.rmが極めて危険であることを再検証し、注意し、考え、または直接命令を書き換える.
2.すべてのバックアップは有効で、迅速にリカバリできるようにテストする必要があります.
3.バックアップは長期的なプロセスである
まず、リサイクルステーションを作ってユーザーディレクトリの下に入ります.bashrcかbash_プロファイルには次の内容が含まれています.
[root@db01 bak]# ll
?? 8
drwxr-xr-x 2 root root 4096 11-15 11:42 mem
drwxr-xr-x 2 root root 4096 11-15 11:42 prudent
-rw-r--r-- 1 root root 0 11-15 11:42 prudent.log
[root@db01 bak]# rm *
[root@db01 bak]# ls
[root@db01 bak]# unrm mem
[root@db01 bak]# unrm prudent
[root@db01 bak]# cleartrash
clear sure?[n]y
-bash: /usr/bin/rm: ?????????
[root@db01 bak]# unrm prudent.log
[root@db01 bak]# ll
?? 8
drwxr-xr-x 2 root root 4096 11-15 11:42 mem
drwxr-xr-x 2 root root 4096 11-15 11:42 prudent
-rw-r--r-- 1 root root 0 11-15 11:42 prudent.log
[root@db01 bak]#

同時にbashrcには、エラーを削除した後、直接ごみ箱でリカバリできる関数が追加されています.
cleartrash()
{
read -p "clear sure?[n]" confirm
[ $confirm == 'y' ] || [ $confirm == 'Y' ] && /usr/bin/rm -rf ~/.trash/*
}

上記のコードを追加すると、ユーザーに再ログインして有効になります.注意:
rmはmvを実行することに相当し、削除するファイルは.trashに現れる
この時すでにrm-rfが木に生えていた
unrm filenameでは、削除したファイルを復元できます.
cleartrashを通過すると、回収ステーションが空になり、これ以上回復できません.egg:
[root@db01bak]#ll–ディレクトリの下には2つのディレクトリと1つのファイルがありますか?8 drwxr-xr-x 2 root root 4096 11-15 11:42 mem drwxr-xr-x 2 root root 4096 11-15 11:42 prudent -rw-r–r– 1 root root    0 11-15 11:42 prudent.log
[root@db01bak]#rm*—すべてのファイルを削除した後、ディレクトリが空になります[root@db01 bak]# ls
[root@db01bak]#unrm mem—データ復旧を開始[root@db01 bak]# unrm prudent [root@db01 bak]# unrm prudent.log
[root@db01bak]#ll—リカバリが完了してデータが戻ってきました.??8 drwxr-xr-x 2 root root 4096 11-15 11:42 mem drwxr-xr-x 2 root root 4096 11-15 11:42 prudent -rw-r–r– 1 root root    0 11-15 11:42 prudent.log [root@db01 bak]#