Cara Backup Google Sheet Secara Otomatis

Hello halo hola…

Kembali menulis nih, kali ini soal yang super penting dalam produktivitas kerja kita harian, khususnya para pengguna Google Spreadsheet seperti saya.

Sebelum ke inti permasalahan saya ceritakan dulu, apa itu Google Sheet. Google Sheet itu semacam Microsoft Office, alat kerja yang berhubungan dengan data, semacam tabel dan lain-lain yang isinya biasanya “data penting”, nah kelebihan Google Sheet dibanding dengan Microsoft Excel yang biasa kita pakai sebelumnya adalah:

  1. Bisa kolaborasi; satu file dapat diakses secara bersama, misalnya Ahmad hanya dapat mengedit kolom A, dan Banu hanya dapat mengedit kolom B, kira-kira begitu.
  2. Bisa koneksi dengan email sebagai notifikasi; misal kolom A berubah maka Si Banu bisa dapat email
  3. Bisa ada penugasan, misalnya Si Ahmad minta si Banu ngerjain baris ke-10, semacam tagging begitu. nanti kalau Banu sudah kerjakan dia bisa klik “finish” dan si AHmad dapat email notifikasi bahwa Banu sudah selesaikan tugasnya. ini keren dan penting.
  4. terdapat script untuk memberi fungsi lainnya, misalnya otomatisasi kirim email jika sel tertentu angkanya kurang dari 1. tentu ini dikerjakan para code developer, dan orang seperti kita-kita tinggal contek aja. ini yang akan saya ceritakan di pembahasan kali ini.

Selain kelebihan yang saya sebutkan di atas tentu banyak kelemahan dari Google Sheet ya, tetapi di sini kita tidak perlu membahas kelemahannya ya….

Okay, topik kita kali ini adalah Cara Backup File Google Sheet secara otomatis, contoh kasus manfaat sbb:

  1. ada satu file yang tiap harinya sering dirubah, dan dirubah secara bareng-bareng oleh orang yang berbeda-beda
  2. tentu ada sebuah kemungkinan suatu saat terjadi kesalahan, misalnya salah angka, salah hapus dan lain sebagainya
  3. untuk itu dibutuhkan sebuah cara untuk “backup”, tentu ini tidak harus, karena di Google Sheet itu sendiri sudah ada bawaan-nya yang namanya REVISI, tetapi tentu akan lebih baik jika kita punya file backup yang terpisah.
  4. jadi, kita di sini kita akan belajar bagaimana cara kita membuat file duplikat per hari, per minggu, atau setiap kali diedit.
  5. misal nama file “pekerjaan harian”, maka kita akan membuat backup berupa; (a)”pekerjaan harian – backup 2019-01-01″, (b)”pekerjaan harian – backup 2019-01-02″ dan seterusnya
  6. sehingga ketika suatu saat kita perlu review file nya kita ada data, ada file duplikat.
  7. OPSIONAL: lebih keren lagi kalau setiap user punya backupan sendiri, tentu semua harus membuat script masing-masing di akun Google Sheetnya. Jadi dalam 1 file Google Sheet bisa dibuatkan beberapa script yang sama, hanya beda di folder tujuan backupnya, yang buat si user masing-masing juga.

Menarik kan? Penting kan? 

Tentu!

CARANYA:

  1. pastikan anda tahu filenya ada di folder mana, misalnya namanya “Folder 2019”
  2. misalnya nama filenya “pekerjaan harian 2019.gsheet”, dan file itu ada di dalam folder “Folder 2019”
  3. untuk kepentingan backup, silakan buatkan folder baru misalnya namanya “Backup”, lokasi folder dalam 1 lokasi dengan file, yaitu ada di dalam folder “Folder 2019”. Berarti susunan foldernya adalah “Drive Saya>Folder 2019>Backup”
  4. sekarang kita buka folder backup itu, dan kita copy folder addressnya, misalnya URLnya seperti ini: “https://drive.google.com/drive/folders/xxxxxxyyyyyzzzz” maka kita perlu copy “xxxxxxyyyyyzzzz” ini, nanti akan dipakai dalam edit script.
  5. buka file sheet kita itu, misalnya di kasus ini kita contohkan nama filenya “pekerjaan harian 2019.gsheet”, pada pilihan menu (di bagian atas) ada “Alat” -> “Editor Skrip”, klik editor skrip. Kita buat skrip di sini, file skrip saya berikan di bawah.
  6. setelah selesai menulis skrip kita perlu simpan nama skripnya, misalnya “skrip backup pekerjaan harian 2019”
  7. info: sistem kerja skrip ini namanya “makeCopy”
  8. setelah skrip selesai dibuat dan disimpan, saatnya kita atur “PEMICU” atau “TRIGER” nya, secara umum ada 2 macam pemicu skrip yaitu (a)berdasarkan waktu (penjadwalan / scheduling) misalnya setiap jam atau setiap hari, dan (b)berdasarkan perubahan yang ada pada file tersebut, misalnya setiap diedit maka skrip berjalan. Saya secara pribadi memilih yang berdasarkan perubahan, sehingga file backup tidak terllau banyak, akan ada file backup hanya ketika file berubah,
  9. Cara Membuat Triger berdasarkan Perubahan sbb:
  • dalam file skrip tersebut klik menu gambar jam, berada di sebelah logo simpan
  • nanti kita akan dibawa ke halaman pemicu dari file skrip ini
  • klik “tambahkan pemicu” , tombol ada kanan di bawah nanti akan muncul pop up konfigurasi pemicu
  • edit: “sumber acara” -> “dari spreadsheet”
  • edit: “pilih jenis acara” -> “saat diubah”
  • klik simpan

Cara-Backup-Google-Sheet-Secara-Otomatis

Selesai, maka setelah kita simpan trigger tersebut secara otomatis skrip akan berjalan setiap kita edit file pekerjaan harian 2019.gsheet tersebut, sebagai hasil nanti dalam folder backup akan ada banyak sekali file baru yang terbuat secara otomatis, nama file akan diikuti dengan nama waktu di belakangnya.

Ingat, file skripnya anda belum punya, ini filenya:

// Abhijeet Chopra
// 26 February 2016
// Google Apps Script to make copies of Google Sheet in specified destination folder

function makeCopy() {

// generates the timestamp and stores in variable formattedDate as year-month-date hour-minute-second
var formattedDate = Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd' 'HH:mm:ss");

// gets the name of the original file and appends the word "copy" followed by the timestamp stored in formattedDate
var name = SpreadsheetApp.getActiveSpreadsheet().getName() + " Copy " + formattedDate;

// gets the destination folder by their ID. REPLACE xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx with your folder's ID that you can get by opening the folder in Google Drive and checking the URL in the browser's address bar
var destination = DriveApp.getFolderById("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");

// gets the current Google Sheet file
var file = DriveApp.getFileById(SpreadsheetApp.getActiveSpreadsheet().getId())

// makes copy of "file" with "name" at the "destination"
file.makeCopy(name, destination);
}


Catatan: Kita harus rubah  DriveApp.getFolderById(“xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”) ini,  yaitu sesuai URL folder backup, seperti saya jelaskan di nomor 4 di atas ya, contohnya “xxxxxxyyyyyzzzz”, sehingga menjadi  DriveApp.getFolderById(“xxxxxxyyyyyzzzz“).

Semoga bermanfaat!

Terimakasih untuk “https://gist.github.com/abhijeetchopra/99a11fb6016a70287112“.