Apa yang bisa kami bantu?

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. 

Persiapan

  • Linux Server
  • NEO Object Storage

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 clil

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 informasik 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

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

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).
Sekian dan terima kasih. 

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 membantuAnda. Temukan bantuan lainnya melalui  Knowledge Base Biznet Gio. Jika Anda masih memiliki kendala silahkan hubungi support@biznetgio.com.