[日記] コマンド間違ってファイル消しちゃった

2011/12/29

こんにちは。きんくまです。

もうすぐ今年も終わりですね。
さて、先日ブログにこんなメモを残しました。

>> [terminal] ターミナルで.DS_Storeファイルを再帰的に消す

そんで、やっちゃいましたよ。
作業中に、ふーっと、まとまりのいいところまできたので、gitでコミット。
あるフォルダの.DS_Storeファイルを消そうと思って、コマンド打ったんですよ。
そしたら、ですね、なんかおかしいんですよ。
あれ????
なんか全部ファイルが消えてるんですけど…。

コマンド打ったディレクトリ以下が空のフォルダ残して全部消えちゃってます。
すごく焦ったんですよ。
それで、
「いや、なんの、gitで回復させれば大丈夫だっつーの。」
とか青くなりながら、gitコマンドうったら、
「gitのリポジトリなんかないよ。」
とかメッセージが帰ってきたんですよ。

いやいやそんなことないって、とかいって、見てみたら、リポジトリごとごっそり
消去してしまっていたという、、。

コマンドもう一度ちゃんとみたところ、rmのオプションの-nameが抜けていて、
名前で検索せずに、何もかも削除ということをしてしまっていたようです。

ターミナル上で、ファイルを削除するとゴミ箱行かないで、いきなり削除されちゃうんで、
もとに戻せないという。

いやー焦りました。
そしたら、TimeMachineが俺にはあるじゃマイカと、TimeMachineのデータが入っている外付けHDDをつないでみたところ、2日前にたまたまバックアップしていたのを発見。
普段、1ヶ月に1度やるかやらないかの、きまぐれバックアップだったのですが、
何故かそのときは気が向いてやっていたという。
なので、2日前までは戻れるということになりました。
はじめてTimeMachine使いましたよ。助かりました。

いつもは、こういう置換削除みたいな、ヒヤリ系は必ずどこかに一度バックアップコピーしてから作業しているんですが、gitのリポジトリあるからいいやとか、ターミナルも少し慣れてきたかな、みたいな気のゆるみがあり、全くしていませんでした。

作業的には、実際のところ半日分くらいのところだったので、そこまで大事にはいたらなかったのですが、なんだか自分の気のゆるみを指摘された気分になりましたよ。

対策としては、以下の感じにしようかと。

1) TimeMachineのHDDつけっぱなし+スイッチON状態にしておいて、絶対に1時間前に戻れるようにしておく
2) rmコマンド打つときは慎重に。-iオプションつけて、プロンプト出させたり、再帰処理の時は絶対にバックアップをとってから行う
3) gitのリポジトリのあるディレクトリではterminalの作業は行わないようにする。gitリポジトリ以下の階層でもgitコマンドは使える(というのを今回知った)

LINEで送る
Pocket

自作iPhoneアプリ 好評発売中!
フォルメモ - シンプルなフォルダつきメモ帳
ジッピー電卓 - 消費税や割引もサクサク計算!

ページトップへ戻る