Living life and Make it Better

life, learn, contribute

Endy Muhardin

Software Developer berdomisili di Jabodetabek, berkutat di lingkungan open source, terutama Java dan Linux.

Subversion backup dan restore

Setelah repository terpasang dan telah terisi struktur folder awal, hal pertama yang wajib dilakukan adalah memasang perangkat backup otomatis. Berikut adalah checklistnya :

  1. Buat folder khusus backup (misalnya /home/endy/backup-svn)

  2. Download script backup dari buku Pragmatic Version Control Using Subversion. Ada dua script yang didapat di sini, weekly-backup.pl dan daily-backup.pl Kedua script butuh instalasi Perl untuk dapat dijalankan.

  3. Letakkan script di folder backup

  4. Sesuaikan permission :

 $ chmod 755 *.pl 
  1. Test eksekusi script
$ ./weekly-backup.pl
$ ./daily-backup.pl 

Seharusnya akan ada dua file : weekly-full-backup.yyyyMMdd.gz dan daily-incremental-backup.yyyyMMdd.gz

  1. Otomasi dengan cron
# Repository Weekly Backup
0 6 * * 1       /home/endy/backup-svn/weekly-backup.pl
# Dijalankan setiap Senin jam 6 pagi.

# Repository Daily Backup
0 23 * * *      /home/endy/backup-svn/daily-backup.pl
# Dijalankan setiap hari jam 23 malam
  1. Setiap Senin pagi, tulis semua file dari Senin minggu lalu sampai Minggu malam ke dalam CD. Simpan CD di lokasi yang berbeda (gedung lain, kota lain, negara lain, planet lain bila perlu).

Bila semua ini dijalankan, cuma butuh 10 menit, sudah termasuk membaca artikel ini. Jangan sia-siakan hidup Anda hanya karena malas investasi 10 menit.

Apabila terjadi bencana, dan repository rusak, kita tinggal ambil CD terbaru, dan dump dengan cara :

  1. Install ulang Subversion
  2. Buat repository
  3. Unzip dump file

    $ gunzip *.gz

  4. Load ke repository baru
$ svnadmin load newrepos < weekly-full-backup.yyyyMMdd
$ svnadmin load newrepos < daily-incremental-backup.yyyyMMdd

Dimulai dari tanggal paling lama, sampai tanggal terbaru.