Bashscript untuk Backup Data ke Layanan Neo Object Storage

Bashscript untuk Backup Data ke Layanan Neo Object Storage

A. Pendahuluan

Backup data website, email atau data yang lainnya wajib dilakukan untuk menghindari adanya hal-hal yang tidak diinginkan seperti data terhapus, update aplikasi gagal dan lain sebagainya. Sehingga jika Anda memiliki data backupnya, Anda bisa restore ke layanan server/hostingnya. 

 

Anda bisa melakukan backup dengan berbagai fasilitas layanan yang Anda inginkan, salah satunya Anda bisa menggunakan layanan kami yakni Neo Object Storage (NOS). Selain digunakan sebagai Content Delivery Network (CDN), Anda juga bisa menggunakan layanan NOS sebagai backup data-data hosting atau server Anda. 

 

Berikut hal-hal yang perlu dipersiapkan : 

 

B. Instalasi dan Konfigurasi

Backup data ke NOS bisa juga dengan cara manual atau otomatis, adapun cara backup data secara otomatis bisa menggunakan bash script ke layanan NOS seperti pada panduan berikut ini:

 

1. Instal AWS-Cli 

Install aws cli terlebih dahulu pada environment Anda, karena disini saya menggunakan linux bisa mengikuti panduan berikut:

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
Gambar 1. Download aws cli

 

Lalu unzip file tersebut

unzip awscliv2.zip

 

Install aws-cli

sudo ./aws/install
./aws/install -i /usr/local/aws-cli -b /usr/local/bin
Gambar 2. install aws cli

 

 

Untuk mengupdatenya bisa dengan perintah:

sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli –update 

 

Periksa versi aws yang sudah berhasil diinstal dan mengecek aws version:

which aws
aws --version
Gambar 3. Cek Dan Melihit Versi Aws Cli

 

 

Gunakan perintah ls untuk menemukan direktori symlink pada aws-cli.

ls -l /usr/local/bin/aws
Gambar 4. Sysmlink Aws Cli

 

Konfigurasi akun aws cli dengan perintah berikut

aws configure
Gambar 5. Konfigurasi Credential Aws Cli

Note

  • AWS Access Key ID = Access Key layanan NEO Object Storage
  • AWS Secret Access Key = Seckret Key Layanan NEO Object Storage
  • Default region name (misalnya, us-east-1) = isikan idn
  • Default output format (biasanya, bisa kosong atau json) 

 

Kemudian Konfigurasi endpoint url

aws configure set s3.endpoint_url https://nos.wjv-1.neo.id
Gambar 6. Set Konfigurasi Url

 

2. Buat File Script

Setelah menginstall aws-cli, silakan buat file scriptnya.

vi backup-website.sh

 

Sebenarnya banyak contoh script untuk backup data server/hosting ke layanan NOS, berikut salah satu contohnya: 

#!/bin/bash
NOW=$(date +"%Y-%m-%d")
BACKUP_DIR="/home/ubuntu/backup/$NOW"
BACKUP_FILENAME="site-$NOW.zip"
BACKUP_FULL_PATH="$BACKUP_DIR/$BACKUP_FILENAME"

mkdir -p ${BACKUP_DIR}

echo "Compressing Folder"
zip -r ${BACKUP_DIR}/${BACKUP_FILENAME} ${BACKUP_DIR}

echo "Uploading to s3 bucket"
aws s3 cp ${BACKUP_FULL_PATH} s3://biznetgio --endpoint-url https://nos.wjv-1.neo.id

Keterangan: 

  • BACKUP_DIR = direktori yang ingin dibackup 
  • BACKUP_FILENAME = output nama file
  • BACKUP_FULL_PATH = full path direktori dan nama file 
  • Untuk informasi berikut s3://biznetgio disesuaikan nama bucket yang anda miliki (contoh menggunakan bucket biznetgio)
  • Jika Anda menggunakan URL endpoint jkt bisa menggunakan URL berikut ini: https://nos.jkt-1.neo.id

 

Jika sudah sesuai, silakan buat permission execute pada file tersebut. 

chmod +x backup-website.sh

 

Lalu jalankan scriptnya: 

./backup-site.sh

 

Tunggu proses zip dan uploadnya selesai, proses uploadnya tergantung dari jumlah besaran datanya. Jika sudah selesai berikut reportnya: 

Gambar 6. Test Backup

 

3. Pengecekan

Silalkan periksa di layanan NOS Anda. Disini saya menggunakan S3browser untuk askes NOSnya: 

Gambar 7. Validasi Data di Bucket


 

 

Pada gambar diatas terlihat pada backup data dengan nama site-2021-12-29 berhasil diupload ke layanan NOS. 

 

Selanjutnya jika Anda ingin script tersebut dijalankan secara otomatis, Anda dapat setup cron terlebih dahulu. Berikut contoh cron yang saya gunakan untuk menjalankan scipt diatas setiap seminggu sekali di hari minggu tepatnya pada pukul 01:30 AM. 

 

Jalankan perintah: 

crontab -e

 

Masukkan baris perintah berikut: 

30 1 * * 0 /home/ubuntu/backup-s3/backup-s3.sh > /dev/null 2>&1

 

Anda dapat menggunakan crontab apapun namun untuk informasi crontab kurang lebih sebagai berikut

 

C. Kesimpulan

Jadi, keseluruhan crontab ini berarti bahwa pada pukul 01:30 setiap hari Minggu, skrip shell /home/ubuntu/backup-s3/backup-s3.sh akan dijalankan, dan output atau error dari skrip tersebut akan diabaikan (dialirkan ke /dev/null).
 

Dalam artikel ini, Anda telah mempelajari cara membuat dan mengonfigurasi skrip bash yang memungkinkan Anda untuk membuat backup data Anda dan mengunggahnya ke layanan Neo Object Storage menggunakan AWS CLI. Dengan skrip ini, Anda dapat menjalankan tugas backup secara berkala tanpa harus melakukannya secara manual, yang dapat meningkatkan keamanan dan ketersediaan data Anda. Backup data adalah langkah penting dalam menjaga integritas data Anda, dan dengan menggunakan bash script, Anda dapat menjalankan proses ini dengan lebih efisien dan efektif. 

 

Semoga artikel ini dapat membantu Anda. Temukan bantuan lainnya melalui Knowledge Base Biznet Gio. Jika Anda masih memiliki kendala silahkan hubungi support@biznetgio.com atau (021) 5714567. 

    • Related Articles

    • Getting Started - NEO Object Storage

      A. Pendahuluan Neo Object Storage merupakan suatu layanan Cloud Storage yang telah terintegrasi dengan S3 Storage (AWS S3) yang mendukung penyimpanan File atau Data bersifat statis. Pada layanan memiliki pilihan Replikasi Multi Zone yaitu Single ...
    • Menghapus Data Backup pada Layanan GIO Backup

      A. Pendahuluan Dalam tutorial ini, kita akan menjelaskan langkah-langkah yang diperlukan untuk menghapus backup yang sudah tidak diperlukan lagi dari layanan GIO Backup. Proses ini meliputi identifikasi backup yang ingin dihapus, verifikasi keamanan ...
    • Upgrade Layanan NEO Object Storage

      A. Pendahuluan Untuk layanan Neo Block Storage merupakan layanan data volume yang dapat digunakan sebagai storage tambahan pada layanan Neo Virtual Compute maupun Neo Dedicated Hosting. Salah satu kelebihan layanan Neo Object Storage yaitu dapat ...
    • Custom Backup Plan dan Schedule Backup Plan pada Layanan Gio Backup

      A. Pendahuluan GIO Backup merupakan sebuah layanan penyimpanan VM untuk back up semua konten yang terdapat di dalam VM Anda, mulai dari aplikasi, database serta state yang di dalamnya. Berbeda dari fitur snapshot, GIO Backup lebih fleksibel dalam hal ...
    • Cara Backup WHM/cPanel ke NEO Object Storage

      A. Pendahuluan Backup data salah satu hal terpenting dalam sebuah bisnis, dengan adanya backup secara rutin Anda dapat meminimalisir kerusakan, kehilangan data dari hal - hal yang tidak terduga contohnya terdapat kegagalan atau kerusakan di sisi ...