Hjälp med Bash-script, rclone + rsync (Win10)

Permalänk
Medlem

Hjälp med Bash-script, rclone + rsync (Win10)

Har gett mig på att skapa ett avancerat bash-script för privat backup, via Webdav till molnserver, användandes rclone och rsync. Windows 10 inkluderar numera ett Ubuntu subsystem som ger en möjlighet att använda många Linux-program och processer. Jag kör det genom kommando-prompten på Win10, och gör Bash-scriptet i Sublime.

Kommer nog behöva lite hjälp, så jag gör den här tråden för det ändamålet. Var osäker på om jag skulle lägga den i Windows eller Linux-forumet, men jag provar här så får vi se hur det passar.

------------------------

Har redan kört fast lite. Jag försöker lista innehållet i en lokal mapp på Win10, genom

rclone lsd F:\test\

. Jag kan ansluta till- och lista alla filer på molnservern utan problem, men i en Windowsmapp går det inte vilka kommandon jag än använder, eller hur jag formulerar det (f:\test, f:/test, f:test: osv) och jag har googlat i 4 timmar nu. Det vanligaste felmeddelandet är

"Failed to create file system for F:test: didn't find section in config file"

. Men jag har skapat en "remote" med inställningen "Local disc" som syns när jag listar remotes (rclone config).

Jag har rätt svårt att förstå hur det är tänkt att man ska göra. Att ansluta med Webdav gick hur lätt som helst, men inte lokala mappar. Undrar om någon kan hjälpa mig förstå vad som är fel?

Permalänk
Medlem

Du skriver kommando-prompten, lite osäker på om du menar kommando-tolken (cmd) eller om du har installerat WSL.
Kör du WSL ligger alla diskar under /mnt/ så

rclone lsd /mnt/f/test

borde funka.

Permalänk
Medlem
Skrivet av Xcorp:

Du skriver kommando-prompten, lite osäker på om du menar kommando-tolken (cmd) eller om du har installerat WSL.
Kör du WSL ligger alla diskar under /mnt/ så

rclone lsd /mnt/f/test

borde funka.

Tack för tips. Jag kör WSL via kommando-tolken (CMD).
Jag provade, och det här gav ett annat resultat än jag fått innan. Dessvärre listar den inte filerna i F:\Test, utan den gör ingenting, bara skapar en ny rad.

Har provat några dussin olika omformuleringar av koden. Upptäckte just att

rclone lsd /mnt/f

..däremot funkar utmärkt, så det är definitivt framgång

EDIT: Tillfällig IQ-dip från min sida. LSD listar ju inte filer, listar enbart mappar, och jag hade bara filer i F:\Test. Hade varit en fördel med någon annan reaktion än att bara skapa ny rad av rclone, men men, man lär så länge man har en lever. Tackar Xcorp!

Permalänk
Medlem

Jag har lyckats få till mer än jag trodde jag skulle få. Har tre undringar:

1) Känner någon till om det finns någon slags 'upload progress meter', för rclone/rsync eller att anordna i annan form? Rclone i CMD (WSL) visar ingenting alls under pågående överföring, och eftersom jag planerar att backa upp halvstora mängder så vore det trevligt att få någon slags uppfattning var processen är, i procent eller tid eller så.

2) Om man laddar upp till crypt remote (alltså till sitt moln, med filerna/mapparna krypterade och fil/mappnamnen scramblade), kan rclone fortfarande använda sig av t.ex. checksummor för att jämföra filer mellan lokal disk och moln?

3) Vilken slags kryptering använder rclone? Är det AES, eller ... vad?

Permalänk
Medlem

har du -v och/eller -L i kommandoraden så brukar det börja lista på vad som händer filmässigt - läs 'man' och på rclones hemsida över vilka optioner som finns...

det brukar vara md5 eller SHA1 som hash och jag tror lite att det styrs av vilken backend man kör emot. hashningen och kontrollvärdena skall alltid vara aktiva till du med flagga i kommandoraden explicit stänger av det - igen läs på rclones hemsida

största sannolikhet AES då många miljöer har HW stöd för det i sina processorer - andra algoritmer måste emuleras i mjukvara och det tar mer resurser - mycket mer resurser för svaga processorer som enklare ARM-processorer.

jag har inte själv kört med kryptering och sett hur jämförelsen fungerar - du får gärna återkoppla

en variant om man inte lita på krypteringen är att använda gocryptfs (under linux förstås) i reverserad form där kan man mappa en mapp med filträd genom gocryptfs till att montera en annan mapp och då ser man sina filer som en spegel i dess krypterade form (och read-only) - finessen är att man krypterar filerna bara när man läser ur den krypterade mappen och tex. sänder upp dessa med rclone i icke krypterande form till molnet (vilket gör den snabbare) och jämförelsen mellan filerna går snabbare då det 'ser ut' som vanliga filer med obegriplig text och källfilerna är fortfarande i sin okrypterade form om du ska jobba med dem vidare och man slipper kryptera upp och ned hela tiden. Ändrar du något i källfilsträdet så speglas ändringen omedelbart i den krypterade mappen i 'live'

problemet är troligen att gocryptfs inte kan köras i WSL då windows lackar när det gäller stöd för FUSE i windows-versionen, men prova ändå.

gocryptfs är en rejäl förbättring till förlagan encfs som hade sina små issue säkerhetsmässigt och att det inte kunde hantera fulla 255 teckens filnamn - dessutom hackar gocryptfs stora filer till mindre och även delar mindre filer i fler delar för att förvirra och inte kunna identifiera filerna säkert baserat på dess storlek.

just reverse kryptering är unik för encfs och väldigt behändigt ibland och ännu bättre gjort i gocryptfs då det är en ovanlig funktion.

om du kör på den tekniken - träna på hur du gör när filerna hämtas tillbaka i sin krypterade form och sedan vänds tillbaka till ej krypterad form med gocryptfs - backupper måste alltid kontrolleras att man kan återställa

Permalänk
Medlem
Skrivet av xxargs:

har du -v och/eller -L i kommandoraden så brukar det börja lista på vad som händer filmässigt - läs 'man' och på rclones hemsida över vilka optioner som finns...

det brukar vara md5 eller SHA1 som hash och jag tror lite att det styrs av vilken backend man kör emot. hashningen och kontrollvärdena skall alltid vara aktiva till du med flagga i kommandoraden explicit stänger av det - igen läs på rclones hemsida

största sannolikhet AES då många miljöer har HW stöd för det i sina processorer - andra algoritmer måste emuleras i mjukvara och det tar mer resurser - mycket mer resurser för svaga processorer som enklare ARM-processorer.

jag har inte själv kört med kryptering och sett hur jämförelsen fungerar - du får gärna återkoppla

en variant om man inte lita på krypteringen är att använda gocryptfs (under linux förstås) i reverserad form där kan man mappa en mapp med filträd genom gocryptfs till att montera en annan mapp och då ser man sina filer som en spegel i dess krypterade form (och read-only) - finessen är att man krypterar filerna bara när man läser ur den krypterade mappen och tex. sänder upp dessa med rclone i icke krypterande form till molnet (vilket gör den snabbare) och jämförelsen mellan filerna går snabbare då det 'ser ut' som vanliga filer med obegriplig text och källfilerna är fortfarande i sin okrypterade form om du ska jobba med dem vidare och man slipper kryptera upp och ned hela tiden. Ändrar du något i källfilsträdet så speglas ändringen omedelbart i den krypterade mappen i 'live'

problemet är troligen att gocryptfs inte kan köras i WSL då windows lackar när det gäller stöd för FUSE i windows-versionen, men prova ändå.

gocryptfs är en rejäl förbättring till förlagan encfs som hade sina små issue säkerhetsmässigt och att det inte kunde hantera fulla 255 teckens filnamn - dessutom hackar gocryptfs stora filer till mindre och även delar mindre filer i fler delar för att förvirra och inte kunna identifiera filerna säkert baserat på dess storlek.

just reverse kryptering är unik för encfs och väldigt behändigt ibland och ännu bättre gjort i gocryptfs då det är en ovanlig funktion.

om du kör på den tekniken - träna på hur du gör när filerna hämtas tillbaka i sin krypterade form och sedan vänds tillbaka till ej krypterad form med gocryptfs - backupper måste alltid kontrolleras att man kan återställa

Tack så mycket
"-v" flaggan i synnerhet funkar gott nog som ungefärlig bild av var man är i processen.
Jag ska återkomma angående hur jag finner att filjämförelserna med kryptering och tillbaka funkar.

Nu fick jag ett nytt problem dessvärre. MS Visual Studio Code uppmanade mig att uppgradera till WSL v2, och efter jag gjort det så funkar inte kopplingarna till remote längre. Blir Timeout på varje försök. Elände.
WSL i CMD synes rapportera att den inte kan koppla till någon av alla konfigurerade fjärrservrarna. Ser ut att hänvisa till nåt DNS fel (inte brandväggen, det har jag kollat).

"dial tcp: lookup server.com on 123.123.123.123 (ipnumret): read udp. I/O timeout ... "

Känns klassiskt Microsoft fel, jag skulle inte uppgraderat, tänker jag ... får försöka lösa det imorgon. Glad söndag

Permalänk
Medlem

Har du startat om datorn efter uppgradering??

Det är inte första gången när saker sluta fungerar och man mökar runt i att få det att fungera igen (inte allt för sällan MS egna påtvingande uppdateringar) och först efter en stund kommer man på att man också borde prova med en omstart och allt fungerar igen.

MS kan inte varm-patcha program och drivrutiner utan att saker gå sönder helt plötsligt som smygladdningen innan uppgradering och Wlan, en mus eller tappar nätverkskoppling bara slutar att funka på måndagen/tisdagen innan den officiella uppgraderingen ...

Permalänk
Medlem
Skrivet av xxargs:

Har du startat om datorn efter uppgradering??

Det är inte första gången när saker sluta fungerar och man mökar runt i att få det att fungera igen (inte allt för sällan MS egna påtvingande uppdateringar) .....

Provade att starta om, men det funkade ändå inte.
Fick dock till det genom att ändra konfigurationen till att Windows ska använda WSL v1 istället för v2 (även fast v2 fortfarande är installerat), då funkade det rakt av igen. Orkar inte feppla mer med det just nu, utan kör på v1 tills vidare.

Permalänk
Medlem

Ska nu börja göra ett Bash-script för att skapa backup-rutin som utför olika nivåer och lager av full/differentiell och inkrementell backup.

Rclones enkla kommandon räcker inte till för det, utan jag behöver nog använda rsync, som är långt mer flexibelt. Men rsync kan bara föra över filer via SSH, och jag använder ett annat vanligt protokoll, så därför måste jag nog skicka datan genom någon av Rclones remotes.

Problemet är att jag lyckas knappt hitta någon information alls i hur man kan utföra detta samarbete mellan rsync och rclone. Har sökt i timmar nu.

Är det något fel i mitt tänk, och det är därför jag inte hittar sån info? eller är det bara svårfunnen information?