Как да използвате rclone за архивиране в Google Drive на Linux

Все още няма официален Linux клиент за Google Drive, но можете да архивирате в Google Drive, като използвате помощната програма rclone направо от командния ред. Ние ви показваме как.

Къде е Google Drive в Linux?

Въпреки обещаващата поддръжка на Linux „скоро“ през 2012 г., няма индикация, че Google някога ще създаде собствен клиент за Linux за Google Drive. Има няколко неофициални решения на трети страни, като напр InSync, overGrive и ODrive, а някои файлови браузъри позволяват интеграция с вашия Google Drive, като напр Файлове в GNOME.

Приложенията на трети страни са търговски продукти, изискващи директна покупка или абонамент. Те работят добре, не струват много и всъщност overGrive има безплатна версия, предлагаща ограничена функционалност безплатно.

Но какво ще стане, ако искате да създадете и стартирате резервни копия от командния ред? Или да включите тази функционалност в скриптове? Всичко това е възможно благодарение на невероятно приложение, наречено rclone. Всъщност с rclone можете архивирайте, изтегляйте и синхронизирайте файлове с над четиридесет различни облачни решения. Това е като rsync за облаци.

Инсталиране на rclone

rclone почти сигурно няма да бъде инсталиран на вашия Linux компютър по подразбиране. За щастие има инсталационен скрипт, който трябва да работи във всички дистрибуции. Процесът на инсталиране използва къдрица. На компютрите, използвани за изследване на тази статия, Fedora 31 и Manjaro 18.1.0 вече имаха инсталиран curl, но curl трябваше да бъде инсталиран на Ubuntu 18.04 LTS.

В Ubuntu изпълнете тази команда, за да я инсталирате:

sudo apt-get install curl

След като curl бъде инсталиран, инсталирайте rclone с тази команда:

curl https://rclone.org/install.sh | sudo bash

Когато инсталацията на rclone приключи, ще видите съобщение за успех.

Това е инсталирало програмата rclone на вашия компютър с Linux. Следващата стъпка е да преминете през процеса на настройка и да удостоверите rclone за достъп до вашия Google Drive.

Създаване на rclone отдалечена връзка

Връзките с отдалечени облачни услуги се наричат ​​„дистанционни“ в света на rclone. Трябва да създадем такъв за Google Drive. Стартирайте процеса на конфигуриране на rclone с тази команда:

rclone config

Има много въпроси в процеса на конфигуриране. Но не се обезсърчавайте, много от тях могат да бъдат оставени на техните стойности по подразбиране и просто да бъдат приети чрез натискане на „Enter“.

  Как да настроите виртуални машини на Linux с Gnome Boxes

rclone ни казва, че няма конфигурирани дистанционни устройства. Натиснете “n” и натиснете “Enter”, за да създадете ново дистанционно. Ще ви подкани за име. Ще го наречем „google-drive“. Използвайте каквото име искате.

Дългото меню ви позволява да изберете типа хранилище, към което създавате отдалечена връзка.

Превъртете през списъка, докато не видите записа за Google Drive, и запишете неговия номер.

Можем да видим, че в този случай това е номер 13. Въведете това като тип съхранение и натиснете „Enter“.

Получавате подкана за клиентски идентификатор на приложението на Google. Натиснете „Enter“, за да приемете по подразбиране.

След това получавате подкана за тайна на клиента на приложението на Google.

Отново просто натиснете „Enter“. От вас се иска да предоставите обхвата, който ще има rclone, когато работи на вашия Google Drive. Натиснете „1“ и след това натиснете „Enter“.

За „ID на основната папка“, просто натиснете „Enter“.

В подканата „Данни за акаунт за услуга“ натиснете „Enter“.

В подканата „Редактиране на разширени конфигурации“ просто натиснете „Enter“. В менюто „Използване на автоматична конфигурация“ натиснете „y“ и след това натиснете „Enter“.

В

Това кара rclone да комуникира с вашия Google Drive и да стартира вашия браузър, за да ви позволи да дадете разрешение на rclone да взаимодейства с вашия Google Drive.

В прозореца на вашия браузър щракнете върху акаунта в Google, който искате да използвате.

Щракнете върху бутона „Разрешаване“, за да разрешите на rclone да има достъп до вашия Google Drive.

Когато удостоверяването приключи, ще видите „Успех!“ съобщение в прозореца на браузъра. Можете да затворите браузъра и да се върнете в прозореца на терминала.

В подканата „Конфигурирайте това като екипно устройство“ въведете „n“ и след това натиснете „Enter“.

rclone

В менюто „Да, редактиране, изтриване“ въведете „y“ и след това натиснете „Enter“.

rclone

В последното меню въведете „q“ и натиснете „Enter“.

Скриптът за архивиране на rclone

Приложението rclone е много богато на функции. Това е страхотно, но значи има много опции. Командата, която ще разгледаме по-долу, копира файлове от вашия локален компютър във вашия Google Drive. Това е еднопосочно копие в облака; това не е двупосочна синхронизация между вашия Google Drive и вашия локален компютър — въпреки че rclone може да направи това. Ние използваме това като основна форма на резервно копие извън сайта.

  Как да използвате pandoc за конвертиране на файлове в командния ред на Linux

Въведете (или копирайте и поставете) това в текстов редактор и го запазете на вашия компютър. Нарекохме го 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"

Ето какво означават параметрите:

копиране: Копирайте файловете от локалния компютър в отдалеченото хранилище, като пропускате файловете, които вече присъстват в отдалеченото хранилище.
–актуализация: Пропуснете всички файлове, които са в отдалеченото хранилище, които имат променено време, което е по-ново от файла на локалния компютър.
– verbose: Дава информация за всеки файл, който се прехвърля.
–transfers 30: Това задава броя на файловете за паралелно копиране.
– Checkers 8: Колко „шашки“ да се изпълняват паралелно. Пула следят трансферите, които са в ход.,
–contimeout 60s: Времето за изчакване на връзката. Той задава времето, през което rclone ще се опита да направи връзка с отдалеченото хранилище.
– изчакване 300s: Ако прехвърлянето стане неактивен за този период от време, той се счита за прекъснат и е прекъснат.
–повторни опити 3: Ако има толкова много грешки, цялото действие за копиране ще бъде рестартирано.
– повторни опити на ниско ниво 10: Повторен опит от ниско ниво се опитва да повтори една неуспешна операция, като например една HTTP заявка. Тази стойност задава ограничението за броя на повторните опити.
–stats 1s: rclone може да предостави статистика за прехвърлените файлове. Това задава честотата на актуализиране на статистическите данни на една секунда.
“/home/dave/Documents”: Локалната директория, която ще копираме в отдалеченото хранилище.
„google-drive:LinuxDocs“: Целевата директория в отдалеченото хранилище. Обърнете внимание на използването на „google-drive“, което е името, което дадохме на тази отдалечена връзка по време на конфигурацията на rclone. Също така обърнете внимание на двоеточието „:“, което се използва като разделител между името на отдалеченото хранилище и името на директорията. Поддиректориите са разделени с обичайната наклонена черта „/“. Ако целевата директория не съществува, тя ще бъде създадена.

  Как да редактирате файла BashRC, за да направите Bash по-полезен в Linux

Някои от тези стойности са по подразбиране, но ние ги включихме тук, за да можем да ги обсъдим. По този начин, ако трябва да промените стойност, вие знаете кой параметър да коригирате.

Направете скрипта изпълним с тази команда:

chmod +x gbk.sh

Изпълнение на скрипта за архивиране

Нашият скрипт за архивиране ще копира папката ни „Документи“ в нашия Google Диск. В нашата папка Документи имаме колекция от ноти.

Можем да стартираме архивния скрипт с тази команда:

./gbk.sh

Поискахме актуализации на статистиката на всяка секунда (–stats 1s), а също така поискахме подробен изход (–verbose). Тогава няма да е изненада, че получаваме много изход на екрана. Обикновено е добър вариант да включите подробен изход за нова функционалност, за да можете да забележите проблеми. Можете да намалите количеството на продукцията, след като сте доволни, че нещата вървят гладко.

Получаваме окончателно обобщение, което ни казва, че 60 файла са прехвърлени без грешки. Трансферът отне около 24 секунди.

Нека проверим нашия Google Drive и да видим какво се случи в нашето облачно хранилище.

Създадена е директория „LinuxDocs“, така че изглежда обещаващо. Ако щракнем двукратно върху него, за да погледнем вътре, можем да видим, че всички файлове са прехвърлени в нашия Google Drive.

Файлове в

Използване на rclone за преглед на файлове в Google Drive

Можем да използваме rclone, за да надникнем в папката на Google Drive, направо от прозореца на терминала:

rclone ls google-drive:/LinuxDocs

Върхът на айсберга

Чудесно е, че можем да извършим този тип копиране направо от командния ред. Можем да включим използването на нашето облачно хранилище в скриптове и можем да планираме изпълнението на архивни скриптове с помощта на cron.

rclone има абсолютно изобилие от команди, вие се насърчавате разгледайте тяхната документация и отличен уебсайт. Тук почти не сме надраскали повърхността и малко четене и игра с rclone ще изплати усилията многократно.

Строго погледнато, това не е истинско резервно копие. Това е отдалечено копие на вашите файлове и данни извън сайта, което определено е добре да имате, но е просто копие на файлове. Той не предлага версии или други функции, които биха предложили истинските решения за архивиране.

Затова използвайте rclone във връзка с други техники за архивиране. Като друг слой към съществуващ режим на архивиране rclone е лесен начин да съхранявате вашите данни на място, което е географски отдалечено от вашия дом или офис. И това трябва да е нещо добро.