Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Cara simpelnya seperti berikut:
- mysqldump -u root -p'PasswordAnda' --all-databases > dbbackup.sql
- Cara Kompleks:
- Jika Anda membutuhkan pencadangan tiap-tiap database dalam satu berkas masing-masing, Anda bisa mencontoh skrip di bawah ini:
- Pertama-tama kita buat dahulu direktori misalnya di /backup, lalu kemudian buat berkas bernama db-backup.sh:
- $ sudo mkdir /backup
- $ sudo touch /usr/bin/db-backup.sh
- $ sudo chmod +x /usr/bin/db-backup.sh
- $ sudo nano /usr/bin/db-backup.sh
- Kemdian, masukan skrip di bawah ini:
- ---------------------------------------------------------------------
- #!/bin/bash
- DB_USER="root"
- DB_PASSWORD="PasswordAnda"
- DB_PATH_BACKUP="/backup"
- /usr/bin/mysql -u $DB_USER --password=$DB_PASSWORD -e 'show databases' | \
- /usr/bin/awk '{print $1}' | \
- /bin/grep -v "Database\|information_schema\|performance_schema" | \
- /usr/bin/xargs -i{} \
- /usr/bin/mysqldump -u $DB_USER --password=$DB_PASSWORD \
- --opt -Q --result-file=$DB_PATH_BACKUP/{}-`date +%F-%I%p`.sql {}
- gzip -q $DB_PATH_BACKUP/*.sql
- ---------------------------------------------------------------------
- Penjelasan Skrip
- Pertama-tama kita mengeset beberapa variabel yang mana nanti digunakan untuk perintah selanjutnya, untuk mempermudah jika kita ingin mengubah tujuan (path) ataupun username dan password dari MySQL/Mariadb.
- /usr/bin/mysql -u $DB_USER --password=$DB_PASSWORD -e 'show databases' menampilkan seluruh isi database dalam MySQL/Mariadb.
- Kemudian diapit oleh pipeline | yang mana digunakan untuk memindahkan output untuk input pada perintah lainnya, dan diapit dengan tanda backslash \ yang berarti untuk meringkaskan skrip agar kita bisa menuliskannya digaris baru.
- Kemudian output dari pipeline diteruskan untuk memanggil awk yang langsung menerjemahkan hasil dari perintah show databases ke bentuk karakter.
- Kemudian diteruskan lagi dengan grep -v yang berarti menampilkan isi kecuali kata-kata Database, information_schema, dan performance_schema. Terakhir kita memanfaatkan xargs untuk menjalankan perintah dari output grep agar mysqldump seakan mengeksekusi banyak perintah. Dan setelahnya, semua berkas dikompres menggununakn gzip.
- Crontab
- Jika kita ingin menggunakan skrip di atas menjadi otomatis dieksekusi pada tiap-tiap waktu. Kita perlu mengaturnya di crontab caranya adalah sebagai berikut:
- $ sudo crontab -e
- Dan masukan seperti berikut:
- Jika Anda menggunakan skrip pertama:
- 30 0 * * * /usr/bin/mysqldump -u root -p'PasswordAnda' --all-databases > dbbackup.sql
- Jika Anda menggunakan skrip kedua:
- 30 0 * * * /usr/bin/db-backup.sh
- Penjelasan Skrip:
- 30 0 * * * berati dilakukan setiap hari pada jam 00:30. Adapun format crontab adalah sebagai berikut:
- 30 0 * * *
- minute hour day month week
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement