beberapa waktu lalu pindahan hosting blog ini.
dari yang tadinya full access jadi only ftp access.
file yang dibackup dari hosting sebelumnya, dan juga database script mysql yang di-dump itu besar besar.
jadi ketika mau diupload ulang di tempat baru, sangat-sangat pain in the ass. karena saking banyak dan besarnya, pakai ftp itu sangat tidak nyaman.
lalu juga restore database pakai client local dengan data yang banyak, bikin clientnya hang.
beruntunglah nemu trik ini. (sialnya ga nyimpen original infonya, dicari lagi ga ketemu)
yaitu buat file php dengan baris perintah shell_exec
.
jadi jika kita punya file yang banyak dan besar mau diupload. zip dulu lengkap kesemua file dan foldernya.
upload file yang sudah dizip tersebut ke lokasi tempat dia nanti akan diextract.
buat file php, misal ‘buka.php
‘
<?php
$command = "unzip namafile.zip";
$output = shell_exec($command);
//kalau mau di-echo juga bisa
// echo $output;
?>
lalu upload juga file .php ini ke server di lokasi yang sama dengan file zip tadi.
lalu buka alamat webserver tadi, dengan memanggil nama file phpnya
https://urlserver/buka.php
kalau tidak ada error, akan blank page aja, ataupun kalau di-echo $outputnya, maka akan menampilkan baris baris file yang di-extract.
begitu juga dengan file script sql hasil dump mysql.
syaratnya harus tahu username, password serta nama database di mysql servernya.
upload file dump sql tersebut ke server
lalu buat file php. misal ‘restoredb.php
‘
<?php
$command = "mysql --user='namausermysql' --password='passwordnya' namadatabase < filedump.sql";
$output = shell_exec($command);
//kalau mau di-echo juga bisa// echo $output;
?>
upload file tersebut di lokasi yang sama dengan file dump sql
lalu buka alamat webserver tadi, dengan memanggil nama file phpnya
https://urlserver/restoredb.php
jika sukses akan menampilkan blank page, atau jika di-echo akan tampil baris hasil perintah mysql tersebut.
nah untuk validasi apakah table dari dump file tadi terbuat, memang harus dicheck lagi dengan database client. atau jika website yang direstore sudah diconfig sesuai dengan user, password serta database yang baru, harusnya website/blognya langsung terbuka.