Hi. apakabar!
Menjalankan system automatis adalah hal yang menyenangkan khususnya ketika anda tidak perlu melakukan apapun, lalu biarkan system yang melakukan nya. dan anda tidak perlu khawatir lagi ketika hosting anda terjadi Error yang menyebalkan atau dihack orang, karena anda punya sistem backup otomatis dan tentunya anda bisa tidur nyenyak.

OK, kali ini kita akan membuat system auto backup hosting Hestia / Vesta Control Panel ke Akun Google Drive. Dalam hal ini Server Hosting yang saya menggunakan Operating System Ubuntu 18.04

Hal yang perlu di persiapkan :

  1. Akun Google Drive
  2. Hestiacp atau Vestacp Sudah terinstall di server
  3. Sedikit nyali…

Jadi untuk tujuan ini, kita akan menggunakan google-drive-ocamlfuse. Ini adalah sistem file FUSE untuk Google Drive, yang ditulis dalam bahasa OCaml. Dengan aplikasi ini memungkinkan Anda memasukan atau mount Google Drive Anda di Linux.

Ritual 1 : 
Langkah pertama tentunya kita perlu install google-drive-ocamlfuse, Dengan program ini, kita akan menghubungkan Google Drive ke server kita dan akan dapat mengelola file langsung dari Linux CLI (Command Line Interface).

Cara Install login SSH ke server via Putty, dan ketikan mantra dibawah ini :

sudo add-apt-repository ppa:alessandro-strada/ppa
sudo apt-get update
sudo apt-get install google-drive-ocamlfuse

Ritual 2 :
Setelah Anda berhasil menginstal google-drive-ocamlfuse di server Anda, langkah selanjutnya adalah memberikan otorisasi kepada aplikasi supaya dapat mengakses Akun Google Drive Anda.

Berikut langkah-langkah yang perlu anda lakukan :

    1. Login ke akun Google Anda
    2. Buka Developer Console Google dengan klik link ini :
      Manage resources – Google API Console
    3. Klik pada link “Create Project”
    4. Berikan Nama Project, Pilih Organization dan Location
    5. Setelah itu cari Google Drive API, pastikan anda memilih project yang baru saja anda buat. lalu klik “enable
    6. Lalu masuk ke menu “Credentials“, kemudian “Create Credentials” dan Pilih “OAuth Client ID
    7. Pilih Application type “Desktop App” dan berikan nama, kemudian klik tombol “Create
    8. Akan muncul pop-up, seperti dibawah ini. CopyClient ID” dan “Client Secret
    9. Langkah selanjutnya adalah memasukan credentials authentication berupa “Client ID” dan “Client Secret” ke google-drive-ocamlfuse, kembali ke SSH Putty / Terminal dengan mengetikan perintah sbb :
      google-drive-ocamlfuse -headless -label me -id IDENTIFIER -secret SECRET
      

      Ganti IDENIFIER dengan Client ID, dan SECRET dengan Client Secret, yang anda dapatkan dari google console.

    10. Selanjutnya, Anda akan mendapatkan tautan untuk mengotorisasi akun Google Anda, salin dan tempel tautan dari jendela konsol Anda ke browser.
      Please, open the following URL in a web browser: https: //accounts.google.com / ...
      
    11. Setelah anda buka, anda di minta untuk memberi hak akses, pilih “Allow“, kemudian anda akan mendapatkan kode, Saln kode dan tempel ke jendela Konsol (Putty), lalu tekan enter
    12. Proses Authentikasi selesai,
    13. Selanjutnya buat folder dan hubungkan dengan Google Drive.
      mkdir /google_dir
      google-drive-ocamlfuse -label me /google_dir
    14. Sekarang akan ada folder baru “google_dir” yang terkait dengan drive Google Anda.

Ritual 3 :
Membuat Proses otomatisasi Transfer file backup ke Google Drive
Pada langkah ini, kita akan membuat otomatisasi transfer arsip cadangan ke Google drive terjadwal menggunakan cron

  1. Pertama, buat folder baru di dalam /google_dir folder bernama backups, folder ini akan digunakan sebagai tempat penyimpanan sementara sampai proses transfer selesai. ketikan perintah dibwah ini kedalam konsol
    sudo mkdir /google_dir/backup/
  2. Lalu, masukkan perintah di bawah ini (pilihan editor teks mungkin muncul, saya menyarankan Anda untuk memilih nano atau vim yang telah Anda instal) :
    crontab -e
  3. Tambahkan baris berikut ke bagian akhir file cron :
    30 1 * * * sudo cp -R -n /backup/*.tar /google_dir/backup/

Sekarang Anda dapat mengkonfigurasi jadwal transfer arsip backup dengan mengubah baris di atas dengan waktu eksekusi cron sesuai kebutuhan Anda. Misalnya dalam skenario saya cron akan berjalan pada jam 1:30 dini hari, berdasarkan waktu server, atas nama administrator, file yang cocok dengan *.tar mask akan disalin ke folder “google_dir/backup/“, file yang sudah ditemukan di folder target akan tidak disalin. Jika Anda memiliki banyak pengguna, dan Anda hanya perlu satu cadangan, maka sebaiknya ubah file mask menjadi admin*.tar.

Sekarang pastikan backup di HestiaCP / VestaCP diaktifkan, karena ini hanya akan menggunakan backup yang telah dibuat oleh sistem HestiaCP / VestaCP dalam folder backup dan akan mentransfernya ke folder Google Drive Anda sesuai jadwal yang anda tetapkan dalam file cron.

Catatan:
Anda juga dapat menjalankan perintah di atas dalam pengaturan cron yang disediakan oleh HestiaCP / VestaCP.

Ritual 4 : Menghapus Arsip Cadangan Lama

Dalam proses ini, Anda dapat mengonfigurasi berapa banyak siklus pencadangan atau berapa hari pencadangan Anda akan disimpan di Google drive dan setelah itu, secara otomatis akan menghapus arsip lama.

  1. Untuk menghapus backup lama, kita akan menggunakan script.
    Buat file baru bernama delete-backup.sh di dalam direktori /etc. dengan mengetikan perintah dibawah ini :

    sudo nano /etc/delete-backup.sh
  2. Buat file tersebut dapat dieksekusi.
    sudo chmod ugo + x /etc/delete-backup.sh
  3. Jadwalkan eksekusi otomatis. Tambahkan kode di bawah ini ke dalam file yang Anda buat.
    10 2 * * * sudo /etc/delete-backup.sh /google_dir/backup/ * tar 7

Perintah di atas akan dijalankan pada pukul 2:10 waktu server, atas nama administrator, file di folder “/google_dir/backup/” yang cocok dengan mask “* tar” akan dihapus meninggalkan 7 yang terbaru tak tersentuh.

Itu saja, langkah-langkah di atas akan mengotomatiskan Backup Anda ke Google Drive.
Jika Anda menghadapi masalah dalam mengikuti langkah-langkah atau butuh bantuan, tinggalkan pertanyaan Anda di komentar di bawah ya.


0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *