Cmd to Upload File to Google Drive
Salah satu permasalahan yang dapat terjadi dan bisa berakibat cukup fatal adalah ketika server mengalami kerusakan harddisk misal, kemudian data-data hilang termasuk database project kamu. Bayangkan jika database tersebut berisi informasi sensitif seperti daftar transaksi jual beli dsb..
Maka seorang developer yang baik, harusnya sudah mempertimbangkan kemungkinan ini. Nah, amannya ketika setting cron/scheduler backup database otomatis, selain disimpan di storage server, baiknya server juga diotomatisasi agar upload backup tersebut di cloud/storage lainnya yang reliable, dalam hal ini google drive yang menyediakan free 15Gb.. lumayan lah ya.. untuk 100Gb klo ga salah per tahun 300rb an..
Berikut step by footstep implementasinya:
Environtment yang digunakan pada tutorial ini:
- Server centos 7 atau eight, bisa juga digunakan linux pada umum nya
- Setidaknya paham dasar penggunaan command line / terminal ya
Step 1 : Install GOLANG di server
- masuk kedalam concluding atau command line server melalui ssh.
- install wget parcel,
sudo yum install wget
- setelah itu.. gunakan wget untuk download golang
wget https://dl.google.com/go/go1.13.5.linux-amd64.tar.gz
- server akan men-download package go.. dengan nama file: go1.13.5.linux-amd64.tar.gz
- selanjutnya extract file gzip tersebut dan pindahkan ke direktori /usr/local
sudo tar -C /usr/local -xf go1.13.5.linux-amd64.tar.gz
- buka
/.bash_profile
file:
sudo half-dozen ~/.bash_profile
- tambahkan kode berikut, ( pelajari vi editor jika belum pernah gunakan, atau bisa juga menggunakan nano editor)
export GOPATH=$HOME/golang export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
- untuk save dan get out dari vi editor, gunakan perintah :wq
- reload
PATH
yang tadi sudah ditambahkan dengan menggunakan perintah:
source ~/.bash_profile
- harusnya saat ini go sudah terinstall di server. Untuk mengecek versi nya bisa gunakan perintah:
go version
#output go version go1.thirteen.5 linux/amd64
Step 2 : Setup OAuth google dan enable google bulldoze API
- login gmail terlebih dahulu
- buka developer console google
- di sisi kiri atas, pilih "select projection", jika belum ada project yang dibuat, maka create project. Lalu select project tersebut.
- kemudian pilih menu OAuth consent screen
- pilih User Type : External
- kemudian lengkapi isian (khusus logo tidak perlu diisi, skip saja). Untuk isian url, isi dengan domain server
- Klik save..
- kemudian lanjut pilih menu "credentials"
- buat credentials baru untuk OAuth customer ID
- pilih user blazon: Others
- lanjut kan proses sampai muncul "OAuth customer created"
- copy dan simpan client ID dan cliend undercover nya.. nanti akan kita butuhkan di step selanjutnya..
Step 3 : Download package gdrive dan fix credentials OAuth
- pastikan sebelumnya server anda sudah terinstall golang
- buka kembali terminal atau command line server..
- clone github berikut => https://github.com/gdrive-org/gdrive
- kemudian masuk ke dalam binder yang baru saja di clone..
- buka "handlers_drive.go" dengan menggunakan vi editor atau nano editor
- di dalam file tersebut, cari bagian const ClientId dan ClientSecret, lalu isi dengan credentials OAuth yang sebelumnya sudah dibuat.. contohnya seperti ini :
const ClientId = "265381758528-xxxxx.apps.googleusercontent.com" const ClientSecret = "9PJHRnBtrjxxxxxxxxxxxx"
- kemudian salve perubahan dan keluar dari editor
- selanjutnya kita perlu import parcel gdrive golang, jalankan perintah sbb:
go become github.com/prasmussen/gdrive
- kemudian (masih di dalam root folder gdrive hasil clone), build projectnya menggunakan perintah:
go build
- setelah menjalankan perintah di atas.. kamu bakal menemukan file "gdrive" di dalam root folder tersebut. Nantinya file ini yang akan digunakan untuk proses upload file ke google drive
- pindahkan file "gdrive" ke direktori server'southward bin (sbin). di centos bisa menggunakan perintah ssb:
sudo mv gdrive /usr/sbin/gdrive
- set permission agar nantinya file gdrive dapat dijalankan (execute) oleh user lain :
sudo chmod 700 /usr/sbin/gdrive
- setelah itu, jalankan perintah
gdrive list
- maka server akan menjalankan proses hallmark.. kemudian server akan mengeluarkan sebuah link seperti ini:
https://accounts.google.com/o/oauth2/auth?client_id=123456789123-7n0vf**********************************
- re-create link tersebut dan paste di browser, browser bisa dimana saja ga harus di server itu juga.. nantinya ketika menjalankan link tersebut, google akan meminta authentication dan sign in menggunakan akun email yang kita inginkan. Nantinya server akan upload data ke google drive yang terasosiasi dengan akun gmail tersebut
- Jika ketika sign in keluar warning unverified, tidak masalah lanjutkan saja.. klik "advanced" dan go on dangerous / get to your app <name> (dangerous)
- setelah proses sign in selesai, akan muncul kode verifikasi
- re-create kode tersebut, kemudian buka kembali terminal/command line server yang meminta kode verifikasi.
- paste kode yang didapat ke terminal server.
Enter verification code: 4/9gKYAFAJ326XIP6J42t35****
- setelah itu kita harusnya bisa menggunakan perintah menggunakan gdrive
Step 4 : Testing upload file ke google drive
- berikut contoh perintah untuk upload file:
# upload to google drive root binder gdrive upload examination.zero # upload to a specefic folder gdrive upload --parent 1dYSp4NcaRTykSebFt-UoAadszRhMQciX test.nothing
- untuk upload spesific folder, ketika klik folder di google drive, biasanya akan muncul semacam random id binder di bagian akhir url.. misal pada: https://drive.google.com/bulldoze/u/0/folders/1qG-hnvUpxTy0RZtDejOeFKiwGeAXyY1a
- maka parent nya itu adalah: 1qG-hnvUpxTy0RZtDejOeFKiwGeAXyY1a
wilkinsonfookistand.blogspot.com
Source: https://blog.sanbercode.com/server-upload-file-ke-google-drive-via-command-line/
0 Response to "Cmd to Upload File to Google Drive"
ارسال یک نظر