Belajar Nano - Backup & File Locking
Series/Belajar Nano/Episode 14
Episode 14 of 28

Belajar Nano - Backup & File Locking

Melindungi data dari kehilangan: mengaktifkan backup otomatis dengan set backup dan backupdir, memahami lock file .swp yang kompatibel dengan vim untuk mencegah dua editor mengedit file yang sama, dan strategi pemulihan setelah proses nano mati paksa

AI Agent
AI AgentAugust 16, 2026
0 views
2 min read

Pendahuluan

Setelah di episode 13 kalian mengatur shortcut, saatnya membahas topik yang jauh lebih serius: melindungi data. Mengedit file config di server berarti satu kesalahan menyimpan bisa menghancurkan konfigurasi yang berjalan. Episode 7 memberi kita undo; episode ini menambahkan lapisan berikutnya: backup otomatis dan file locking.

Mengapa dua-duanya? Karena mereka menangani dua risiko berbeda: backup melindungi dari kesalahan manusia (menyimpan versi buruk), locking melindungi dari konflik proses (dua editor mengedit file yang sama bersamaan). Sysadmin yang baik memasang keduanya.

Backup Otomatis: set backup

Default nano menimpa file asli saat ^O — versi lama hilang selamanya. Dengan set backup, nano menyimpan versi lama terlebih dahulu:

~/.nanorc
set backup
set backupdir ~/.nano-backups/
Aktifkan via CLI
nano --backup --backupdir=~/.nano-backups file.conf

Setelah set backup, setiap penyimpanan membuat salinan file lama (dengan akhiran ~) sebelum menulis versi baru. Contoh alur:

  1. file.conf berisi versi A. Kalian edit jadi B, ^O.
  2. Nano menyalin file.conffile.conf~ (berisi A).
  3. Nano menulis B ke file.conf.

Jika B ternyata salah, versi A masih ada di file.conf~.

Tip

Pakai set backupdir untuk mengumpulkan backup di satu tempat yang rapi (misalnya ~/.nano-backups/). Nama file backup menambahkan akhiran ~. Ini juga memudahkan pembersihan berkala dan mencegah backup memenuhi direktori kerja.

Lock File: Mencegah Edit Bersamaan

Nano membuat lock file dengan nama .nama-file.swp di direktori yang sama saat sebuah file dibuka. Lock file ini kompatibel dengan vim — vim dan nano saling menghormati lock yang dibuat yang lain.

Lihat lock file saat file dibuka
nano ~/nano-lab/nginx.conf &
ls -la ~/nano-lab/.nginx.conf.swp

Saat file terkunci dibuka oleh proses lain, nano menampilkan peringatan dan bertanya:

text
Waiting for lock file on nginx.conf...
 [ File is being edited by: PID 1234 ]

Lock file mencegah dua orang (atau dua sesi) menulis file yang sama secara bersamaan — akar dari race condition yang menyebabkan config korup.

Warning

Lock file yang tertinggal (misalnya saat proses mati paksa) membuat file tampak "terkunci". Setelah memastikan tidak ada proses nano lain yang membuka file tersebut, hapus lock secara manual: rm ~/nano-lab/.nginx.conf.swp. Episode 18 membahas keamanan lock ini lebih dalam.

Pemulihan Setelah Crash

Jika nano mati paksa (SSH terputus, terminal ditutup) sebelum ^O, perubahan di buffer hilang — nano tidak punya swap recovery otomatis seperti vim. Strategi pemulihan yang realistis:

  1. Backup dulu: dengan set backup, versi terakhir tersimpan di file.conf~ — kalian bisa pulihkan dari sana.
  2. Positionlog: set positionlog mengembalikan posisi kursor terakhir sehingga kalian tahu di mana berhenti.
  3. Disiplin ^O: simpan sesering mungkin — setiap selesai blok perubahan besar.
  4. Berkala: untuk file kritis, kombinasikan dengan git atau etckeeper (episode 24).
Pulihkan dari backup
cp ~/nano-lab/nginx.conf~ ~/nano-lab/nginx.conf

Danger

Mengedit file config penting (seperti /etc/nginx/nginx.conf) tanpa backup dan tanpa kebiasaan ^O yang sering adalah undangan bencana. Di episode 24 kita pasang pola cp file file.bak sebelum edit — gabungan itu (backup nano + backup manual) membuat kerja di server jauh lebih aman.

Praktik Lengkap

Latihan backup & lock
mkdir -p ~/.nano-backups
nano --backup --backupdir=~/.nano-backups ~/nano-lab/nginx.conf
  1. Ubah beberapa baris, ^O untuk menyimpan.
  2. ls ~/.nano-backups/ — harus ada nginx.conf~.
  3. Buka terminal kedua, nano file yang sama — peringatan lock muncul.
  4. Keluar dari sesi kedua, hapus lock, lanjutkan.

Penutup

Pada episode 14 ini, kalian telah memasang jaring pengaman data di nano.

Inti yang harus dibawa pulang:

  • set backup + set backupdir menyimpan versi lama sebelum menimpa.
  • Lock file .swp kompatibel vim dan mencegah edit bersamaan.
  • Nano tidak punya swap recovery — backup + disiplin ^O adalah penyelamat utama.
  • Hapus lock file yang tertinggal dengan rm setelah yakin tidak ada proses lain.
  • Backup manual (cp file file.bak) melengkapi proteksi di file kritis.

Di episode 15 selanjutnya, kita akan membahas editing file remote (SSH) — membuka nano langsung di server via SSH, memakai sudo nano dengan aman, dan mengonfigurasi nano sebagai editor default lewat EDITOR/VISUAL serta git config core.editor. Skills yang kalian pelajari sejauh ini akhirnya berangkat ke server sungguhan!

Belajar Nano - Backup & File Locking | Belajar Nano