Deși nu există încă un program client oficial pentru Google Drive compatibil cu Linux, poți efectua copii de siguranță pe Google Drive utilizând utilitarul rclone direct din terminal. Îți vom explica cum poți realiza acest lucru.
Unde găsim Google Drive pe Linux?
În ciuda promisiunilor făcute în 2012, conform cărora suportul pentru Linux „va veni în curând”, nu sunt semne că Google va lansa vreodată un client nativ de Google Drive pentru Linux. Există numeroase soluții terțe neoficiale, precum Insync, overGrive și ODrive, iar unele programe de gestionare a fișierelor permit integrarea cu Google Drive, cum ar fi Fișiere în GNOME.
Aplicațiile terțe menționate sunt produse comerciale, care implică achiziții directe sau abonamente. Deși funcționează eficient și nu sunt costisitoare, overGrive oferă o versiune gratuită cu funcționalități limitate.
Dar ce faci dacă vrei să creezi și să rulezi copii de siguranță direct din terminal? Sau să integrezi această funcționalitate în script-uri? Toate acestea sunt posibile datorită unui instrument numit rclone. De fapt, cu rclone, poți realiza copii de rezervă, descărca și sincroniza fișiere cu peste patruzeci de servicii cloud diferite. Este ca și cum ai avea rsync pentru cloud.
Instalarea rclone
Este foarte probabil ca rclone să nu fie instalat implicit pe sistemul tău Linux. Din fericire, există un script de instalare compatibil cu majoritatea distribuțiilor. Procesul de instalare folosește curl. Sistemele folosite pentru a elabora acest articol, Fedora 31 și Manjaro 18.1.0 aveau curl preinstalat, însă a fost nevoie de instalarea acestuia pe Ubuntu 18.04 LTS.
Pentru a-l instala pe Ubuntu, rulează această comandă:
sudo apt-get install curl
Odată instalat curl, instalează rclone folosind comanda:
curl https://rclone.org/install.sh | sudo bash
Când instalarea rclone s-a finalizat, vei vedea un mesaj de confirmare.
Acesta a instalat programul rclone pe sistemul tău Linux. Următorul pas este să configurezi rclone și să-l autentifici pentru a accesa Google Drive.
Crearea unei conexiuni rclone la distanță
În rclone, conexiunile la serviciile cloud de la distanță sunt numite „remote-uri”. Trebuie să creăm o astfel de conexiune pentru Google Drive. Inițiază procesul de configurare rclone cu această comandă:
rclone config
Procesul de configurare implică o serie de întrebări, dar multe dintre ele pot fi lăsate cu valorile implicite, acceptându-le cu „Enter”.
rclone ne informează că nu există conexiuni „remote” configurate. Apasă „n” și apoi „Enter” pentru a crea o nouă conexiune. Ți se va cere un nume; vom folosi „google-drive”. Poți folosi orice nume dorești.
Un meniu lung îți permite să selectezi tipul de stocare la care vrei să te conectezi.
Parcurge lista până când identifici opțiunea pentru Google Drive și reține numărul ei.
În acest caz, Google Drive are numărul 13. Introdu acest număr ca tip de stocare și apasă „Enter”.
Acum ți se va cere un ID de client Google. Apasă „Enter” pentru a accepta valoarea implicită.
Ulterior, ți se va cere un secret pentru clientul aplicației Google.
Din nou, apasă „Enter”. Acum trebuie să indici domeniul de aplicare pe care rclone îl va avea când accesează Google Drive. Alege „1” și apoi apasă „Enter”.
La „ID-ul folderului rădăcină”, apasă „Enter”.
La „Acreditări contului de serviciu”, apasă „Enter”.
La „Editează configurația avansată”, apasă tot „Enter”. În meniul „Utilizează configurarea automată”, apasă „y”, urmat de „Enter”.
Acum rclone va comunica cu Google Drive și va deschide browserul pentru a-ți permite să autorizezi accesul rclone la Google Drive.
În fereastra browserului, alege contul Google pe care vrei să-l utilizezi.
Apasă butonul „Permite” pentru a acorda acces rclone la Google Drive.
Când autentificarea a reușit, vei vedea un mesaj de „Succes!” în browser. Poți închide browserul și reveni la terminal.
La mesajul „Configurează ca unitate de echipă”, tastează „n” și apasă „Enter”.
În meniul „Da, Editează, Șterge”, tastează „y” și apasă „Enter”.
În meniul final, tastează „q” și apasă „Enter”.
Scriptul de backup rclone
rclone este o aplicație foarte complexă și oferă o multitudine de opțiuni. Poți consulta documentația sa. Comanda pe care o vom analiza mai jos copiază fișierele de pe computerul local pe Google Drive. Este o copie unidirecțională, nu o sincronizare bidirecțională. Vom folosi această metodă pentru backup extern.
Creează un fișier text și salvează-l cu numele dorit; noi l-am denumit gbk.sh.
#!/bin/bash /usr/bin/rclone copy --update --verbose --transfers 30 --checkers 8 --contimeout 60s --timeout 300s --retries 3 --low-level-retries 10 --stats 1s "/home/dave/Documents" "google-drive:LinuxDocs"
Parametrii au următoarele semnificații:
copy
: Copiază fișierele de pe computerul local în stocarea externă, ignorând fișierele existente.--update
: Omite fișierele care au o versiune mai nouă în stocarea externă decât cele locale.--verbose
: Afișează detalii despre fiecare fișier transferat.--transfers 30
: Setează numărul de fișiere copiate în paralel.--checkers 8
: Stabilește numărul de „verificatoare” care monitorizează transferurile în desfășurare.--contimeout 60s
: Setează timpul maxim de încercare a unei conexiuni la stocarea externă.--timeout 300s
: Dacă un transfer devine inactiv pentru această perioadă, este considerat eșuat.--retries 3
: Dacă apar atât de multe erori, acțiunea de copiere va fi reluată.--low-level-retry 10
: O reîncercare la nivel scăzut pentru operații eșuate (ex. solicitări HTTP). Această valoare limitează numărul de reîncercări.--stats 1s
: rclone oferă statistici despre fișierele transferate. Aceasta este frecvența de actualizare a acestor statistici."/home/dave/Documents"
: Directorul local care va fi copiat."google-drive:LinuxDocs"
: Directorul de destinație din stocarea externă. „google-drive” este numele conexiunii, iar „:” separă numele stocării de numele directorului. Subdirectoarele sunt separate prin „/”. Dacă directorul de destinație nu există, va fi creat.
Unele dintre aceste valori sunt implicite, dar le-am inclus pentru a le explica. Astfel, poți modifica valorile, știind ce parametrul trebuie ajustat.
Fă scriptul executabil cu această comandă:
chmod +x gbk.sh
Rularea scriptului de backup
Scriptul va copia folderul „Documents” în Google Drive. În acest folder, avem o colecție de partituri.
Lansăm scriptul de backup cu această comandă:
./gbk.sh
Am setat actualizări de statistici la fiecare secundă (--stats 1s
) și un output detaliat (--verbose
), deci vom primi multe informații pe ecran. Este recomandat să activezi afișarea detaliată la folosirea unei funcționalități noi, pentru a identifica posibile probleme. Poți reduce nivelul detaliat odată ce te-ai asigurat că funcționează corect.
La final, primim un sumar: 60 de fișiere transferate fără erori, transferul durând aproximativ 24 de secunde.
Să verificăm Google Drive și să vedem ce s-a întâmplat.
A fost creat un director „LinuxDocs”, ceea ce este promițător. Dacă deschidem directorul, vedem că toate fișierele au fost transferate în Google Drive.
Vizualizarea fișierelor din Google Drive cu rclone
Putem vizualiza fișierele din Google Drive direct din terminal:
rclone ls google-drive:/LinuxDocs
Doar vârful aisbergului
Este excelent că putem realiza acest tip de copiere direct din terminal. Putem include utilizarea stocării cloud în scripturi și putem programa execuția scripturilor de backup folosind cron.
rclone oferă o multitudine de comenzi. Te încurajăm să consulți documentația și site-ul lor. Am atins doar o mică parte a capacităților sale și explorarea rclone va fi cu siguranță utilă.
Strict vorbind, aceasta nu este o copie de rezervă în adevăratul sens. Este o copie externă a fișierelor tale, un lucru bun, dar este doar o copie simplă a fișierelor. Nu oferă versionare sau alte caracteristici specifice soluțiilor de backup complete.
Utilizează rclone alături de alte tehnici de backup. Ca un nivel suplimentar al unui sistem de backup, rclone este o modalitate simplă de a-ți stoca datele într-o locație îndepărtată geografic de casă sau de birou, ceea ce este un avantaj.