Tools CLI open-source yang dapat anda digunakan untuk melakukan backup otomatis pada database dan file penting lainya. dengan integrasi cloud storage seperti Amazon S3, FTP, dan Google Drive serta dapat di integrasikan dengan notifikasi seperti slack, discord, mattermost, email dan lainya.
Table of Contents
Kenapa Menggunakan GoBackup?
- Multi-Database Support: Mendukung PostgreSQL, MySQL, Redis, MongoDB, dan lainnya.
- Notifikasi: Mendukung integrasi notifikasi seperti slack, discord, email, mattermost chat dan lainnya.
- Enkripsi dan Kompresi: Menjaga keamanan dan efisiensi penyimpanan backup.
- Automasi Mudah: Bisa dijadwalkan menggunakan cron job.
- Dukungan Cloud Storage: Backup ke S3, FTP, SCP, dan berbagai penyimpanan lainnya.
Instalasi Tools Gobackup
Ikuti panduan berikut ini untuk instalasi Gobackup pada Sistem Operasi Linux dan MacOS.
Instalasi Gobackup di Linux menggunakan curl
Jalankan perintah berikut untuk install gobackup di Linux.
curl -sSL https://gobackup.github.io/install | sh
Instalasi GoBackup di MacOS menggunakan Homebrew
Sebelum instalasi gobackup, pastikan anda sudah menginstall Homebrew package manager.
Jalankan perintah berikut ini untuk instalasi gobackup di MacOS.
brew install gobackup
Setelah berhasil di install, lokasi binari gobackup berada di /usr/local/bin/gobackup, dan anda dapat menjalan perintah gobackup
.
Verifikasi versi dengan menjalankan perintah berikut:
gobackup -v
Konfigurasi GoBackup
Buat file konfigurasi nano ~/.gobackup/gobackup.yml dengan format yml.
Gobackup database postgreSQL
Berikut adalah contoh konfigurasi backup database PostgreSQL yang terintegrasi dengan DigitalOcean Space dan mengirim notifikasi backup ke Slack chat.
Gobackup menggunakan tools utility pg_dump untuk melakukan dump database dengan format .sql
Jika belum ada PostgreSQL client, and perlu install terlebih dahulu menggunakan perintah berikut.
sudo apt update && sudo apt install postgresql-client -y
Kemudian edit konfigurasi mengikuti contoh berikut:
models:
database_model:
databases:
MyPostgreSQL:
type: postgresql
host: 127.0.0.1
port: 5432
database: MyDatabase
username: MyUserName
password: MyPassword
args: --no-owner --no-acl --no-privileges # Extra argumen
compress_with:
type: tgz
notifiers:
slack:
type: slack
url: https://slack_webhook.com
on_success: true
on_failure: true
storages:
cloud_s3:
type: spaces
keep: 7
bucket: MyBucket
region: REGION_DO_SPACES
path: database-backup/
access_key_id: YOUR_ACCESS_KEY_IDC
secret_access_key: YOUR_SECRET_ACCESS_KEY
Paramater konfigurasi backup database PostgreSQL:
host
– HOST/IP Address Database.port
– Port Database PostgreSQL.database
– Nama Database.username
– Username Database.password
– Katasandi Database.args
– Tambahan argumen sesuai yang diinginkan.
Konfigurasi Gobackup Multiple Database
Berikut adalah contoh konfigurasi backup multiple database PostgreSQL, Mysql, Redis, MongoDB.
sudo apt update && sudo apt install postgresql-client mysql-client -y
Kemudian isi dengan konten dibawah ini.
models:
database_model:
databases:
postgresql_database:
type: postgresql
host: 127.0.0.1
port: 5432
database: my_production_database
username: MyUserName
password: MyPassword
args: --no-owner --no-acl --no-privileges # Extra argumen
mysql_database:
type: mysql
host: 127.0.0.1
port: 3306
database: my_production_database
username: root
password: root
args: --single-transaction --quick
mongodb_database:
type: mongodb
host: 127.0.0.1
port: 27017
database: my_production_database
username: root
password: root
oplog: true
exclude_tables:
- my_collection_1
- my_collection_2
args: --gzip --dumpDbUsersAndRoles
redis_database:
type: redis
mode: sync
rdb_path: /var/db/redis/dump.rdb
invoke_save: true
password: My_Passwords
args: --tls --cacert redis_ca.pem
compress_with:
type: tgz
notifiers:
slack:
type: slack
url: https://slack_webhook.com
on_success: true
on_failure: true
storages:
cloud_s3:
type: spaces
keep: 7
bucket: MyBucket
region: sgp1
path: database-backup/
access_key_id: YOUR_ACCESS_KEY_IDC
secret_access_key: YOUR_SECRET_ACCESS_KEY
Menjalankan gobackup secara manual.
gobackup perform
Output Log:

Contoh hasil backup adalah 2025.03.15.21.25.09.tar.gz
dengan format tahun.bulan.tanggal.menit.detik.tar.gz
Automasi Gobackup dengan Cronjob
Buat cronjob scheduler, agar proses backup berjalan secara otomatis dan sesuaikan waktu backup yang anda inginkan.
crontab -e
Tambahkan baris berikut untuk menjalankan backup setiap hari pukul 1 pagi:
0 1 * * * /usr/local/bin/gobackup perform >> /var/log/gobackup.log 2>&1
Kesimpulan:
GoBackup adalah solusi praktis untuk backup database dan file penting anda secara otomatis. Dengan dukungan berbagai jenis database, cloud storage dan notifier.
Referensi: