先日アップデートした2つのアプリのプロジェクトファイルが消えました。
原因と対応内容を書いておこうと思います。
さぁ今日も作業やるぞ!とフォルダを開いていくと、いつもあったはずのフォルダが消えていました。
たまたま消えたものが直前まで使っていたものだったので、いつ消えたのか?何で消えたのか?
という原因はだいたいの察しが付いていました。
原因
・自作したシェルスクリプトの誤作動
macにはWindowsのような、ゴミ箱を経由しないで直接削除するようなコマンドがありません。
なので、ネットで調べてそれが実現できるようなスクリプトを組んでいました。
たまーにスクリプトが作動せず、削除されずに残るという現象は起きていたのですが、
その場合は、ゴミ箱を経由して削除していた為、とくに問題に思っていませんでした。
そして、、、
ファイルが消える数日前から、対象のフォルダを消そうとすると、同階層のフォルダ全てが消えるような動作をするようになりました。
その時は、ダウンロードフォルダ等の消えても問題ないものばかりだったので、おかしいなぁ程度にしか思っていませんでした。
という感じに、その日は不要なファイルを削除したところ、同階層のフォルダの一部が消えてしまい、それがプロジェクトファイルでした。
対処①
とりあえず、スクリプトを削除。
これ以上の被害を拡大させないように。
ネットで拾ってきたものだったので、中身もあまり理解していなく、原因追及等もしませんでした。
対処②
復元ソフトを使ってみた。
自分を過信しており、バックアップは取ってませんでした。
それでも、こういった類いのソフトを使えば復元出来る可能性もあるようです。
祈る気持ちでスキャンしましたが、結果は収穫を得る事はできませんでした。
対処③
結局、再コーディングしてみる。
不幸中の幸いというべきか、まだアップデートしてから日が浅かったので、コーディングした内容を覚えていました。
消えた分は4、5日かかって対応したものでしたが、2日くらいで何とか元に戻す事ができました。
しかし、全く同じというわけにはいかないので、リリース済みのアプリと比較をしたり、
新たな不具合が発生してないかのテストは必須ですね。
対処④
同じ過ちを繰り返さないように、タイムマシンを導入。
今まで、メインのSSDドライブ+外付けHDDを使い、データ量の大きい物はHHDに保存したりと使い分けていましたが、
とりあえず現状のフォルダは全てSSDにぶちこみ、外付けHDDはタイムマシン用にしました。
これで、バックアップが自動で作成される仕組みは出来てしまうので、リスクは低くなります。
それと、次いでにGITも使ってなかったので、バージョン管理できるように導入しました。
まとめ
私は大丈夫と思ってる方も多いんじゃないかと思いますが、オペレーションミスや故障でデータは簡単に消えてしまうので、
ドキっとした方はすぐに対応した方が良いと思います。