![]() |
|
Automasi Backup PostgreSQL, MySQL, dan Redis dengan GoBackup
GoBackup adalah Tools CLI open-source yang 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.
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 GoBackup di Linux
curl -sSL https://gobackup.github.io/install | sh
Instalasi GoBackup di MacOS menggunakan Homebrew
brew install gobackup
Setelah berhasil di install, lokasi binari gobackup berada di /usr/local/bin/gobackup
, dan anda dapat menjalan perintah gobackup
.
Verifikasi versi gobackup dengan menjalankan perintah berikut:
gobackup -v
Konfigurasi GoBackup
Buat file konfigurasi nano ~/.gobackup/gobackup.yml
dengan format <>yml
Backup Database PostgreSQL
Berikut adalah contoh konfigurasi backup database PostgreSQL menggunakan Gobackup yang terintegrasi dengan DigitalOcean Space dan mengirim notifikasi backup ke Slack.
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
Parameter Konfigurasi Backup 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.
Backup Multiple Database
Berikut adalah contoh konfigurasi backup multiple database PostgreSQL, Mysql, Redis, MongoDB.
sudo apt update && sudo apt install postgresql-client mysql-client -y
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 Backup 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 Backup dengan Cron Job
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.