Zálohování na Google Disk (Drive) z konzole

Google Disk nabízí i ve své free verzi dostatečné úložiště i pro běžné zálohování. Nejedná se sice o ideální prostor, nicméně byli jsme v nedávné době požádáni klientem o zajištění zálohování jedné z databází na Drive. Ačkoli v našem případě šlo o klienta s GSuite, postup je identický i pro verzi neplacenou.

Bohužel, pro Linux neexistuje oficiální klient pro správu Google Disku (a pokud ano, není k nalezení; víte-li o nějakém, podělte se prosím o odkaz). Existují však funkční alternativy. Jakožto příznivci FOSS jsme sáhli po gdrive od Petera Rasmussena. Jedná se sice o aktivně nevyvíjený kód (poslední commit na GH proběhl v 8/2017), ale pro tento účel se perfektně hodí. Jak již bylo zmíněno výše, klientů (byť neoficiálních) existuje celá řada a jejich použití bude více či méně podobné. Sám Peter u svého repozitáře odkazuje například na borg, za zmínku ale stojí také rclone nebo drive.

Instalace klienta je v linuxovém prostředí velmi jednoduchá. Po stažení binárky ze seznamu, postačuje nastavit tuto jako spustitelnou a umístit na požadované místo. V našem případě:

sudo install gdrive /usr/local/bin/gdrive

Od tohoto okamžiku je možné klienta ovládat příkazem gdrive (pojmenování je ale plně ve vaší režii)

Klient sice umí oblushovat více účtů, nám však postačuje jeden. Při prvním spuštění příkazem

gdrive about

budete vyzvání k autorizaci. Komunikace s Google Drive vyžaduje token a ten bude získán právě tímto způsobem. Postup je přímočarý, po kliknutí na odkaz budete přesměrováni na autorizační stránku, která vás celým procesem provede.

Po získání tokenu je již možné úložištěm pracovat. Klient zvládá celou řadu operací (jejich přehled je nápovědě nebo dokumentaci na GH), nám však postačují dvě.

  1. Nahrát první zálohu na Disk
  2. Nahrávat nové verze této zálohy

První operace je poměrně jednoduchá:

gdrive upload /cesta/k/lokálnímu/souboru

tím se odstartuje proces nahrávání, klient zobrazuje aktuální přenosovou rychlost i průběh. Po skončení je na Drive vytvořen náš soubor v rootu. Pokud je to zapotřebí, lze jej umístit do složky za použití parametru -p, viz dokumentace. Tím bychom mohli skončit. Takový postup by však při každém uploadu vytvořil stejný soubor (byť s jiným ID) a vzhledem k požadavku na zálohování (databáze navíc nemá zanedbatelnou velikost) to rozhodně není optimální způsob. Drive však umí soubory verzovat a této vlastnosti využijeme i nyní.

Námi nahraný soubor dostal přiděleno ID, které lze dále použít. Ačkoli není nikde explicitně zmíněné, získáte jej např. kliknutím na ikonku pro sdílení. jedná se o dlouhý kód za parametrem id v odkazu. Příkaz pro nahrání nové verze by pak vypadal následovně:

gdrive update idSouboruKteryBudemeAktualizovat /cesta/k/lokálnímu/souboru

Klient následně nahraje na Drive novou verzi stejného souboru. My jsme v našem případě přidali ještě parametr --no-progress a celý příkaz mohli vložit do CRONu. Zákaznická záloha se tak duplikuje na Drive automaticky a existuje vždy historie jeden měsíc stará, ke které je možné s případě nouze vrátit.

Pro více informací klidně napište nebo napište.

Zpět na přehled článků