Berikut adalah contoh bash script untuk melakukan backup database MySQL:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
#!/bin/bash # Konfigurasi database DB_USER="nama_user" DB_PASS="password" DB_NAME="nama_database" # Konfigurasi direktori backup BACKUP_DIR="/path/ke/direktori/backup" # Nama file backup FILE_NAME="backup-$(date +'%Y%m%d%H%M%S').sql" # Path lengkap file backup BACKUP_FILE="$BACKUP_DIR/$FILE_NAME" # Membuat direktori backup jika belum ada if [ ! -d "$BACKUP_DIR" ]; then mkdir -p $BACKUP_DIR fi # Melakukan backup database mysqldump -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_FILE # Mengonfirmasi bahwa backup berhasil if [ $? -eq 0 ]; then echo "Backup berhasil disimpan di $BACKUP_FILE" else echo "Backup gagal!" fi |
Untuk menggunakan script ini, pastikan untuk mengganti nilai variabel DB_USER
, DB_PASS
, DB_NAME
, dan BACKUP_DIR
sesuai dengan konfigurasi database dan direktori backup Anda. Kemudian, jalankan script tersebut di terminal dengan perintah bash nama_file.sh
.
Script ini akan membuat file backup dengan nama backup-tanggal-waktu.sql
di direktori backup yang telah dikonfigurasi, dan mengonfirmasi apakah backup berhasil atau gagal. Anda dapat menjadwalkan script ini untuk berjalan secara otomatis dengan cron job untuk melakukan backup database secara teratur.
Untuk menjalankan script tersebut misalnya setiap pukul 1 malam, Anda dapat menggunakan cron job. Berikut adalah langkah-langkahnya:
- Buka terminal dan jalankan perintah
crontab -e
untuk mengedit crontab. - Tambahkan baris berikut di bagian paling bawah crontab:
1 2 |
0 1 * * * /bin/bash /path/ke/file/nama_file.sh |
- Penjelasan:
- Angka pertama (
0
) adalah menit. Kita ingin menjalankan script setiap pukul 1 malam, sehingga kita gunakan nilai0
. - Angka kedua (
1
) adalah jam. Kita ingin menjalankan script pada jam 1 malam, sehingga kita gunakan nilai1
. - Asterisk (
*
) untuk hari dalam sebulan, bulan, dan hari dalam seminggu yang tidak spesifik. /bin/bash
menunjukkan shell yang digunakan untuk menjalankan script. Anda dapat mengganti dengan shell yang Anda gunakan./path/ke/file/nama_file.sh
adalah path lengkap menuju file script yang akan dieksekusi.
- Angka pertama (
- Simpan perubahan dan keluar dari editor crontab.
- Sekarang, script akan dieksekusi setiap pukul 1 malam. Jika backup berhasil, Anda akan menerima email notifikasi dari cron daemon. Pastikan konfigurasi email sudah diatur dengan benar pada sistem Anda.
Harap dicatat bahwa waktu yang digunakan oleh cron job adalah waktu server, bukan waktu lokal Anda. Pastikan server Anda memiliki waktu yang benar dan sesuaikan zona waktu jika diperlukan.