Membuat backup file dan database terjadwal otomatis pada Linux

  • Bagikan

Cadangan data merupakan hal yang paling penting setelah sukses menginstall web server dan menghosting website dalam VPS. Bayangkan saja, apabila server anda down dan situs tersebut sangatlah vital bagaimana anda memulihkannya? Misal cuma masalah sementara sih mungkin bisa ditoleransi. Tapi kalau sampai musibah besar seperti rusaknya HDD/SSD dari node VPS anda atau malah providernya yang kabur entah kemana jelas bikin frustasi. Karena itu wajib hukumnya kita membuat backup rutin sebagai jaga – jaga.

Jadi… tutorial saya kali ini adalah cara saya mempersiapkan diri disaat ada musibah dan sudah beberapa kali menyelamatkan saya. Jarang memang tapi kalau pas butuh rasanya sangat tertolong. Tinggal cari provider VPS baru dan restore semuanya, atau untuk sementara bisa ke Digital Ocean dulu.

Langsung saja ya, silahkan buat file script shell:

nano backup.sh

Kemudian isikan kode dibawah:

mysqldump -u nama_user -pkata_sandi nama_database > /home/backup/asli/nama_database-`tanggal '+%y%m%d_%H%M%S'`.sql
tar -czvf /home/backup/asli/descreated.com-`tanggal '+%y%m%d_%H%M%S'`.tar.gz //usr/local/lsws/descreated.com
tar -czvf /home/backup/siap/descreated.com-`tanggal '+%y%m%d_%H%M%S'`.tar.gz /home/backup/asli
rm -rf /home/backups/asli/*

Ini akan membuat backup database MySQL dan file – file dalam direktori website anda, kemudian akan dikompresikan menjadi satu arsip Gunzip. Nanti pada nama filenya akan bisa dengan mudah diidentifikasikan kapan dibuatnya.

Jangan lupa:

  1. nama_user adalah username dari MySQL.
  2. kata_sandi gantikan dengan password user yang anda gunakan.
  3. nama_database isikan dengan apa nama database yang ingin dibackup. Atau anda bisa menggantikan parameternya dengan --all-databases agar seluruh database yang ada akan dibackup tapi membutuhkan root.
  4. Sedangkan /usr/local/lsws/descreated.com merupakan direktori virtual host di OpenLiteSpeed, cuma untuk ilustrasi saja. Harap anda gantikan dengan lokasi yang sesuai pada VPS anda.
Baca Juga:  How to Install and Use PHP Composer on CentOS 7

Tahap selanjutnya adalah menjadwalkan agar script diatas dieksekusi secara terjadwal memanfaatkan cron:

nano /etc/cron.d/auto_backup

Isikan kode berikut didalamnya:

0 0 * * *  bash /root/backup.sh

Saya buat agar backup dijalankan satu hari sekali pas bergantinya hari. Oh ya, lokasi scriptnya mungkin perlu anda sesuaikan. Selesai! ?

Anda tinggal mengambil backup setiap harinya pada folder /home/backup/siap/ dan disimpan pada server lain atau ke komputer. Terserah anda, yang penting aman.

Langkah selanjutnya agar lebih otomatis mungkin bisa otomatis upload ke DropBox atau sinkronisasi otomatis menggunakan rsync. Jadi kita lebih mudah lagi mencadangkan data – datanya.

Semoga bermanfaat. ?

  • Bagikan