Sinkronisasi Otomatis Direktori ke Wasabi Menggunakan AWS CLI

  1. Umum
  2. 4 bulan yang lalu
  3. 3 min read

Pendahuluan

Backup dan sinkronisasi file secara otomatis ke layanan cloud adalah salah satu cara terbaik untuk memastikan data Anda aman dan dapat diakses kapan saja. Dalam artikel ini, kami akan membahas cara menggunakan AWS CLI untuk sinkronisasi direktori lokal ke bucket Wasabi, penyedia layanan penyimpanan yang kompatibel dengan S3. Kami akan memandu Anda melalui proses konfigurasi AWS CLI, penyiapan skrip sinkronisasi, dan pengaturan cron job untuk menjalankan sinkronisasi otomatis.

Langkah-langkah

1. Instalasi dan Konfigurasi AWS CLI

Untuk memulai, Anda perlu menginstal AWS CLI di server Anda dan mengkonfigurasinya dengan kredensial Wasabi Anda.

Instal AWS CLI:

sudo apt-get install awscli # Untuk Ubuntu/Debian
sudo yum install awscli # Untuk CentOS/RHEL

Konfigurasi AWS CLI:

Jalankan perintah berikut untuk mengonfigurasi AWS CLI dengan kredensial Wasabi Anda:

aws configure

Masukkan Access Key ID, Secret Access Key, region default (misalnya us-east-1), dan format output default (misalnya json).

2. Sinkronisasi Direktori dengan Wasabi

Gunakan perintah AWS CLI berikut untuk menyinkronkan direktori lokal ke bucket Wasabi:

aws s3 sync /home/headbanger.id/public_html/upload s3://hbid/upload –endpoint-url=https://s3.ap-southeast-1.wasabisys.com

Penjelasan Perintah
  • aws s3 sync: Perintah untuk menyinkronkan konten antara dua lokasi.
  • /home/headbanger.id/public_html/upload: Direktori lokal yang ingin Anda sinkronkan.
  • s3://hbid/upload: Lokasi bucket Wasabi di mana file akan disinkronkan.
  • --endpoint-url=https://s3.ap-southeast-1.wasabisys.com: Menentukan endpoint URL untuk Wasabi.
  • Tambahkan --acl public-read: Menetapkan izin akses kontrol daftar (ACL) sehingga file yang diunggah dapat dibaca oleh publik.

Jadi begini jika file di wasabi ingin terlihat untuk publik :

aws s3 sync /home/headbanger.id/public_html/upload s3://hbid/upload –endpoint-url=https://s3.ap-southeast-1.wasabisys.com

3. Buat Skrip Sinkronisasi

cd /usr/local/bin/
nano sync_to_wasabi.sh

Untuk otomatisasi, buat skrip bash yang menjalankan perintah sinkronisasi. Simpan skrip ini dengan nama sync_to_wasabi.sh.

#!/bin/bash

# Direktori lokal yang akan disinkronkan
LOCAL_DIR=”/home”

# Bucket dan direktori tujuan di Wasabi
S3_BUCKET=”s3://herijaya/backup/sc”

# Endpoint Wasabi
ENDPOINT_URL=”https://s3.ap-southeast-1.wasabisys.com”

# Sinkronisasi direktori lokal dengan bucket Wasabi
aws s3 sync $LOCAL_DIR $S3_BUCKET –endpoint-url=$ENDPOINT_URL

echo “Sinkronisasi selesai.”

4. Berikan Izin Eksekusi pada Skrip

chmod +x /usr/local/bin/sync_to_wasabi.sh

5. Jalankan Skrip Secara Manual

Untuk menguji skrip, jalankan secara manual:

/usr/local/bin/sync_to_wasabi.sh

6. Tambahkan ke Cron Job

Untuk menjalankan sinkronisasi secara otomatis pada interval waktu tertentu, tambahkan skrip ini ke cron job. Misalnya, untuk menjalankan sinkronisasi setiap hari pada pukul 23:00:

crontab -e

Tambahkan baris berikut di akhir file crontab:

>
0 23 * * * /usr/local/bin/sync_to_wasabi.sh
### Kesimpulan

Dengan mengikuti langkah-langkah ini, Anda dapat menyinkronkan direktori lokal Anda ke Wasabi secara otomatis menggunakan AWS CLI. Sinkronisasi rutin memastikan bahwa data Anda selalu up-to-date dan aman di cloud. Dengan menambahkan skrip ke cron job, Anda dapat mengotomatiskan proses ini, sehingga tidak perlu khawatir tentang kehilangan data atau pembaruan manual. Backup dan sinkronisasi yang teratur adalah bagian penting dari strategi manajemen data yang efektif.

Artikel lain : Backup Otomatis Database MySQL ke AWS S3 Wasabi

Jika terjadi eror :

Unknown options: –endpoint-url=”https://s3.ap-southeast-1.wasabisys.com”
“Sinkronisasi selesai.”

Lakukan pembenaran :

sed -i ‘s/\r//’ /usr/local/bin/sync_to_wasabi.sh

Jika ingin di backup seminggu sekali :

45 23 * * 6 /usr/local/bin/sync_to_wasabi.sh

umum
Share: