Mencegah file terhapus karena `rm -rf *`

Alkisah kemarin baca status dari Om Wahyu yang katanya gak sengaja menghapus semua file kerjaannya. Tadinya dia mau ketik &&, tetapi yang terketik adalah **. Alhasil hilanglah semua file.

Tapi sebenarnya tidak semua file yang hilang. Jika file diawali dengan dot, file tersebut tidak terhapus. Jadi kalau seandainya menggunakan Git, yang mana Git menyimpan di .git tetap akan ada. Solusinya simple, tinggal checkout aja 😐

git checkout -- .

Atau bisa juga pakai stash

git stash --keep-index

Kalau tidak pakai Git (atau VCS lain) gimana? Yaa wasalam. Pakai aja tools lain untuk undelete. Di MS-DOS ada tuh UNDELETE.EXE.

So, tindakan preventif-nya apa supaya kejadian konyol ini tidak terjadi? :/

Backup!!

Selalu Backup pekerjaan anda. Kalau perlu tiap saat. Lebih baik keluar duit beberapa juta daripada hilang datanya. Terserah mau pakai layanan 3rd party di cloud, local network, atau beli alat khusus untuk backup.

Jika menggunakan OS X aktifkan TimeMachine. Yang pakai Windows juga bisa aktifkan fitur backup-nya.

Kalau pakai Linux, tergantung distro-nya. Dari distro-distro yang pernah saya coba, belum ada yang preinstalled dengan backup. Anda bisa install sendiri. Beberapa backup tools https://wiki.archlinux.org/index.php

Jika masih merasa kurang dengan tools bawaan atau open source, anda bisa pakai tools berbayar dari perusahaan semacam Acronis.

Selalu Gunakan VCS (Version Control System).

Ini juga penting. Dan jangan lupa juga commit dan push. -_-”

Gunakan safe-rm

Ini khusus untuk yang pakai *nix shell. Anda bisa install safe-rm

Cara install jika anda menggunakan OS X dan Homebrew

brew install safe-rm

Pengguna Linux, harusnya ada di distro repository-nya. Coba aja install dengan package manager bawaan distro.

Misalnya di ArchLinux

pacman -S safe-rm

di Ubuntu/Debian/Mint

apt-get install safe-rm

Redhat/Fedora/SuSe

yum install safe-rm

Kalau nggak ada, yaa compile. Jangan kayak orang susah. :/

Gunakan Trash command

Trash ini adalah satu tool ampuh buatan Om Sindre Sorhus. Bisa digunakan di OS X, Linux dan Windows. Lebih aman daripada rm dan del, karena file yang dihapus akan dipindahkan ke Trash atau Recycle Bin. Jadi bila salah ketik, bisa dengan mudah di-restore.

Khusus pengguna ZSH

Screen Shot 2015-08-07 at 15.21.18

Tambahkan ini di ~/.zshrc

unsetopt RM_STAR_SILENT
setopt RM_STAR_WAIT

RM_STAR_SILENT dimatikan agar muncul prompt saat menghapus file dengan menggunakan *

RM_STAR_WAIT diaktifkan untuk memberikan waktu delay selama 10 detik sebelum eksekusi. Jadi anda bisa tekan ^C untuk membatalkan.


References:

Tinggalkan Komentar