Langsung ke isi
PT Nusagates Global Persada

PT Nusagates Global Persada

Software Developer Company

  • Home
  • Layanan
    • Jasa Pembuatan Website Lifetime Support
    • Jasa Konsultan IT & Sistem Integrator
  • Blog
  • About
  • Syarat & Ketentuan
  • Kebijakan
  • FAQ
tutorial laravel

Cara Backup Database Laravel ke Google Drive

Juli 17, 2023 oleh Ahmad Budairi

Database adalah jantungnya suatu aplikasi secara umum. Oleh sebab itu, backup database adalah sesuatu yang penting untuk mengantisipasi jika terjadi kerusakan server yang menyebabkan database hilang atau corrupt.

Daftar Isi

Toggle
  • Mengaktifkan API Google Drive
  • Membuat Service Account
  • Tambahkan Client Email Ke Google Drive
  • Tambahkan File Json Key ke Aplikasi Laravel
  • Membuat Command untuk Backup Database
  • Restore Database

Nah! Salah satu cara untuk backup database laravel adalah menggunakan Google Drive. Selain kita bisa memanfaatkan layanan Google Drive secara gratis, keamanan data juga sangat terjamin daripada kita menyiapkan arsitektur untuk backup data sendiri.

Mengaktifkan API Google Drive

Sebelum bisa menggunakan API Google Drive, kita perlu mengaktifkan API Google Drive terlebih dahulu. Caranya adalah sebagai berikut:

  • Masuk ke dashboard https://console.cloud.google.com/
  • Klik menu ENABLE API AND SERVICE
  • Cari Google Drive API
  • Klik Aktifkan
Tampilan ketika Google Drive API sudah diaktifkan

Membuat Service Account

Pada kesempatan kali ini, kita menggunakan Service Account untuk mengelola Google Drive yang akan digunakan untuk backup database Laravel. Langkahnya adalah sebagai berikut:

  • Klik burger menu di pojok kiri atas
  • Sorot menu APIs and Service, Pilih Credentials
  • klik menu + CREATE CREDENTIAL lalu pilih Service Account Buat service account
  • Isikan data pada form yang telah disediakan. Klik tombol done
  • Klik service account yang baru saja dibuat
  • Klik Tab KEYS
  • Klik menu ADD KEY dan Pilih Json lalu klik tombol Create

Tambahkan Client Email Ke Google Drive

Setelah json key berhasil dibuat maka selanjutnya buka file tersebut dan ambil client_email untuk ditambahkan ke Google Drive. Caranya sebagai berikut:

  • Buat folder di google Drive
  • Klik kanan folder tersebut lalu klik menu Share/Bagikan
  • Paste client_email yang didapat dari json key tadi dan ubah role menjadi editor
  • Klik tombol done

Tambahkan File Json Key ke Aplikasi Laravel

  • Buat folder dengan nama google di dalam directory storage/app. lalu tambahkan file json key tadi ke dalam folder tersebut.
  • ganti nama file menjadi service.json

Membuat Command untuk Backup Database

Command di dalam Laravel bisa dibuat menggunakan perintah php artisan make:command NamaCommand. Pada kesempatan kali ini, kita akan membuat Command dengan nama DataBackup maka kita perlu menjalankan perintah berikut:

php artisan make:command Databackup

Setelah itu buka file Databackup.php yang terletak pada direktory App\Console\Commands.

Ganti bagian $signature menjadi protected $signature = 'data:backup';

Tambahkan block kode berikut pada fungsi handle:

$filename = "backup-" . Carbon::now()->format('Y-m-d') . ".sql";
        // Create backup folder and set permission if not exist.
        $storageAt = storage_path() . "/app/backup/";
        if (!File::exists($storageAt)) {
            File::makeDirectory($storageAt, 0755, true, true);
        }
        //create backup file
        $command = "" . env('DB_DUMP_PATH', 'mysqldump') . " --user=" . env('DB_USERNAME') . " --password=" . env('DB_PASSWORD') . " --host=" . env('DB_HOST') . " " . env('DB_DATABASE') . "  | gzip > " . $storageAt . 'db.sql';
        $returnVar = NULL;
        $output = NULL;
        exec($command, $output, $returnVar);

        //get json key from storage
        $sa = Storage::path('/google/service.json');
        //create service using json key
        $client = new Client();
        $client->setAuthConfig($sa);
        $client->addScope(Drive::DRIVE);
        $service = new Google_Service_Drive($client);
        //create file inside folder we created before
        $file = new Google_Service_Drive_DriveFile([
            'name'    => 'Backup',
            'parents' => array('ID_FOLDER')
        ]);
        $file->setName($filename);
        $result = $service->files->create($file, array(
            'data'       => Storage::get('/backup/db.sql'),
            'mimeType'   => 'application/octet-stream',
            'uploadType' => 'multipart'
        ));
        $this->info($result->name . ' berhasil dibackup');

Ganti ID_FOLDER sesuai Id Folder Google Drive. Cara mendapatkannya cukup dengan klik folder di google drive yang baru saja dibuat tadi lalu lihat di address bar browser. Segmen terakhir url tersebut adalah ID folder. Contoh ID adalah seperti ini: 1NWawGvWsiTBKnou4xnV5bByFNT6SpENn

Restore Database

Cara restore database yang telah dibackup tadi adalah dengan menjalankan perintah berikut di terminal atau command prompt.

zcat /path/file/backup-2023-07-17.sql | mysql -udb_user -p db_name
  • Ganti /path/file/backup-2023-07-17.sql dengan path file database
  • Ganti db_user dengan username database
  • ganti db_name dengan nama database
Reference
Budairi, Ahmad. (2023). Cara Backup Database Laravel ke Google Drive. PT Nusagates Global Persada. https://nusagates.com/artikel/cara-backup-database-laravel-ke-google-drive/ (Accessed on Maret 8, 2026 at 11:36)

Ingin punya website yang stabil dan bisa jadi aset jangka panjang? Konsultasikan kebutuhan bisnismu sekarang lewat WhatsApp. Kami siap bantu dari awal sampai jadi!

Ngobrol Sekarang

Kategori Artikel Tag backup, database, laravel, service account
Cara Membuat Grade Nilai Huruf di JavaScript
Membuat Halaman Login Menggunakan Vuetify & Inertia JS
Photo of author

Ahmad Budairi

Ahmad Budairi, S.Pd. | Seorang Web Developer sekaligus kader Gerakan Pemuda Ansor yang sangat suka menulis artikel. Saya di sini akan lebih banyak menulis seputar Laravel, vue, vuetify, inertiajs, dan hal lain yang berhubungan dengan web development.Kontak: budairi.contact[et]gmail[dot]com

most recent

More
working macbook computer keyboard
Artikel

5 Ciri Website yang Bisa Meningkatkan Penjualan

jualan lewat sosial media atau website
Artikel

Kenapa Jualan Lewat Website Lebih Stabil dari Sosial Media?

website gratis vs profesional
Artikel

Begini Perbedaan Website Gratis vs Website Profesional

ilustrasi website
Artikel

Apa itu Website dan Kenapa Bisnis Membutuhkannya?

Tutorial Microsoft Graph
Artikel

Cara Mudah Mengakses File SharePoint dengan Python

Tutorial Microsoft Graph
Artikel

Cara Mendapatkan Share Link OneDrive Semua File

Hubungi Kami via WhatsApp

Ingin konsultasi terkait kebutuhan Anda? Kontak kami via WhatsApp

Kontak via WhatsApp

PT NUSAGATES GLOBAL PERSADA

Klampeyan, Desa/Kelurahan Noborejo, Kec. Argomulyo, Kota Salatiga, Provinsi Jawa Tengah, Kode Pos: 50736
Telp. 082225005825
Email. nusagates@gmail.com

  • Home
  • Layanan
    • Jasa Pembuatan Website Lifetime Support
    • Jasa Konsultan IT & Sistem Integrator
  • Blog
  • Syarat & Ketentuan
  • Kebijakan
  • FAQ
  • Article (3)
  • Artikel (57)
  • Berita (6)
  • Nusagabook (3)
  • Nusagachild (1)
  • Nusagadu (135)
  • Nusagahealth (1)
  • Nusagalture (1)
  • Nusagatech (82)
  • Nusagatizen (10)
  • Nusagatrip (63)
  • Nusagaview (1)

© PT. NUSAGATES GLOBAL PERSADA 2026

PRIVACY POLICYterms of service