Zálohování Sdílených disků

Prosím o radu, jak snadno a s rozumnými (nebo ideálně nulovými:) náklady udělat cca 1x za měsíc zálohu souborů ze sdílených google disků. Google Takeout jsem vyzkoušela, ale není to funkční. Ideálně do offlinu na externí disk, ale nepohrdnu ani doporučeními na zálohování do jiného cloudu. Díky

1 Like

Chtěl jsem doporučit oblíbený Panic Transmit (macOS), který má hezkou funkci synchronizace novinek, ale koukám, že s podporou Google Drive končí :frowning: Proč sem ale přesto píšu – máte nějaké preferované prostředí, například Windows, macOS nebo řádkový program?

Díky moc za zájem a doplňující dotaz, nenapadlo mě upřesnit, potřebovala bych řešení pro Windows.

1 Like

Hezký den :waving_hand:

já osobně jsem fanoušek Cyberduck, který vám umožní disk vidět lokálně a data přetáhnout, kam potřebujete, nicméně to není plně automatické, nicméně je to netechnické a Cyberduck využijete i na další typy úložišť a je to fajn nástroj.

Velkou klasikou je rclone, je zdarma, je open source, ale pracujete s příkazovou řádkou. V tomhle ohledu to ale pak lze plně automatizovat ve Windows například přes Plánovač úloh nebo si to aspoň nastavit na jedno kliknutí tlačítka třeba přes jednoduchý skript.

Mrkněte, třeba se vám bude jeden z nástrojů líbit/hodit, pokud ne, dejte vědět v čem nesedí a promyslíme to!

3 Likes

Díky moc, Tome! Možnost automatizace je samozřejmě lákavá, ale bez supportu si s tím sama neporadím. Kdybyste byl ochotný mi s tím pomoct, budu vděčná.

1 Like

Rádo se děje! Tam samozřejmě záleží, jak moc technická jste/nejste, určitě by to vyžadovalo práci s příkazovou řádkou, Powershell, vytvořením skriptu, co by se automaticky spouštěl atd.

Obecně by to vypadalo nějak takhle (sám jsem ale na macOS, takže u některých věcí z hlavy přesně nevím, šel jsem podle dokumentací):

1. Instalace rclone

Nejjednodušší je přes winget v PowerShellu:

winget install Rclone.Rclone

Případně stáhnout ZIP z Rclone downloads, rozbalit kam potřebujete a přidat tuto cestu do systémové proměnné PATH.

Po instalaci ověřit v novém okně terminálu:

rclone version

2. Konfigurace připojení ke Google Drive

Spustit interaktivní průvodce:

rclone config

Postup:

  1. Zadat n pro nový remote
  2. Pojmenovat ho, např. google-drive
  3. Ze seznamu vybrat číslo odpovídající Google Drive disk
  4. Na dotaz ohledně client_id a client_secret lze teoreticky nechat prázdné (použije se výchozí), nebo zadat vlastní z Google Cloud Console (tady záleží na množství dat, co řešíte a zda umíte s Cloud Console)
  5. Na dotaz scope vybrat 1 ( to by mělo být full access)
  6. root_folder_id a service_account_file nechat prázdné
  7. Na dotaz Edit advanced config? odpovědět n
  8. Na dotaz Use auto config? odpovědět y – otevře se prohlížeč pro přihlášení ke Google účtu a povolení přístupu a spárování
  9. Na dotaz Configure this as a Shared Drive? odpovědět n (pokud nejde o sdílený disk) a y (pokud to je sdílený disk)
  10. Potvrdit konfiguraci pomocí y a ukončit pomocí q

Ověření připojení:

rclone ls gdrive: --max-depth 1

3. Vytvoření zálohovacího skriptu

Vytvořit soubor zaloha-gdrive.bat:

@echo off
set LOGFILE=C:\Scripts\logs\gdrive-backup-%date:~-4%%date:~3,2%%date:~0,2%.log
if not exist C:\Scripts\logs mkdir C:\Scripts\logs

echo Zaloha zahajena: %date% %time% >> "%LOGFILE%"
rclone sync gdrive: "E:\Zalohy\GoogleDrive" --log-file="%LOGFILE%" --log-level INFO
echo Zaloha dokoncena: %date% %time% >> "%LOGFILE%"

Je nutné upravit všechny ty cesty, jak pro ten skript a to, kam se to má zálohovat.

Volitelné užitečné parametry pro příkaz rclone sync:

  • --progress – zobrazí průběh (při ručním spuštění)
  • --dry-run – testovací běh bez skutečného kopírování
  • --backup-dir "E:\Zalohy\GoogleDrive_stare" – přesune smazané/změněné soubory místo jejich odstranění

4. Nastavení automatického spouštění přes Plánovač úloh

V PowerShellu jako administrátor:

$action = New-ScheduledTaskAction -Execute "C:\Scripts\zaloha-gdrive.bat"
$trigger = New-ScheduledTaskTrigger -Weekly -DaysOfWeek Sunday -At 3:00AM -WeeksInterval 4
$settings = New-ScheduledTaskSettingsSet -StartWhenAvailable -DontStopOnIdleEnd
$principal = New-ScheduledTaskPrincipal -UserId "$env:USERNAME" -LogonType S4U -RunLevel Highest

Register-ScheduledTask -TaskName "Zaloha Google Drive" -Action $action -Trigger $trigger -Settings $settings -Principal $principal

Toto vytvoří úlohu, která se spustí každou 4. neděli ve 3:00 ráno. Parametr -StartWhenAvailable zajistí, že pokud byl počítač v danou dobu vypnutý, úloha se spustí při nejbližším zapnutí.

Obecně je ideální to spouštět mimo dobu, kdy se počítač aktivně používá nebo se pracuje s tím Google Drive, co má být zazálohovaný.

Pro kontrolu nebo úpravu:

Get-ScheduledTask -TaskName "Zaloha Google Drive" | Get-ScheduledTaskInfo

Nebo použít GUI a spustit taskschd.msc a úlohu najít v knihovně.

5. Testování

Nejprve vyzkoušet skript ručně:

C:\Scripts\zaloha-gdrive.bat

Zkontrolovat log v C:\Scripts\logs\ a ověřit, že soubory přibyly v cílové složce.

Variantou b) je pak stáhnout Cyberduck, připojit si ten disk, jednou za měsíc všechno přetáhnout a potvrdit, jak chcete nakládat s modifikovanými soubory (tedy například přepsat). To první je otázka na cca hodinu pro technického člověka, tipuju tak 4-6 pro netechnického a to druhé i s instalací tak 30 minut, jen tam nemáte tu automatizaci :slight_smile:

2 Likes

Boží návod, díky!

Já s tou automatizací často rád pracuju tak, že tu věc začnu dělat ručně, tedy v tomhle případě třeba přes ten Cyberduck. Tím ručním postupem člověk často přijde na nějaké věci, které je potřeba doladit. A občas se taky ukáže, že je s tím tak málo práce, že to ani není potřeba automatizovat (a stačí to třeba dokumentovat). Pokud ne, dá se pak ruční postup kdykoliv nahradit automatizací.

2 Likes

Díky!

Plný souhlas, pokud to je takhle snadná úloha nebo řekněme přímočará, tak bych to taky neviděl jako nějakou extra potřebu to automatizovat. Kdyby těch disků bylo víc nebo tak, dávalo by to asi smysl.

2 Likes

Skvělý, díky moc @tomnavratil i @zoul!

No, asi nejsem dost technická :slight_smile: Příkazová řádka mě neděsí, ale vždycky, když jsem s ní pracovala, seděl vedle mě někdo zkušený a prováděl mě tím. S powerhell zkušenost nemám a skript jsem nikdy žádný nenapsala. Ani s návodem si na to sama netroufnu. Ale začít s Cyberduck dává smysl a pak si případně někoho najdu, díky, návod si ukládám.

Díky moc za podporu, velká úleva!

2 Likes

My s @honzapav používáme Afi.ai. Je to komplexní tool za symobolickou cenu 3$/user. Na trhu jsou ale i alternativy.

Nově jsme ve Workflow.ooo oficiálním partnerem Google a máme tu malý tým, který řeší implementace, školení i dlouhodobý support pro Google Workspace a dalších pracovních nástrojů.

Kdyby bylo potřeba s nastavení pomoc, ozvěte se. :slight_smile:

1 Like