Auto Archive Email / Data Pada Linux

Lama tidak posting dalam blog ini karena kesibukan di dunia nyata, ciyeee dunia nyata kayak politikus aja, btw kali ini saya akan berbagi tentang bagaimana meng archive kan email / data yang mana bertujuan untuk membackup sekaligus mengontrol disk usage server / komputer kita
Masalah ini sering kita alami apabila ikin mengarchive kan email yang sudah diatas 1th ke drive backup kita

langsung saja ke TKP, disini kita pakai ubuntu, meskipun ini bisa di combine dengan windows juga, tool yang kita pakai kali ini hanya mengkombinasi rsync dan find command

  1. Pastikan komputer kita bisa login ssh komputer destination (192.168.2.4) tanpa password
    • generate ssh-keygen agar komputer kita bisa login ssh komputer destination tanpa password
      • $ ssh-keygen -t rsa
    • copy ssh id yang telah di buat ke komputer yang akan di remote
      • $ ssh-copy-id ~/.ssh/id_rsa.pub user@host
      • contoh : $ ssh-copy-id ~/.ssh/id_rsa.pub root@192.168.2.4
    • test apakah kita bisa login ssh tanpa password
      •  $ ssh user@host 
      • contoh : ssh root@192.168.2.4
    • Kalau ok lanjut kalau keluar error hapus dulu rsa host di komputer
      • $ ssh-keygen -f "~/.ssh/known_host" -R ip_client
      • contoh : $ ssh-keygen -f "~/.ssh/known_host" -R 192.168.2.4
  2. Kita cari file yang berumur diatas 1th (360 hr), untuk perintah find secara detail bisa di lihat di sini, buka command
    • masuk ke folder yang akan di cari filenya
      • $ cd /var/vmail/domain.com
    • cari file yang berumur diatas 360 hari, sesuaikan dg kebutuhan masing-masing
      • $ find -mtime +360 > /var/vmail/mail-archive-360d
  3. Tahap penentuan yaitu rsync data dari source ke destination, untuk detail rsync bisa dilihat di sini
    • Install dulu rsync di komputer source dan destination
      • $ sudo apt-get install rsync
    •  Lakukan rsync data dari source ke destination dan hapus file di source yang sudah di pindah ke destination
      • $ rsync -avz -e ssh --files-from=nama_file_hasil_find --remove-source-files source destination
      • contoh :rsync -avz -e ssh --files-from= /var/vmail/mail-archive-360d --remove-source-files root@192.168.2.4/var/vmail/domain.com /media/data/email-backup
  4. Jika semua step diatas sudah berhasil maka sekarang tahap terakhir yaitu bagaimana agar step ke 2 dan ke 3 bisa berjalan otomatis 
    • bikin file #! /bin/bash, bisa menggunakan editor favorite (nano, vim, text editor, dll), simpan menjadi email-crontab.sh, 
      • #! /bin/bash
      • cd /var/vmail/domain.com
      • find -mtime +360 > /var/vmail/mail-archive-360d
      • rsync -avz -e ssh --files-from= /var/vmail/mail-archive-360d --remove-source-files root@192.168.2.4/var/vmail/domain.com /media/data/email-backup
    • install cron, jika sudah terinstall bisa lewati step ini
      • $ sudo apt-get install cron
    • edit crontab untuk memasukkan schedule
      • $ sudo crontab -e
    • Masukkan perintah di file crontab agar komputer mengeksekusi file email-crontab.sh sesuai schedule yang di tentukan, untuk cara penggunaan cron secara detail bisa lihat di sini
      • * 1 * * * /var/vmail/email-crontab.sh --> ini akan mengeksekusi file email-crontab.sh setiap jam 1.00
Berikut adalah tutorial sederhana agar kita bisa mengarshive kan data webmail (email) sehingga dapat mengontrol storage mail server kita karena hanya data 1 th terakhir saja saja yang di simpan di maill server diatas 1 th (360 hari) akan di archive kan secara otomatis, tutorial ini bisa di kembangkan lebih detail lagi misalnya menambah count din /bin/bash nya, mengcombine dengan program rsync yang sudah ada secara GUI seperti lucky backup, dll, serta dapat diterapkan untuk kebutuhan archive data apapun sesuai kebutuhan, silahkan bereksperimen
Untuk tutorial selanjutnya akan di bagas bagaimana agar ini bisa berjalan di 2 platform yang berbeda misalnya windows bisa mengarchive dari linux atau sebaliknya, di tunggu saja
lintasberita

Artikel Lain yang Terkait



0 komentar:

Posting Komentar

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Blognya Zein | Bloggerized by Kuswanto el-zein - facebook : kuswanto.zein - twitter : kuswanto_zein