Cara backup website dan database mysql dengan PHP exec() akan kita bahas pada kesempatan kali ini. Fungsi PHP exec() pada sebagian besar shared hosting akan dinonaktifkan karena alasan keamaan, namun apabila Anda menggunakan VPS atau dedicated server, Anda bisa menggunakan perintah exec() untuk membackup website dan database mysql Anda.

Backup file sangat penting untuk dilakukan setidaknya seminggu sekali untuk menghindari hilangnya data apabila terjadi hal-hal yang tidak diinginkan suatu saat nanti.

backup website

Ilustrasi backup website (Image: dsutech.co.uk)

Sebelum memulai ada baiknya menggunakan kode dibawah ini untuk mengecek apakah fungsi exec diaktifkan atau tidak, apabila gagal maka Anda harus meminta izin pada administrator server tersebut untuk mengaktif fungsig exec() tersebut.

if(function_exists('exec')) {
	echo "fungsi exec sudah aktif";
}

Cara backup folder website dengan PHP exec()

Dengan fungsi exec() kita bisa membackup folder website dengan script seperti berikut ini, silahkan sesuaikan folder yang ingin dibackup sesuai dengan struktur folder di server Anda.

$folder_to_backup = "/path/to/folder"; // disesuaikan dengan server Anda
$backup_folder = "/path/to/backup/folder"; // disesuaikan dengan server Anda
exec("tar -cvf $backup_folder/backupfile.gz $folder_to_backup/* --exclude='$folder_to_backup/*.gz'", $results, $result_value);
if ($result_value == 0){
    echo "File arsip sudah berhasil dibuat";
} else {
    echo "Gagal membuat file arsip";
}

Cara backup database mysql dengan php exec()

Untuk membackup database MySql, silahkan Anda copy & paste kode dibawah ini kedalam sebuah file bernama mybackup.php, taruh di server Anda lalu jalankan file tersebut di browser.

$mysql_host = "localhost";
$mysql_user = "username";
$mysql_pass = "password";
$mysql_database = "my_database";
$backup_folder = "/path/to/backup/folder";

exec("mysqldump -h $mysql_host -u $mysql_user -p$mysql_pass $mysql_database  > $backup_folder/my-sql-backup.sql", $results, $result_value);
if ($result_value == 0){
    echo "Backup MySql berhasil dibuat";
} else {
    echo "Gagal membackup MySql";
}

Sekian tips singkat cara membackup website dan database mysql dengan php exec, semoga bisa menambah wawasan Anda dan memudahkan pekerjaan Anda.