CentOS 7 üzerinde Google Drive’dan büyük dosyaları indirme

Herkese merhaba,

Bilindiği üzere, Google Nisan 2012’de dosya yükleme ve senkronize etme servisi Google Drive’ı tanıttı. Standart kullanıcılara sağlanan ücretsiz 15GB’lik alanı önceleri web istemcisi ve üçüncü parti yazılımlarla, daha sonra da Google’ın tüm platformlar için kullanıma sunduğu resmi uygulamalarla kullanmaya başladık. Yedeklemenin gün geçtikçe önem kazandığı günümüzde, her an yeni gelişmelerle karşılaşmak mümkün.

CPanel versiyon 66 ile birlikte, Google Drive alanımızı uzak yedekleme çözümü olarak yapılandırabileceğimizi biliyor muydunuz? Evet, ister ücretsiz 15GB’lik alanınızı kullanın, isterseniz çok cüzzi miktarlar ödeyerek ek alan satın alın, sunucunuzda oluşturduğunuz günlük/haftalık/aylık yedeklerinizi Google Drive’a otomatik olarak transfer edebilirsiniz. Transfer işlemi otomatikleştirilmiş olsa da, maalesef yedekleri geri yüklemek için dosyaları sunucudan manuel indirmeniz gerekiyor. Ufak dosyalar için sorun yok; ancak indireceğiniz dosya boyutu büyüdüğü an, Google Drive’dan yedek dosyalarını doğrudan indirmek biraz meşakkatli oluyor. Biz bugün CentOS 7 ve diğer Linux dağıtımları üzerinde, boyutu büyük dosyaları Google Drive’dan nasıl indirebileceğimizi inceleyeceğiz.

Dosyalar neden doğrudan indirilemiyor?

Google, belirli boyutu geçen dosyalar için virus taraması yapamadığından, indirme işlemini başlatmadan önce, kullanıcıdan son bir onay istiyor. İşte tam bu noktada, indirme bağlantısını wget benzeri bir yöntemle kullanmaya çalıştığımızda sunucudan doğru very alınamıyor.

Çözüm ne peki?

Bir süre önce bu konuyla ilgili bir hayli araştırma yapmak durumunda kaldım. Uzun uğraşlar sonucunda, ilgili işlem için geliştirilen yöntemlerin neredeyse tamamının geçerliliğini yitirdiğini fark ettim. Şimdi çözüme geçelim.

1. İndirmek istediğimiz Google Drive bağlantısında yer alan dosya ID’sini alıyoruz. (Örnek link: https://drive.google.com/file/d/*4vWxrfedtmlfShGr4LPLVfKrU6aw1aSd2fbDg2Q20OV*/view?usp=sharing)
2. CentOS sunucumuza SSH bağlantısı kurduktan sonra aşağıdaki kod ile bir dosya oluşturuyoruz;

nano /home/gdrive.sh

3. İlk maddede verdiğim örnekte ** arasına aldığım dosya ID’sini alıp, aşağıdaki kod bloğunda yer alan ilgili Alana (fileid) yapıştırıyoruz ve (dosyaadi) kısmına indirilecek dosya için bir isim giriyoruz. Son olarak kodun tamamını Nano ile oluşturduğumuz (gdrive.sh) adlı dosyaya yapıştırıyoruz.

#!/bin/bash
fileid="4vWxrfedtmlfShGr4LPLVfKrU6aw1aSd2fbDg2Q20OV"
filename="dosyaadi.tar.gz"
curl -c ./cookie -s -L "https://drive.google.com/uc?export=download&id=${fileid}" > /dev/null
curl -Lb ./cookie "https://drive.google.com/uc?export=download&confirm=`awk '/download/ {print $NF}' ./cookie`&id=${fileid}" -o ${filename}

4. Dosyayı kaydettikten sonra, chmod +x gdrive.sh komutuyla çalıştırılabilir hale getirip ./gdrive.sh ile indirme işlemini başlatıyoruz. Dosya gdrive.sh dosyasıyla aynı dizine indirilecek ve indirme işlemine aitd etaylar ekranda görüntülenecektir.

İşlem bu kadar. Her yeni dosya için yalnızca dosya ID’sini değiştirmeniz yeterli. Okuduğunuz için teşekkür ederim.

Bir cevap yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.