MANUAL.txt 815 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842208432084420845208462084720848208492085020851208522085320854208552085620857208582085920860208612086220863208642086520866208672086820869208702087120872208732087420875208762087720878208792088020881208822088320884208852088620887208882088920890208912089220893208942089520896208972089820899209002090120902209032090420905209062090720908209092091020911209122091320914209152091620917209182091920920209212092220923209242092520926209272092820929209302093120932209332093420935209362093720938209392094020941209422094320944209452094620947209482094920950209512095220953209542095520956209572095820959209602096120962209632096420965209662096720968209692097020971209722097320974209752097620977209782097920980209812098220983209842098520986209872098820989209902099120992209932099420995209962099720998209992100021001210022100321004210052100621007210082100921010210112101221013210142101521016210172101821019210202102121022210232102421025210262102721028210292103021031210322103321034210352103621037210382103921040210412104221043210442104521046210472104821049210502105121052210532105421055210562105721058210592106021061210622106321064210652106621067210682106921070210712107221073210742107521076210772107821079210802108121082210832108421085210862108721088210892109021091210922109321094210952109621097210982109921100211012110221103211042110521106211072110821109211102111121112211132111421115211162111721118211192112021121211222112321124211252112621127211282112921130211312113221133211342113521136211372113821139211402114121142211432114421145211462114721148211492115021151211522115321154211552115621157211582115921160211612116221163211642116521166211672116821169211702117121172211732117421175211762117721178211792118021181211822118321184211852118621187211882118921190211912119221193211942119521196211972119821199212002120121202212032120421205212062120721208212092121021211212122121321214212152121621217212182121921220212212122221223212242122521226212272122821229212302123121232212332123421235212362123721238212392124021241212422124321244212452124621247212482124921250212512125221253212542125521256212572125821259212602126121262212632126421265212662126721268212692127021271212722127321274212752127621277212782127921280212812128221283212842128521286212872128821289212902129121292212932129421295212962129721298212992130021301213022130321304213052130621307213082130921310213112131221313213142131521316213172131821319213202132121322213232132421325213262132721328213292133021331213322133321334213352133621337213382133921340213412134221343213442134521346213472134821349213502135121352213532135421355213562135721358213592136021361213622136321364213652136621367213682136921370213712137221373213742137521376213772137821379213802138121382213832138421385213862138721388213892139021391213922139321394213952139621397213982139921400214012140221403214042140521406214072140821409214102141121412214132141421415214162141721418214192142021421214222142321424214252142621427214282142921430214312143221433214342143521436214372143821439214402144121442214432144421445214462144721448214492145021451214522145321454214552145621457214582145921460214612146221463214642146521466214672146821469214702147121472214732147421475214762147721478214792148021481214822148321484214852148621487214882148921490214912149221493214942149521496214972149821499215002150121502215032150421505215062150721508215092151021511215122151321514215152151621517215182151921520215212152221523215242152521526215272152821529215302153121532215332153421535215362153721538215392154021541215422154321544215452154621547215482154921550215512155221553215542155521556215572155821559215602156121562215632156421565215662156721568215692157021571215722157321574215752157621577215782157921580215812158221583215842158521586215872158821589215902159121592215932159421595215962159721598215992160021601216022160321604216052160621607216082160921610216112161221613216142161521616216172161821619216202162121622216232162421625216262162721628216292163021631216322163321634216352163621637216382163921640216412164221643216442164521646216472164821649216502165121652216532165421655216562165721658216592166021661216622166321664216652166621667216682166921670216712167221673216742167521676216772167821679216802168121682216832168421685216862168721688216892169021691216922169321694216952169621697216982169921700217012170221703217042170521706217072170821709217102171121712217132171421715217162171721718217192172021721217222172321724217252172621727217282172921730217312173221733217342173521736217372173821739217402174121742217432174421745217462174721748217492175021751217522175321754217552175621757217582175921760217612176221763217642176521766217672176821769217702177121772217732177421775217762177721778217792178021781217822178321784217852178621787217882178921790217912179221793217942179521796217972179821799218002180121802218032180421805218062180721808218092181021811218122181321814218152181621817218182181921820218212182221823218242182521826218272182821829218302183121832218332183421835218362183721838218392184021841218422184321844218452184621847218482184921850218512185221853218542185521856218572185821859218602186121862218632186421865218662186721868218692187021871218722187321874218752187621877218782187921880218812188221883218842188521886218872188821889218902189121892218932189421895218962189721898218992190021901219022190321904219052190621907219082190921910219112191221913219142191521916219172191821919219202192121922219232192421925219262192721928219292193021931219322193321934219352193621937219382193921940219412194221943219442194521946219472194821949219502195121952219532195421955219562195721958219592196021961219622196321964219652196621967219682196921970219712197221973219742197521976219772197821979219802198121982219832198421985219862198721988219892199021991219922199321994219952199621997219982199922000220012200222003220042200522006220072200822009220102201122012220132201422015220162201722018220192202022021220222202322024220252202622027220282202922030220312203222033220342203522036220372203822039220402204122042220432204422045220462204722048220492205022051220522205322054220552205622057220582205922060220612206222063220642206522066220672206822069220702207122072220732207422075220762207722078220792208022081220822208322084220852208622087220882208922090220912209222093220942209522096220972209822099221002210122102221032210422105221062210722108221092211022111221122211322114221152211622117221182211922120221212212222123221242212522126221272212822129221302213122132221332213422135221362213722138221392214022141221422214322144221452214622147221482214922150221512215222153221542215522156221572215822159221602216122162221632216422165221662216722168221692217022171221722217322174221752217622177221782217922180221812218222183221842218522186221872218822189221902219122192221932219422195221962219722198221992220022201222022220322204222052220622207222082220922210222112221222213222142221522216222172221822219222202222122222222232222422225222262222722228222292223022231222322223322234222352223622237222382223922240222412224222243222442224522246222472224822249222502225122252222532225422255222562225722258222592226022261222622226322264222652226622267222682226922270222712227222273222742227522276222772227822279222802228122282222832228422285222862228722288222892229022291222922229322294222952229622297222982229922300223012230222303223042230522306223072230822309223102231122312223132231422315223162231722318223192232022321223222232322324223252232622327223282232922330223312233222333223342233522336223372233822339223402234122342223432234422345223462234722348223492235022351223522235322354223552235622357223582235922360223612236222363223642236522366223672236822369223702237122372223732237422375223762237722378223792238022381223822238322384223852238622387223882238922390223912239222393223942239522396223972239822399224002240122402224032240422405224062240722408224092241022411224122241322414224152241622417224182241922420224212242222423224242242522426224272242822429224302243122432224332243422435224362243722438224392244022441224422244322444224452244622447224482244922450224512245222453224542245522456224572245822459224602246122462224632246422465224662246722468224692247022471224722247322474224752247622477224782247922480224812248222483224842248522486224872248822489224902249122492224932249422495224962249722498224992250022501225022250322504225052250622507225082250922510225112251222513225142251522516225172251822519225202252122522225232252422525225262252722528225292253022531225322253322534225352253622537225382253922540225412254222543225442254522546225472254822549225502255122552225532255422555225562255722558225592256022561225622256322564225652256622567225682256922570225712257222573225742257522576225772257822579225802258122582225832258422585225862258722588225892259022591225922259322594225952259622597225982259922600226012260222603226042260522606226072260822609226102261122612226132261422615226162261722618226192262022621226222262322624226252262622627226282262922630226312263222633226342263522636226372263822639226402264122642226432264422645226462264722648226492265022651226522265322654226552265622657226582265922660226612266222663226642266522666226672266822669226702267122672226732267422675226762267722678226792268022681226822268322684226852268622687226882268922690226912269222693226942269522696226972269822699227002270122702227032270422705227062270722708227092271022711227122271322714227152271622717227182271922720227212272222723227242272522726227272272822729227302273122732227332273422735227362273722738227392274022741227422274322744227452274622747227482274922750227512275222753227542275522756227572275822759227602276122762227632276422765227662276722768227692277022771227722277322774227752277622777227782277922780227812278222783227842278522786227872278822789227902279122792227932279422795227962279722798227992280022801228022280322804228052280622807228082280922810228112281222813228142281522816228172281822819228202282122822228232282422825228262282722828228292283022831228322283322834228352283622837228382283922840228412284222843228442284522846228472284822849228502285122852228532285422855228562285722858228592286022861228622286322864228652286622867228682286922870228712287222873228742287522876228772287822879228802288122882228832288422885228862288722888228892289022891228922289322894228952289622897228982289922900229012290222903229042290522906229072290822909229102291122912229132291422915229162291722918229192292022921229222292322924229252292622927229282292922930229312293222933229342293522936229372293822939229402294122942229432294422945229462294722948229492295022951229522295322954229552295622957229582295922960229612296222963229642296522966229672296822969229702297122972229732297422975229762297722978229792298022981229822298322984229852298622987229882298922990229912299222993229942299522996229972299822999230002300123002230032300423005230062300723008230092301023011230122301323014230152301623017230182301923020230212302223023230242302523026230272302823029230302303123032230332303423035230362303723038230392304023041230422304323044230452304623047230482304923050230512305223053230542305523056230572305823059230602306123062230632306423065230662306723068230692307023071230722307323074230752307623077230782307923080230812308223083230842308523086230872308823089230902309123092230932309423095230962309723098230992310023101231022310323104231052310623107231082310923110231112311223113231142311523116231172311823119231202312123122231232312423125231262312723128231292313023131231322313323134231352313623137231382313923140231412314223143231442314523146231472314823149231502315123152231532315423155231562315723158231592316023161231622316323164231652316623167231682316923170231712317223173231742317523176231772317823179231802318123182231832318423185231862318723188231892319023191231922319323194231952319623197231982319923200232012320223203232042320523206232072320823209232102321123212232132321423215232162321723218232192322023221232222322323224232252322623227232282322923230232312323223233232342323523236232372323823239232402324123242232432324423245232462324723248232492325023251232522325323254232552325623257232582325923260232612326223263232642326523266232672326823269232702327123272232732327423275232762327723278232792328023281232822328323284232852328623287232882328923290232912329223293232942329523296232972329823299233002330123302233032330423305233062330723308233092331023311233122331323314233152331623317233182331923320233212332223323233242332523326233272332823329233302333123332233332333423335233362333723338233392334023341233422334323344233452334623347233482334923350233512335223353233542335523356233572335823359233602336123362233632336423365233662336723368233692337023371233722337323374233752337623377233782337923380233812338223383233842338523386233872338823389233902339123392233932339423395233962339723398233992340023401234022340323404234052340623407234082340923410234112341223413234142341523416234172341823419234202342123422234232342423425234262342723428234292343023431234322343323434234352343623437234382343923440234412344223443234442344523446234472344823449234502345123452234532345423455234562345723458234592346023461234622346323464234652346623467234682346923470234712347223473234742347523476234772347823479234802348123482234832348423485234862348723488234892349023491234922349323494234952349623497234982349923500235012350223503235042350523506235072350823509235102351123512235132351423515235162351723518235192352023521235222352323524235252352623527235282352923530235312353223533235342353523536235372353823539235402354123542235432354423545235462354723548235492355023551235522355323554235552355623557235582355923560235612356223563235642356523566235672356823569235702357123572235732357423575235762357723578235792358023581235822358323584235852358623587235882358923590235912359223593235942359523596235972359823599236002360123602236032360423605236062360723608236092361023611236122361323614236152361623617236182361923620236212362223623236242362523626236272362823629236302363123632236332363423635236362363723638236392364023641236422364323644236452364623647236482364923650236512365223653236542365523656236572365823659236602366123662236632366423665236662366723668236692367023671236722367323674236752367623677236782367923680236812368223683236842368523686236872368823689236902369123692236932369423695236962369723698236992370023701237022370323704237052370623707237082370923710237112371223713237142371523716237172371823719237202372123722237232372423725237262372723728237292373023731237322373323734237352373623737237382373923740237412374223743237442374523746237472374823749237502375123752237532375423755237562375723758237592376023761237622376323764237652376623767237682376923770237712377223773237742377523776237772377823779237802378123782237832378423785237862378723788237892379023791237922379323794237952379623797237982379923800238012380223803238042380523806238072380823809238102381123812238132381423815238162381723818238192382023821238222382323824238252382623827238282382923830238312383223833238342383523836238372383823839238402384123842238432384423845238462384723848238492385023851238522385323854238552385623857238582385923860238612386223863238642386523866238672386823869238702387123872238732387423875238762387723878238792388023881238822388323884238852388623887238882388923890238912389223893238942389523896238972389823899239002390123902239032390423905239062390723908239092391023911239122391323914239152391623917239182391923920239212392223923239242392523926239272392823929239302393123932239332393423935239362393723938239392394023941239422394323944239452394623947239482394923950239512395223953239542395523956239572395823959239602396123962239632396423965239662396723968239692397023971239722397323974239752397623977239782397923980239812398223983239842398523986239872398823989239902399123992239932399423995239962399723998239992400024001240022400324004240052400624007240082400924010240112401224013240142401524016240172401824019240202402124022240232402424025240262402724028240292403024031240322403324034240352403624037240382403924040240412404224043240442404524046240472404824049240502405124052240532405424055240562405724058240592406024061240622406324064240652406624067240682406924070240712407224073240742407524076240772407824079240802408124082240832408424085240862408724088240892409024091240922409324094240952409624097240982409924100241012410224103241042410524106241072410824109241102411124112241132411424115241162411724118241192412024121241222412324124241252412624127241282412924130241312413224133241342413524136241372413824139241402414124142241432414424145241462414724148241492415024151241522415324154241552415624157241582415924160241612416224163241642416524166241672416824169241702417124172241732417424175241762417724178241792418024181241822418324184241852418624187241882418924190241912419224193241942419524196241972419824199242002420124202242032420424205242062420724208242092421024211242122421324214242152421624217242182421924220242212422224223242242422524226242272422824229242302423124232242332423424235242362423724238242392424024241242422424324244242452424624247242482424924250242512425224253242542425524256242572425824259242602426124262242632426424265242662426724268242692427024271242722427324274242752427624277242782427924280242812428224283242842428524286242872428824289242902429124292242932429424295242962429724298242992430024301243022430324304243052430624307243082430924310243112431224313243142431524316243172431824319243202432124322243232432424325243262432724328243292433024331243322433324334243352433624337243382433924340243412434224343243442434524346243472434824349243502435124352243532435424355243562435724358
  1. rclone(1) User Manual
  2. Nick Craig-Wood
  3. Feb 01, 2020
  4. RCLONE - RSYNC FOR CLOUD STORAGE
  5. Rclone is a command line program to sync files and directories to and
  6. from:
  7. - 1Fichier
  8. - Alibaba Cloud (Aliyun) Object Storage System (OSS)
  9. - Amazon Drive (See note)
  10. - Amazon S3
  11. - Backblaze B2
  12. - Box
  13. - Ceph
  14. - Citrix ShareFile
  15. - C14
  16. - DigitalOcean Spaces
  17. - Dreamhost
  18. - Dropbox
  19. - FTP
  20. - Google Cloud Storage
  21. - Google Drive
  22. - Google Photos
  23. - HTTP
  24. - Hubic
  25. - Jottacloud
  26. - IBM COS S3
  27. - Koofr
  28. - Mail.ru Cloud
  29. - Memset Memstore
  30. - Mega
  31. - Memory
  32. - Microsoft Azure Blob Storage
  33. - Microsoft OneDrive
  34. - Minio
  35. - Nextcloud
  36. - OVH
  37. - OpenDrive
  38. - Openstack Swift
  39. - Oracle Cloud Storage
  40. - ownCloud
  41. - pCloud
  42. - premiumize.me
  43. - put.io
  44. - QingStor
  45. - Rackspace Cloud Files
  46. - rsync.net
  47. - Scaleway
  48. - SFTP
  49. - SugarSync
  50. - Wasabi
  51. - WebDAV
  52. - Yandex Disk
  53. - The local filesystem
  54. Features
  55. - MD5/SHA1 hashes checked at all times for file integrity
  56. - Timestamps preserved on files
  57. - Partial syncs supported on a whole file basis
  58. - Copy mode to just copy new/changed files
  59. - Sync (one way) mode to make a directory identical
  60. - Check mode to check for file hash equality
  61. - Can sync to and from network, eg two different cloud accounts
  62. - Encryption backend
  63. - Cache backend
  64. - Chunking backend
  65. - Union backend
  66. - Optional FUSE mount (rclone mount)
  67. - Multi-threaded downloads to local disk
  68. - Can serve local or remote files over HTTP/WebDav/FTP/SFTP/dlna
  69. - Experimental Web based GUI
  70. Links
  71. - Home page
  72. - GitHub project page for source and bug tracker
  73. - Rclone Forum
  74. - Downloads
  75. INSTALL
  76. Rclone is a Go program and comes as a single binary file.
  77. Quickstart
  78. - Download the relevant binary.
  79. - Extract the rclone or rclone.exe binary from the archive
  80. - Run rclone config to setup. See rclone config docs for more details.
  81. See below for some expanded Linux / macOS instructions.
  82. See the Usage section of the docs for how to use rclone, or run
  83. rclone -h.
  84. Script installation
  85. To install rclone on Linux/macOS/BSD systems, run:
  86. curl https://rclone.org/install.sh | sudo bash
  87. For beta installation, run:
  88. curl https://rclone.org/install.sh | sudo bash -s beta
  89. Note that this script checks the version of rclone installed first and
  90. won’t re-download if not needed.
  91. Linux installation from precompiled binary
  92. Fetch and unpack
  93. curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
  94. unzip rclone-current-linux-amd64.zip
  95. cd rclone-*-linux-amd64
  96. Copy binary file
  97. sudo cp rclone /usr/bin/
  98. sudo chown root:root /usr/bin/rclone
  99. sudo chmod 755 /usr/bin/rclone
  100. Install manpage
  101. sudo mkdir -p /usr/local/share/man/man1
  102. sudo cp rclone.1 /usr/local/share/man/man1/
  103. sudo mandb
  104. Run rclone config to setup. See rclone config docs for more details.
  105. rclone config
  106. macOS installation with brew
  107. brew install rclone
  108. macOS installation from precompiled binary, using curl
  109. To avoid problems with macOS gatekeeper enforcing the binary to be
  110. signed and notarized it is enough to download with curl.
  111. Download the latest version of rclone.
  112. cd && curl -O https://downloads.rclone.org/rclone-current-osx-amd64.zip
  113. Unzip the download and cd to the extracted folder.
  114. unzip -a rclone-current-osx-amd64.zip && cd rclone-*-osx-amd64
  115. Move rclone to your $PATH. You will be prompted for your password.
  116. sudo mkdir -p /usr/local/bin
  117. sudo mv rclone /usr/local/bin/
  118. (the mkdir command is safe to run, even if the directory already
  119. exists).
  120. Remove the leftover files.
  121. cd .. && rm -rf rclone-*-osx-amd64 rclone-current-osx-amd64.zip
  122. Run rclone config to setup. See rclone config docs for more details.
  123. rclone config
  124. macOS installation from precompiled binary, using a web browser
  125. When downloading a binary with a web browser, the browser will set the
  126. macOS gatekeeper quarantine attribute. Starting from Catalina, when
  127. attempting to run rclone, a pop-up will appear saying:
  128. “rclone” cannot be opened because the developer cannot be verified.
  129. macOS cannot verify that this app is free from malware.
  130. The simplest fix is to run
  131. xattr -d com.apple.quarantine rclone
  132. Install with docker
  133. The rclone maintains a docker image for rclone. These images are
  134. autobuilt by docker hub from the rclone source based on a minimal Alpine
  135. linux image.
  136. The :latest tag will always point to the latest stable release. You can
  137. use the :beta tag to get the latest build from master. You can also use
  138. version tags, eg :1.49.1, :1.49 or :1.
  139. $ docker pull rclone/rclone:latest
  140. latest: Pulling from rclone/rclone
  141. Digest: sha256:0e0ced72671989bb837fea8e88578b3fc48371aa45d209663683e24cfdaa0e11
  142. ...
  143. $ docker run --rm rclone/rclone:latest version
  144. rclone v1.49.1
  145. - os/arch: linux/amd64
  146. - go version: go1.12.9
  147. There are a few command line options to consider when starting an rclone
  148. Docker container from the rclone image.
  149. - You need to mount the host rclone config dir at /config/rclone into
  150. the Docker container. Due to the fact that rclone updates tokens
  151. inside its config file, and that the update process involves a file
  152. rename, you need to mount the whole host rclone config dir, not just
  153. the single host rclone config file.
  154. - You need to mount a host data dir at /data into the Docker
  155. container.
  156. - By default, the rclone binary inside a Docker container runs with
  157. UID=0 (root). As a result, all files created in a run will have
  158. UID=0. If your config and data files reside on the host with a
  159. non-root UID:GID, you need to pass these on the container start
  160. command line.
  161. - It is possible to use rclone mount inside a userspace Docker
  162. container, and expose the resulting fuse mount to the host. The
  163. exact docker run options to do that might vary slightly between
  164. hosts. See, e.g. the discussion in this thread.
  165. You also need to mount the host /etc/passwd and /etc/group for fuse
  166. to work inside the container.
  167. Here are some commands tested on an Ubuntu 18.04.3 host:
  168. # config on host at ~/.config/rclone/rclone.conf
  169. # data on host at ~/data
  170. # make sure the config is ok by listing the remotes
  171. docker run --rm \
  172. --volume ~/.config/rclone:/config/rclone \
  173. --volume ~/data:/data:shared \
  174. --user $(id -u):$(id -g) \
  175. rclone/rclone \
  176. listremotes
  177. # perform mount inside Docker container, expose result to host
  178. mkdir -p ~/data/mount
  179. docker run --rm \
  180. --volume ~/.config/rclone:/config/rclone \
  181. --volume ~/data:/data:shared \
  182. --user $(id -u):$(id -g) \
  183. --volume /etc/passwd:/etc/passwd:ro --volume /etc/group:/etc/group:ro \
  184. --device /dev/fuse --cap-add SYS_ADMIN --security-opt apparmor:unconfined \
  185. rclone/rclone \
  186. mount dropbox:Photos /data/mount &
  187. ls ~/data/mount
  188. kill %1
  189. Install from source
  190. Make sure you have at least Go 1.7 installed. Download go if necessary.
  191. The latest release is recommended. Then
  192. git clone https://github.com/rclone/rclone.git
  193. cd rclone
  194. go build
  195. ./rclone version
  196. You can also build and install rclone in the GOPATH (which defaults to
  197. ~/go) with:
  198. go get -u -v github.com/rclone/rclone
  199. and this will build the binary in $GOPATH/bin (~/go/bin/rclone by
  200. default) after downloading the source to
  201. $GOPATH/src/github.com/rclone/rclone (~/go/src/github.com/rclone/rclone
  202. by default).
  203. Installation with Ansible
  204. This can be done with Stefan Weichinger’s ansible role.
  205. Instructions
  206. 1. git clone https://github.com/stefangweichinger/ansible-rclone.git
  207. into your local roles-directory
  208. 2. add the role to the hosts you want rclone installed to:
  209. - hosts: rclone-hosts
  210. roles:
  211. - rclone
  212. Configure
  213. First, you’ll need to configure rclone. As the object storage systems
  214. have quite complicated authentication these are kept in a config file.
  215. (See the --config entry for how to find the config file and choose its
  216. location.)
  217. The easiest way to make the config is to run rclone with the config
  218. option:
  219. rclone config
  220. See the following for detailed instructions for
  221. - 1Fichier
  222. - Alias
  223. - Amazon Drive
  224. - Amazon S3
  225. - Backblaze B2
  226. - Box
  227. - Cache
  228. - Chunker - transparently splits large files for other remotes
  229. - Citrix ShareFile
  230. - Crypt - to encrypt other remotes
  231. - DigitalOcean Spaces
  232. - Dropbox
  233. - FTP
  234. - Google Cloud Storage
  235. - Google Drive
  236. - Google Photos
  237. - HTTP
  238. - Hubic
  239. - Jottacloud / GetSky.no
  240. - Koofr
  241. - Mail.ru Cloud
  242. - Mega
  243. - Memory
  244. - Microsoft Azure Blob Storage
  245. - Microsoft OneDrive
  246. - Openstack Swift / Rackspace Cloudfiles / Memset Memstore
  247. - OpenDrive
  248. - Pcloud
  249. - premiumize.me
  250. - put.io
  251. - QingStor
  252. - SFTP
  253. - SugarSync
  254. - Union
  255. - WebDAV
  256. - Yandex Disk
  257. - The local filesystem
  258. Usage
  259. Rclone syncs a directory tree from one storage system to another.
  260. Its syntax is like this
  261. Syntax: [options] subcommand <parameters> <parameters...>
  262. Source and destination paths are specified by the name you gave the
  263. storage system in the config file then the sub path, eg “drive:myfolder”
  264. to look at “myfolder” in Google drive.
  265. You can define as many storage paths as you like in the config file.
  266. Subcommands
  267. rclone uses a system of subcommands. For example
  268. rclone ls remote:path # lists a remote
  269. rclone copy /local/path remote:path # copies /local/path to the remote
  270. rclone sync /local/path remote:path # syncs /local/path to the remote
  271. rclone config
  272. Enter an interactive configuration session.
  273. Synopsis
  274. Enter an interactive configuration session where you can setup new
  275. remotes and manage existing ones. You may also set or remove a password
  276. to protect your configuration.
  277. rclone config [flags]
  278. Options
  279. -h, --help help for config
  280. See the global flags page for global options not listed here.
  281. SEE ALSO
  282. - rclone - Show help for rclone commands, flags and backends.
  283. - rclone config create - Create a new remote with name, type and
  284. options.
  285. - rclone config delete - Delete an existing remote .
  286. - rclone config disconnect - Disconnects user from remote
  287. - rclone config dump - Dump the config file as JSON.
  288. - rclone config edit - Enter an interactive configuration session.
  289. - rclone config file - Show path of configuration file in use.
  290. - rclone config password - Update password in an existing remote.
  291. - rclone config providers - List in JSON format all the providers and
  292. options.
  293. - rclone config reconnect - Re-authenticates user with remote.
  294. - rclone config show - Print (decrypted) config file, or the config
  295. for a single remote.
  296. - rclone config update - Update options in an existing remote.
  297. - rclone config userinfo - Prints info about logged in user of remote.
  298. rclone copy
  299. Copy files from source to dest, skipping already copied
  300. Synopsis
  301. Copy the source to the destination. Doesn’t transfer unchanged files,
  302. testing by size and modification time or MD5SUM. Doesn’t delete files
  303. from the destination.
  304. Note that it is always the contents of the directory that is synced, not
  305. the directory so when source:path is a directory, it’s the contents of
  306. source:path that are copied, not the directory name and contents.
  307. If dest:path doesn’t exist, it is created and the source:path contents
  308. go there.
  309. For example
  310. rclone copy source:sourcepath dest:destpath
  311. Let’s say there are two files in sourcepath
  312. sourcepath/one.txt
  313. sourcepath/two.txt
  314. This copies them to
  315. destpath/one.txt
  316. destpath/two.txt
  317. Not to
  318. destpath/sourcepath/one.txt
  319. destpath/sourcepath/two.txt
  320. If you are familiar with rsync, rclone always works as if you had
  321. written a trailing / - meaning “copy the contents of this directory”.
  322. This applies to all commands and whether you are talking about the
  323. source or destination.
  324. See the –no-traverse option for controlling whether rclone lists the
  325. destination directory or not. Supplying this option when copying a small
  326. number of files into a large destination can speed transfers up greatly.
  327. For example, if you have many files in /path/to/src but only a few of
  328. them change every day, you can to copy all the files which have changed
  329. recently very efficiently like this:
  330. rclone copy --max-age 24h --no-traverse /path/to/src remote:
  331. NOTE: Use the -P/--progress flag to view real-time transfer statistics
  332. rclone copy source:path dest:path [flags]
  333. Options
  334. --create-empty-src-dirs Create empty source dirs on destination after copy
  335. -h, --help help for copy
  336. See the global flags page for global options not listed here.
  337. SEE ALSO
  338. - rclone - Show help for rclone commands, flags and backends.
  339. rclone sync
  340. Make source and dest identical, modifying destination only.
  341. Synopsis
  342. Sync the source to the destination, changing the destination only.
  343. Doesn’t transfer unchanged files, testing by size and modification time
  344. or MD5SUM. Destination is updated to match source, including deleting
  345. files if necessary.
  346. IMPORTANT: Since this can cause data loss, test first with the --dry-run
  347. flag to see exactly what would be copied and deleted.
  348. Note that files in the destination won’t be deleted if there were any
  349. errors at any point.
  350. It is always the contents of the directory that is synced, not the
  351. directory so when source:path is a directory, it’s the contents of
  352. source:path that are copied, not the directory name and contents. See
  353. extended explanation in the copy command above if unsure.
  354. If dest:path doesn’t exist, it is created and the source:path contents
  355. go there.
  356. NOTE: Use the -P/--progress flag to view real-time transfer statistics
  357. rclone sync source:path dest:path [flags]
  358. Options
  359. --create-empty-src-dirs Create empty source dirs on destination after sync
  360. -h, --help help for sync
  361. See the global flags page for global options not listed here.
  362. SEE ALSO
  363. - rclone - Show help for rclone commands, flags and backends.
  364. rclone move
  365. Move files from source to dest.
  366. Synopsis
  367. Moves the contents of the source directory to the destination directory.
  368. Rclone will error if the source and destination overlap and the remote
  369. does not support a server side directory move operation.
  370. If no filters are in use and if possible this will server side move
  371. source:path into dest:path. After this source:path will no longer longer
  372. exist.
  373. Otherwise for each file in source:path selected by the filters (if any)
  374. this will move it into dest:path. If possible a server side move will be
  375. used, otherwise it will copy it (server side if possible) into dest:path
  376. then delete the original (if no errors on copy) in source:path.
  377. If you want to delete empty source directories after move, use the
  378. –delete-empty-src-dirs flag.
  379. See the –no-traverse option for controlling whether rclone lists the
  380. destination directory or not. Supplying this option when moving a small
  381. number of files into a large destination can speed transfers up greatly.
  382. IMPORTANT: Since this can cause data loss, test first with the –dry-run
  383. flag.
  384. NOTE: Use the -P/--progress flag to view real-time transfer statistics.
  385. rclone move source:path dest:path [flags]
  386. Options
  387. --create-empty-src-dirs Create empty source dirs on destination after move
  388. --delete-empty-src-dirs Delete empty source dirs after move
  389. -h, --help help for move
  390. See the global flags page for global options not listed here.
  391. SEE ALSO
  392. - rclone - Show help for rclone commands, flags and backends.
  393. rclone delete
  394. Remove the contents of path.
  395. Synopsis
  396. Remove the files in path. Unlike purge it obeys include/exclude filters
  397. so can be used to selectively delete files.
  398. rclone delete only deletes objects but leaves the directory structure
  399. alone. If you want to delete a directory and all of its contents use
  400. rclone purge
  401. Eg delete all files bigger than 100MBytes
  402. Check what would be deleted first (use either)
  403. rclone --min-size 100M lsl remote:path
  404. rclone --dry-run --min-size 100M delete remote:path
  405. Then delete
  406. rclone --min-size 100M delete remote:path
  407. That reads “delete everything with a minimum size of 100 MB”, hence
  408. delete all files bigger than 100MBytes.
  409. rclone delete remote:path [flags]
  410. Options
  411. -h, --help help for delete
  412. See the global flags page for global options not listed here.
  413. SEE ALSO
  414. - rclone - Show help for rclone commands, flags and backends.
  415. rclone purge
  416. Remove the path and all of its contents.
  417. Synopsis
  418. Remove the path and all of its contents. Note that this does not obey
  419. include/exclude filters - everything will be removed. Use delete if you
  420. want to selectively delete files.
  421. rclone purge remote:path [flags]
  422. Options
  423. -h, --help help for purge
  424. See the global flags page for global options not listed here.
  425. SEE ALSO
  426. - rclone - Show help for rclone commands, flags and backends.
  427. rclone mkdir
  428. Make the path if it doesn’t already exist.
  429. Synopsis
  430. Make the path if it doesn’t already exist.
  431. rclone mkdir remote:path [flags]
  432. Options
  433. -h, --help help for mkdir
  434. See the global flags page for global options not listed here.
  435. SEE ALSO
  436. - rclone - Show help for rclone commands, flags and backends.
  437. rclone rmdir
  438. Remove the path if empty.
  439. Synopsis
  440. Remove the path. Note that you can’t remove a path with objects in it,
  441. use purge for that.
  442. rclone rmdir remote:path [flags]
  443. Options
  444. -h, --help help for rmdir
  445. See the global flags page for global options not listed here.
  446. SEE ALSO
  447. - rclone - Show help for rclone commands, flags and backends.
  448. rclone check
  449. Checks the files in the source and destination match.
  450. Synopsis
  451. Checks the files in the source and destination match. It compares sizes
  452. and hashes (MD5 or SHA1) and logs a report of files which don’t match.
  453. It doesn’t alter the source or destination.
  454. If you supply the –size-only flag, it will only compare the sizes not
  455. the hashes as well. Use this for a quick check.
  456. If you supply the –download flag, it will download the data from both
  457. remotes and check them against each other on the fly. This can be useful
  458. for remotes that don’t support hashes or if you really want to check all
  459. the data.
  460. If you supply the –one-way flag, it will only check that files in source
  461. match the files in destination, not the other way around. Meaning extra
  462. files in destination that are not in the source will not trigger an
  463. error.
  464. rclone check source:path dest:path [flags]
  465. Options
  466. --download Check by downloading rather than with hash.
  467. -h, --help help for check
  468. --one-way Check one way only, source files must exist on remote
  469. See the global flags page for global options not listed here.
  470. SEE ALSO
  471. - rclone - Show help for rclone commands, flags and backends.
  472. rclone ls
  473. List the objects in the path with size and path.
  474. Synopsis
  475. Lists the objects in the source path to standard output in a human
  476. readable format with size and path. Recurses by default.
  477. Eg
  478. $ rclone ls swift:bucket
  479. 60295 bevajer5jef
  480. 90613 canole
  481. 94467 diwogej7
  482. 37600 fubuwic
  483. Any of the filtering options can be applied to this command.
  484. There are several related list commands
  485. - ls to list size and path of objects only
  486. - lsl to list modification time, size and path of objects only
  487. - lsd to list directories only
  488. - lsf to list objects and directories in easy to parse format
  489. - lsjson to list objects and directories in JSON format
  490. ls,lsl,lsd are designed to be human readable. lsf is designed to be
  491. human and machine readable. lsjson is designed to be machine readable.
  492. Note that ls and lsl recurse by default - use “–max-depth 1” to stop the
  493. recursion.
  494. The other list commands lsd,lsf,lsjson do not recurse by default - use
  495. “-R” to make them recurse.
  496. Listing a non existent directory will produce an error except for
  497. remotes which can’t have empty directories (eg s3, swift, gcs, etc - the
  498. bucket based remotes).
  499. rclone ls remote:path [flags]
  500. Options
  501. -h, --help help for ls
  502. See the global flags page for global options not listed here.
  503. SEE ALSO
  504. - rclone - Show help for rclone commands, flags and backends.
  505. rclone lsd
  506. List all directories/containers/buckets in the path.
  507. Synopsis
  508. Lists the directories in the source path to standard output. Does not
  509. recurse by default. Use the -R flag to recurse.
  510. This command lists the total size of the directory (if known, -1 if
  511. not), the modification time (if known, the current time if not), the
  512. number of objects in the directory (if known, -1 if not) and the name of
  513. the directory, Eg
  514. $ rclone lsd swift:
  515. 494000 2018-04-26 08:43:20 10000 10000files
  516. 65 2018-04-26 08:43:20 1 1File
  517. Or
  518. $ rclone lsd drive:test
  519. -1 2016-10-17 17:41:53 -1 1000files
  520. -1 2017-01-03 14:40:54 -1 2500files
  521. -1 2017-07-08 14:39:28 -1 4000files
  522. If you just want the directory names use “rclone lsf –dirs-only”.
  523. Any of the filtering options can be applied to this command.
  524. There are several related list commands
  525. - ls to list size and path of objects only
  526. - lsl to list modification time, size and path of objects only
  527. - lsd to list directories only
  528. - lsf to list objects and directories in easy to parse format
  529. - lsjson to list objects and directories in JSON format
  530. ls,lsl,lsd are designed to be human readable. lsf is designed to be
  531. human and machine readable. lsjson is designed to be machine readable.
  532. Note that ls and lsl recurse by default - use “–max-depth 1” to stop the
  533. recursion.
  534. The other list commands lsd,lsf,lsjson do not recurse by default - use
  535. “-R” to make them recurse.
  536. Listing a non existent directory will produce an error except for
  537. remotes which can’t have empty directories (eg s3, swift, gcs, etc - the
  538. bucket based remotes).
  539. rclone lsd remote:path [flags]
  540. Options
  541. -h, --help help for lsd
  542. -R, --recursive Recurse into the listing.
  543. See the global flags page for global options not listed here.
  544. SEE ALSO
  545. - rclone - Show help for rclone commands, flags and backends.
  546. rclone lsl
  547. List the objects in path with modification time, size and path.
  548. Synopsis
  549. Lists the objects in the source path to standard output in a human
  550. readable format with modification time, size and path. Recurses by
  551. default.
  552. Eg
  553. $ rclone lsl swift:bucket
  554. 60295 2016-06-25 18:55:41.062626927 bevajer5jef
  555. 90613 2016-06-25 18:55:43.302607074 canole
  556. 94467 2016-06-25 18:55:43.046609333 diwogej7
  557. 37600 2016-06-25 18:55:40.814629136 fubuwic
  558. Any of the filtering options can be applied to this command.
  559. There are several related list commands
  560. - ls to list size and path of objects only
  561. - lsl to list modification time, size and path of objects only
  562. - lsd to list directories only
  563. - lsf to list objects and directories in easy to parse format
  564. - lsjson to list objects and directories in JSON format
  565. ls,lsl,lsd are designed to be human readable. lsf is designed to be
  566. human and machine readable. lsjson is designed to be machine readable.
  567. Note that ls and lsl recurse by default - use “–max-depth 1” to stop the
  568. recursion.
  569. The other list commands lsd,lsf,lsjson do not recurse by default - use
  570. “-R” to make them recurse.
  571. Listing a non existent directory will produce an error except for
  572. remotes which can’t have empty directories (eg s3, swift, gcs, etc - the
  573. bucket based remotes).
  574. rclone lsl remote:path [flags]
  575. Options
  576. -h, --help help for lsl
  577. See the global flags page for global options not listed here.
  578. SEE ALSO
  579. - rclone - Show help for rclone commands, flags and backends.
  580. rclone md5sum
  581. Produces an md5sum file for all the objects in the path.
  582. Synopsis
  583. Produces an md5sum file for all the objects in the path. This is in the
  584. same format as the standard md5sum tool produces.
  585. rclone md5sum remote:path [flags]
  586. Options
  587. -h, --help help for md5sum
  588. See the global flags page for global options not listed here.
  589. SEE ALSO
  590. - rclone - Show help for rclone commands, flags and backends.
  591. rclone sha1sum
  592. Produces an sha1sum file for all the objects in the path.
  593. Synopsis
  594. Produces an sha1sum file for all the objects in the path. This is in the
  595. same format as the standard sha1sum tool produces.
  596. rclone sha1sum remote:path [flags]
  597. Options
  598. -h, --help help for sha1sum
  599. See the global flags page for global options not listed here.
  600. SEE ALSO
  601. - rclone - Show help for rclone commands, flags and backends.
  602. rclone size
  603. Prints the total size and number of objects in remote:path.
  604. Synopsis
  605. Prints the total size and number of objects in remote:path.
  606. rclone size remote:path [flags]
  607. Options
  608. -h, --help help for size
  609. --json format output as JSON
  610. See the global flags page for global options not listed here.
  611. SEE ALSO
  612. - rclone - Show help for rclone commands, flags and backends.
  613. rclone version
  614. Show the version number.
  615. Synopsis
  616. Show the version number, the go version and the architecture.
  617. Eg
  618. $ rclone version
  619. rclone v1.41
  620. - os/arch: linux/amd64
  621. - go version: go1.10
  622. If you supply the –check flag, then it will do an online check to
  623. compare your version with the latest release and the latest beta.
  624. $ rclone version --check
  625. yours: 1.42.0.6
  626. latest: 1.42 (released 2018-06-16)
  627. beta: 1.42.0.5 (released 2018-06-17)
  628. Or
  629. $ rclone version --check
  630. yours: 1.41
  631. latest: 1.42 (released 2018-06-16)
  632. upgrade: https://downloads.rclone.org/v1.42
  633. beta: 1.42.0.5 (released 2018-06-17)
  634. upgrade: https://beta.rclone.org/v1.42-005-g56e1e820
  635. rclone version [flags]
  636. Options
  637. --check Check for new version.
  638. -h, --help help for version
  639. See the global flags page for global options not listed here.
  640. SEE ALSO
  641. - rclone - Show help for rclone commands, flags and backends.
  642. rclone cleanup
  643. Clean up the remote if possible
  644. Synopsis
  645. Clean up the remote if possible. Empty the trash or delete old file
  646. versions. Not supported by all remotes.
  647. rclone cleanup remote:path [flags]
  648. Options
  649. -h, --help help for cleanup
  650. See the global flags page for global options not listed here.
  651. SEE ALSO
  652. - rclone - Show help for rclone commands, flags and backends.
  653. rclone dedupe
  654. Interactively find duplicate files and delete/rename them.
  655. Synopsis
  656. By default dedupe interactively finds duplicate files and offers to
  657. delete all but one or rename them to be different. Only useful with
  658. Google Drive which can have duplicate file names.
  659. In the first pass it will merge directories with the same name. It will
  660. do this iteratively until all the identical directories have been
  661. merged.
  662. The dedupe command will delete all but one of any identical (same
  663. md5sum) files it finds without confirmation. This means that for most
  664. duplicated files the dedupe command will not be interactive. You can use
  665. --dry-run to see what would happen without doing anything.
  666. Here is an example run.
  667. Before - with duplicates
  668. $ rclone lsl drive:dupes
  669. 6048320 2016-03-05 16:23:16.798000000 one.txt
  670. 6048320 2016-03-05 16:23:11.775000000 one.txt
  671. 564374 2016-03-05 16:23:06.731000000 one.txt
  672. 6048320 2016-03-05 16:18:26.092000000 one.txt
  673. 6048320 2016-03-05 16:22:46.185000000 two.txt
  674. 1744073 2016-03-05 16:22:38.104000000 two.txt
  675. 564374 2016-03-05 16:22:52.118000000 two.txt
  676. Now the dedupe session
  677. $ rclone dedupe drive:dupes
  678. 2016/03/05 16:24:37 Google drive root 'dupes': Looking for duplicates using interactive mode.
  679. one.txt: Found 4 duplicates - deleting identical copies
  680. one.txt: Deleting 2/3 identical duplicates (md5sum "1eedaa9fe86fd4b8632e2ac549403b36")
  681. one.txt: 2 duplicates remain
  682. 1: 6048320 bytes, 2016-03-05 16:23:16.798000000, md5sum 1eedaa9fe86fd4b8632e2ac549403b36
  683. 2: 564374 bytes, 2016-03-05 16:23:06.731000000, md5sum 7594e7dc9fc28f727c42ee3e0749de81
  684. s) Skip and do nothing
  685. k) Keep just one (choose which in next step)
  686. r) Rename all to be different (by changing file.jpg to file-1.jpg)
  687. s/k/r> k
  688. Enter the number of the file to keep> 1
  689. one.txt: Deleted 1 extra copies
  690. two.txt: Found 3 duplicates - deleting identical copies
  691. two.txt: 3 duplicates remain
  692. 1: 564374 bytes, 2016-03-05 16:22:52.118000000, md5sum 7594e7dc9fc28f727c42ee3e0749de81
  693. 2: 6048320 bytes, 2016-03-05 16:22:46.185000000, md5sum 1eedaa9fe86fd4b8632e2ac549403b36
  694. 3: 1744073 bytes, 2016-03-05 16:22:38.104000000, md5sum 851957f7fb6f0bc4ce76be966d336802
  695. s) Skip and do nothing
  696. k) Keep just one (choose which in next step)
  697. r) Rename all to be different (by changing file.jpg to file-1.jpg)
  698. s/k/r> r
  699. two-1.txt: renamed from: two.txt
  700. two-2.txt: renamed from: two.txt
  701. two-3.txt: renamed from: two.txt
  702. The result being
  703. $ rclone lsl drive:dupes
  704. 6048320 2016-03-05 16:23:16.798000000 one.txt
  705. 564374 2016-03-05 16:22:52.118000000 two-1.txt
  706. 6048320 2016-03-05 16:22:46.185000000 two-2.txt
  707. 1744073 2016-03-05 16:22:38.104000000 two-3.txt
  708. Dedupe can be run non interactively using the --dedupe-mode flag or by
  709. using an extra parameter with the same value
  710. - --dedupe-mode interactive - interactive as above.
  711. - --dedupe-mode skip - removes identical files then skips anything
  712. left.
  713. - --dedupe-mode first - removes identical files then keeps the first
  714. one.
  715. - --dedupe-mode newest - removes identical files then keeps the newest
  716. one.
  717. - --dedupe-mode oldest - removes identical files then keeps the oldest
  718. one.
  719. - --dedupe-mode largest - removes identical files then keeps the
  720. largest one.
  721. - --dedupe-mode smallest - removes identical files then keeps the
  722. smallest one.
  723. - --dedupe-mode rename - removes identical files then renames the rest
  724. to be different.
  725. For example to rename all the identically named photos in your Google
  726. Photos directory, do
  727. rclone dedupe --dedupe-mode rename "drive:Google Photos"
  728. Or
  729. rclone dedupe rename "drive:Google Photos"
  730. rclone dedupe [mode] remote:path [flags]
  731. Options
  732. --dedupe-mode string Dedupe mode interactive|skip|first|newest|oldest|largest|smallest|rename. (default "interactive")
  733. -h, --help help for dedupe
  734. See the global flags page for global options not listed here.
  735. SEE ALSO
  736. - rclone - Show help for rclone commands, flags and backends.
  737. rclone about
  738. Get quota information from the remote.
  739. Synopsis
  740. Get quota information from the remote, like bytes used/free/quota and
  741. bytes used in the trash. Not supported by all remotes.
  742. This will print to stdout something like this:
  743. Total: 17G
  744. Used: 7.444G
  745. Free: 1.315G
  746. Trashed: 100.000M
  747. Other: 8.241G
  748. Where the fields are:
  749. - Total: total size available.
  750. - Used: total size used
  751. - Free: total amount this user could upload.
  752. - Trashed: total amount in the trash
  753. - Other: total amount in other storage (eg Gmail, Google Photos)
  754. - Objects: total number of objects in the storage
  755. Note that not all the backends provide all the fields - they will be
  756. missing if they are not known for that backend. Where it is known that
  757. the value is unlimited the value will also be omitted.
  758. Use the –full flag to see the numbers written out in full, eg
  759. Total: 18253611008
  760. Used: 7993453766
  761. Free: 1411001220
  762. Trashed: 104857602
  763. Other: 8849156022
  764. Use the –json flag for a computer readable output, eg
  765. {
  766. "total": 18253611008,
  767. "used": 7993453766,
  768. "trashed": 104857602,
  769. "other": 8849156022,
  770. "free": 1411001220
  771. }
  772. rclone about remote: [flags]
  773. Options
  774. --full Full numbers instead of SI units
  775. -h, --help help for about
  776. --json Format output as JSON
  777. See the global flags page for global options not listed here.
  778. SEE ALSO
  779. - rclone - Show help for rclone commands, flags and backends.
  780. rclone authorize
  781. Remote authorization.
  782. Synopsis
  783. Remote authorization. Used to authorize a remote or headless rclone from
  784. a machine with a browser - use as instructed by rclone config.
  785. Use the –auth-no-open-browser to prevent rclone to open auth link in
  786. default browser automatically.
  787. rclone authorize [flags]
  788. Options
  789. --auth-no-open-browser Do not automatically open auth link in default browser
  790. -h, --help help for authorize
  791. See the global flags page for global options not listed here.
  792. SEE ALSO
  793. - rclone - Show help for rclone commands, flags and backends.
  794. rclone cachestats
  795. Print cache stats for a remote
  796. Synopsis
  797. Print cache stats for a remote in JSON format
  798. rclone cachestats source: [flags]
  799. Options
  800. -h, --help help for cachestats
  801. See the global flags page for global options not listed here.
  802. SEE ALSO
  803. - rclone - Show help for rclone commands, flags and backends.
  804. rclone cat
  805. Concatenates any files and sends them to stdout.
  806. Synopsis
  807. rclone cat sends any files to standard output.
  808. You can use it like this to output a single file
  809. rclone cat remote:path/to/file
  810. Or like this to output any file in dir or subdirectories.
  811. rclone cat remote:path/to/dir
  812. Or like this to output any .txt files in dir or subdirectories.
  813. rclone --include "*.txt" cat remote:path/to/dir
  814. Use the –head flag to print characters only at the start, –tail for the
  815. end and –offset and –count to print a section in the middle. Note that
  816. if offset is negative it will count from the end, so –offset -1 –count 1
  817. is equivalent to –tail 1.
  818. rclone cat remote:path [flags]
  819. Options
  820. --count int Only print N characters. (default -1)
  821. --discard Discard the output instead of printing.
  822. --head int Only print the first N characters.
  823. -h, --help help for cat
  824. --offset int Start printing at offset N (or from end if -ve).
  825. --tail int Only print the last N characters.
  826. See the global flags page for global options not listed here.
  827. SEE ALSO
  828. - rclone - Show help for rclone commands, flags and backends.
  829. rclone config create
  830. Create a new remote with name, type and options.
  831. Synopsis
  832. Create a new remote of with and options. The options should be passed in
  833. in pairs of .
  834. For example to make a swift remote of name myremote using auto config
  835. you would do:
  836. rclone config create myremote swift env_auth true
  837. Note that if the config process would normally ask a question the
  838. default is taken. Each time that happens rclone will print a message
  839. saying how to affect the value taken.
  840. If any of the parameters passed is a password field, then rclone will
  841. automatically obscure them before putting them in the config file.
  842. So for example if you wanted to configure a Google Drive remote but
  843. using remote authorization you would do this:
  844. rclone config create mydrive drive config_is_local false
  845. rclone config create <name> <type> [<key> <value>]* [flags]
  846. Options
  847. -h, --help help for create
  848. See the global flags page for global options not listed here.
  849. SEE ALSO
  850. - rclone config - Enter an interactive configuration session.
  851. rclone config delete
  852. Delete an existing remote .
  853. Synopsis
  854. Delete an existing remote .
  855. rclone config delete <name> [flags]
  856. Options
  857. -h, --help help for delete
  858. See the global flags page for global options not listed here.
  859. SEE ALSO
  860. - rclone config - Enter an interactive configuration session.
  861. rclone config disconnect
  862. Disconnects user from remote
  863. Synopsis
  864. This disconnects the remote: passed in to the cloud storage system.
  865. This normally means revoking the oauth token.
  866. To reconnect use “rclone config reconnect”.
  867. rclone config disconnect remote: [flags]
  868. Options
  869. -h, --help help for disconnect
  870. See the global flags page for global options not listed here.
  871. SEE ALSO
  872. - rclone config - Enter an interactive configuration session.
  873. rclone config dump
  874. Dump the config file as JSON.
  875. Synopsis
  876. Dump the config file as JSON.
  877. rclone config dump [flags]
  878. Options
  879. -h, --help help for dump
  880. See the global flags page for global options not listed here.
  881. SEE ALSO
  882. - rclone config - Enter an interactive configuration session.
  883. rclone config edit
  884. Enter an interactive configuration session.
  885. Synopsis
  886. Enter an interactive configuration session where you can setup new
  887. remotes and manage existing ones. You may also set or remove a password
  888. to protect your configuration.
  889. rclone config edit [flags]
  890. Options
  891. -h, --help help for edit
  892. See the global flags page for global options not listed here.
  893. SEE ALSO
  894. - rclone config - Enter an interactive configuration session.
  895. rclone config file
  896. Show path of configuration file in use.
  897. Synopsis
  898. Show path of configuration file in use.
  899. rclone config file [flags]
  900. Options
  901. -h, --help help for file
  902. See the global flags page for global options not listed here.
  903. SEE ALSO
  904. - rclone config - Enter an interactive configuration session.
  905. rclone config password
  906. Update password in an existing remote.
  907. Synopsis
  908. Update an existing remote’s password. The password should be passed in
  909. in pairs of .
  910. For example to set password of a remote of name myremote you would do:
  911. rclone config password myremote fieldname mypassword
  912. This command is obsolete now that “config update” and “config create”
  913. both support obscuring passwords directly.
  914. rclone config password <name> [<key> <value>]+ [flags]
  915. Options
  916. -h, --help help for password
  917. See the global flags page for global options not listed here.
  918. SEE ALSO
  919. - rclone config - Enter an interactive configuration session.
  920. rclone config providers
  921. List in JSON format all the providers and options.
  922. Synopsis
  923. List in JSON format all the providers and options.
  924. rclone config providers [flags]
  925. Options
  926. -h, --help help for providers
  927. See the global flags page for global options not listed here.
  928. SEE ALSO
  929. - rclone config - Enter an interactive configuration session.
  930. rclone config reconnect
  931. Re-authenticates user with remote.
  932. Synopsis
  933. This reconnects remote: passed in to the cloud storage system.
  934. To disconnect the remote use “rclone config disconnect”.
  935. This normally means going through the interactive oauth flow again.
  936. rclone config reconnect remote: [flags]
  937. Options
  938. -h, --help help for reconnect
  939. See the global flags page for global options not listed here.
  940. SEE ALSO
  941. - rclone config - Enter an interactive configuration session.
  942. rclone config show
  943. Print (decrypted) config file, or the config for a single remote.
  944. Synopsis
  945. Print (decrypted) config file, or the config for a single remote.
  946. rclone config show [<remote>] [flags]
  947. Options
  948. -h, --help help for show
  949. See the global flags page for global options not listed here.
  950. SEE ALSO
  951. - rclone config - Enter an interactive configuration session.
  952. rclone config update
  953. Update options in an existing remote.
  954. Synopsis
  955. Update an existing remote’s options. The options should be passed in in
  956. pairs of .
  957. For example to update the env_auth field of a remote of name myremote
  958. you would do:
  959. rclone config update myremote swift env_auth true
  960. If any of the parameters passed is a password field, then rclone will
  961. automatically obscure them before putting them in the config file.
  962. If the remote uses oauth the token will be updated, if you don’t require
  963. this add an extra parameter thus:
  964. rclone config update myremote swift env_auth true config_refresh_token false
  965. rclone config update <name> [<key> <value>]+ [flags]
  966. Options
  967. -h, --help help for update
  968. See the global flags page for global options not listed here.
  969. SEE ALSO
  970. - rclone config - Enter an interactive configuration session.
  971. rclone config userinfo
  972. Prints info about logged in user of remote.
  973. Synopsis
  974. This prints the details of the person logged in to the cloud storage
  975. system.
  976. rclone config userinfo remote: [flags]
  977. Options
  978. -h, --help help for userinfo
  979. --json Format output as JSON
  980. See the global flags page for global options not listed here.
  981. SEE ALSO
  982. - rclone config - Enter an interactive configuration session.
  983. rclone copyto
  984. Copy files from source to dest, skipping already copied
  985. Synopsis
  986. If source:path is a file or directory then it copies it to a file or
  987. directory named dest:path.
  988. This can be used to upload single files to other than their current
  989. name. If the source is a directory then it acts exactly like the copy
  990. command.
  991. So
  992. rclone copyto src dst
  993. where src and dst are rclone paths, either remote:path or /path/to/local
  994. or C:.
  995. This will:
  996. if src is file
  997. copy it to dst, overwriting an existing file if it exists
  998. if src is directory
  999. copy it to dst, overwriting existing files if they exist
  1000. see copy command for full details
  1001. This doesn’t transfer unchanged files, testing by size and modification
  1002. time or MD5SUM. It doesn’t delete files from the destination.
  1003. NOTE: Use the -P/--progress flag to view real-time transfer statistics
  1004. rclone copyto source:path dest:path [flags]
  1005. Options
  1006. -h, --help help for copyto
  1007. See the global flags page for global options not listed here.
  1008. SEE ALSO
  1009. - rclone - Show help for rclone commands, flags and backends.
  1010. rclone copyurl
  1011. Copy url content to dest.
  1012. Synopsis
  1013. Download a URL’s content and copy it to the destination without saving
  1014. it in temporary storage.
  1015. Setting –auto-filename will cause the file name to be retreived from the
  1016. from URL (after any redirections) and used in the destination path.
  1017. Setting –stdout or making the output file name “-” will cause the output
  1018. to be written to standard output.
  1019. rclone copyurl https://example.com dest:path [flags]
  1020. Options
  1021. -a, --auto-filename Get the file name from the URL and use it for destination file path
  1022. -h, --help help for copyurl
  1023. --stdout Write the output to stdout rather than a file
  1024. See the global flags page for global options not listed here.
  1025. SEE ALSO
  1026. - rclone - Show help for rclone commands, flags and backends.
  1027. rclone cryptcheck
  1028. Cryptcheck checks the integrity of a crypted remote.
  1029. Synopsis
  1030. rclone cryptcheck checks a remote against a crypted remote. This is the
  1031. equivalent of running rclone check, but able to check the checksums of
  1032. the crypted remote.
  1033. For it to work the underlying remote of the cryptedremote must support
  1034. some kind of checksum.
  1035. It works by reading the nonce from each file on the cryptedremote: and
  1036. using that to encrypt each file on the remote:. It then checks the
  1037. checksum of the underlying file on the cryptedremote: against the
  1038. checksum of the file it has just encrypted.
  1039. Use it like this
  1040. rclone cryptcheck /path/to/files encryptedremote:path
  1041. You can use it like this also, but that will involve downloading all the
  1042. files in remote:path.
  1043. rclone cryptcheck remote:path encryptedremote:path
  1044. After it has run it will log the status of the encryptedremote:.
  1045. If you supply the –one-way flag, it will only check that files in source
  1046. match the files in destination, not the other way around. Meaning extra
  1047. files in destination that are not in the source will not trigger an
  1048. error.
  1049. rclone cryptcheck remote:path cryptedremote:path [flags]
  1050. Options
  1051. -h, --help help for cryptcheck
  1052. --one-way Check one way only, source files must exist on destination
  1053. See the global flags page for global options not listed here.
  1054. SEE ALSO
  1055. - rclone - Show help for rclone commands, flags and backends.
  1056. rclone cryptdecode
  1057. Cryptdecode returns unencrypted file names.
  1058. Synopsis
  1059. rclone cryptdecode returns unencrypted file names when provided with a
  1060. list of encrypted file names. List limit is 10 items.
  1061. If you supply the –reverse flag, it will return encrypted file names.
  1062. use it like this
  1063. rclone cryptdecode encryptedremote: encryptedfilename1 encryptedfilename2
  1064. rclone cryptdecode --reverse encryptedremote: filename1 filename2
  1065. rclone cryptdecode encryptedremote: encryptedfilename [flags]
  1066. Options
  1067. -h, --help help for cryptdecode
  1068. --reverse Reverse cryptdecode, encrypts filenames
  1069. See the global flags page for global options not listed here.
  1070. SEE ALSO
  1071. - rclone - Show help for rclone commands, flags and backends.
  1072. rclone dbhashsum
  1073. Produces a Dropbox hash file for all the objects in the path.
  1074. Synopsis
  1075. Produces a Dropbox hash file for all the objects in the path. The hashes
  1076. are calculated according to Dropbox content hash rules. The output is in
  1077. the same format as md5sum and sha1sum.
  1078. rclone dbhashsum remote:path [flags]
  1079. Options
  1080. -h, --help help for dbhashsum
  1081. See the global flags page for global options not listed here.
  1082. SEE ALSO
  1083. - rclone - Show help for rclone commands, flags and backends.
  1084. rclone deletefile
  1085. Remove a single file from remote.
  1086. Synopsis
  1087. Remove a single file from remote. Unlike delete it cannot be used to
  1088. remove a directory and it doesn’t obey include/exclude filters - if the
  1089. specified file exists, it will always be removed.
  1090. rclone deletefile remote:path [flags]
  1091. Options
  1092. -h, --help help for deletefile
  1093. See the global flags page for global options not listed here.
  1094. SEE ALSO
  1095. - rclone - Show help for rclone commands, flags and backends.
  1096. rclone genautocomplete
  1097. Output completion script for a given shell.
  1098. Synopsis
  1099. Generates a shell completion script for rclone. Run with –help to list
  1100. the supported shells.
  1101. Options
  1102. -h, --help help for genautocomplete
  1103. See the global flags page for global options not listed here.
  1104. SEE ALSO
  1105. - rclone - Show help for rclone commands, flags and backends.
  1106. - rclone genautocomplete bash - Output bash completion script for
  1107. rclone.
  1108. - rclone genautocomplete zsh - Output zsh completion script for
  1109. rclone.
  1110. rclone genautocomplete bash
  1111. Output bash completion script for rclone.
  1112. Synopsis
  1113. Generates a bash shell autocompletion script for rclone.
  1114. This writes to /etc/bash_completion.d/rclone by default so will probably
  1115. need to be run with sudo or as root, eg
  1116. sudo rclone genautocomplete bash
  1117. Logout and login again to use the autocompletion scripts, or source them
  1118. directly
  1119. . /etc/bash_completion
  1120. If you supply a command line argument the script will be written there.
  1121. rclone genautocomplete bash [output_file] [flags]
  1122. Options
  1123. -h, --help help for bash
  1124. See the global flags page for global options not listed here.
  1125. SEE ALSO
  1126. - rclone genautocomplete - Output completion script for a given shell.
  1127. rclone genautocomplete zsh
  1128. Output zsh completion script for rclone.
  1129. Synopsis
  1130. Generates a zsh autocompletion script for rclone.
  1131. This writes to /usr/share/zsh/vendor-completions/_rclone by default so
  1132. will probably need to be run with sudo or as root, eg
  1133. sudo rclone genautocomplete zsh
  1134. Logout and login again to use the autocompletion scripts, or source them
  1135. directly
  1136. autoload -U compinit && compinit
  1137. If you supply a command line argument the script will be written there.
  1138. rclone genautocomplete zsh [output_file] [flags]
  1139. Options
  1140. -h, --help help for zsh
  1141. See the global flags page for global options not listed here.
  1142. SEE ALSO
  1143. - rclone genautocomplete - Output completion script for a given shell.
  1144. rclone gendocs
  1145. Output markdown docs for rclone to the directory supplied.
  1146. Synopsis
  1147. This produces markdown docs for the rclone commands to the directory
  1148. supplied. These are in a format suitable for hugo to render into the
  1149. rclone.org website.
  1150. rclone gendocs output_directory [flags]
  1151. Options
  1152. -h, --help help for gendocs
  1153. See the global flags page for global options not listed here.
  1154. SEE ALSO
  1155. - rclone - Show help for rclone commands, flags and backends.
  1156. rclone hashsum
  1157. Produces an hashsum file for all the objects in the path.
  1158. Synopsis
  1159. Produces a hash file for all the objects in the path using the hash
  1160. named. The output is in the same format as the standard md5sum/sha1sum
  1161. tool.
  1162. Run without a hash to see the list of supported hashes, eg
  1163. $ rclone hashsum
  1164. Supported hashes are:
  1165. * MD5
  1166. * SHA-1
  1167. * DropboxHash
  1168. * QuickXorHash
  1169. Then
  1170. $ rclone hashsum MD5 remote:path
  1171. rclone hashsum <hash> remote:path [flags]
  1172. Options
  1173. --base64 Output base64 encoded hashsum
  1174. -h, --help help for hashsum
  1175. See the global flags page for global options not listed here.
  1176. SEE ALSO
  1177. - rclone - Show help for rclone commands, flags and backends.
  1178. rclone link
  1179. Generate public link to file/folder.
  1180. Synopsis
  1181. rclone link will create or retrieve a public link to the given file or
  1182. folder.
  1183. rclone link remote:path/to/file
  1184. rclone link remote:path/to/folder/
  1185. If successful, the last line of the output will contain the link. Exact
  1186. capabilities depend on the remote, but the link will always be created
  1187. with the least constraints – e.g. no expiry, no password protection,
  1188. accessible without account.
  1189. rclone link remote:path [flags]
  1190. Options
  1191. -h, --help help for link
  1192. See the global flags page for global options not listed here.
  1193. SEE ALSO
  1194. - rclone - Show help for rclone commands, flags and backends.
  1195. rclone listremotes
  1196. List all the remotes in the config file.
  1197. Synopsis
  1198. rclone listremotes lists all the available remotes from the config file.
  1199. When uses with the -l flag it lists the types too.
  1200. rclone listremotes [flags]
  1201. Options
  1202. -h, --help help for listremotes
  1203. --long Show the type as well as names.
  1204. See the global flags page for global options not listed here.
  1205. SEE ALSO
  1206. - rclone - Show help for rclone commands, flags and backends.
  1207. rclone lsf
  1208. List directories and objects in remote:path formatted for parsing
  1209. Synopsis
  1210. List the contents of the source path (directories and objects) to
  1211. standard output in a form which is easy to parse by scripts. By default
  1212. this will just be the names of the objects and directories, one per
  1213. line. The directories will have a / suffix.
  1214. Eg
  1215. $ rclone lsf swift:bucket
  1216. bevajer5jef
  1217. canole
  1218. diwogej7
  1219. ferejej3gux/
  1220. fubuwic
  1221. Use the –format option to control what gets listed. By default this is
  1222. just the path, but you can use these parameters to control the output:
  1223. p - path
  1224. s - size
  1225. t - modification time
  1226. h - hash
  1227. i - ID of object
  1228. o - Original ID of underlying object
  1229. m - MimeType of object if known
  1230. e - encrypted name
  1231. T - tier of storage if known, eg "Hot" or "Cool"
  1232. So if you wanted the path, size and modification time, you would use
  1233. –format “pst”, or maybe –format “tsp” to put the path last.
  1234. Eg
  1235. $ rclone lsf --format "tsp" swift:bucket
  1236. 2016-06-25 18:55:41;60295;bevajer5jef
  1237. 2016-06-25 18:55:43;90613;canole
  1238. 2016-06-25 18:55:43;94467;diwogej7
  1239. 2018-04-26 08:50:45;0;ferejej3gux/
  1240. 2016-06-25 18:55:40;37600;fubuwic
  1241. If you specify “h” in the format you will get the MD5 hash by default,
  1242. use the “–hash” flag to change which hash you want. Note that this can
  1243. be returned as an empty string if it isn’t available on the object (and
  1244. for directories), “ERROR” if there was an error reading it from the
  1245. object and “UNSUPPORTED” if that object does not support that hash type.
  1246. For example to emulate the md5sum command you can use
  1247. rclone lsf -R --hash MD5 --format hp --separator " " --files-only .
  1248. Eg
  1249. $ rclone lsf -R --hash MD5 --format hp --separator " " --files-only swift:bucket
  1250. 7908e352297f0f530b84a756f188baa3 bevajer5jef
  1251. cd65ac234e6fea5925974a51cdd865cc canole
  1252. 03b5341b4f234b9d984d03ad076bae91 diwogej7
  1253. 8fd37c3810dd660778137ac3a66cc06d fubuwic
  1254. 99713e14a4c4ff553acaf1930fad985b gixacuh7ku
  1255. (Though “rclone md5sum .” is an easier way of typing this.)
  1256. By default the separator is “;” this can be changed with the –separator
  1257. flag. Note that separators aren’t escaped in the path so putting it last
  1258. is a good strategy.
  1259. Eg
  1260. $ rclone lsf --separator "," --format "tshp" swift:bucket
  1261. 2016-06-25 18:55:41,60295,7908e352297f0f530b84a756f188baa3,bevajer5jef
  1262. 2016-06-25 18:55:43,90613,cd65ac234e6fea5925974a51cdd865cc,canole
  1263. 2016-06-25 18:55:43,94467,03b5341b4f234b9d984d03ad076bae91,diwogej7
  1264. 2018-04-26 08:52:53,0,,ferejej3gux/
  1265. 2016-06-25 18:55:40,37600,8fd37c3810dd660778137ac3a66cc06d,fubuwic
  1266. You can output in CSV standard format. This will escape things in " if
  1267. they contain ,
  1268. Eg
  1269. $ rclone lsf --csv --files-only --format ps remote:path
  1270. test.log,22355
  1271. test.sh,449
  1272. "this file contains a comma, in the file name.txt",6
  1273. Note that the –absolute parameter is useful for making lists of files to
  1274. pass to an rclone copy with the –files-from flag.
  1275. For example to find all the files modified within one day and copy those
  1276. only (without traversing the whole directory structure):
  1277. rclone lsf --absolute --files-only --max-age 1d /path/to/local > new_files
  1278. rclone copy --files-from new_files /path/to/local remote:path
  1279. Any of the filtering options can be applied to this command.
  1280. There are several related list commands
  1281. - ls to list size and path of objects only
  1282. - lsl to list modification time, size and path of objects only
  1283. - lsd to list directories only
  1284. - lsf to list objects and directories in easy to parse format
  1285. - lsjson to list objects and directories in JSON format
  1286. ls,lsl,lsd are designed to be human readable. lsf is designed to be
  1287. human and machine readable. lsjson is designed to be machine readable.
  1288. Note that ls and lsl recurse by default - use “–max-depth 1” to stop the
  1289. recursion.
  1290. The other list commands lsd,lsf,lsjson do not recurse by default - use
  1291. “-R” to make them recurse.
  1292. Listing a non existent directory will produce an error except for
  1293. remotes which can’t have empty directories (eg s3, swift, gcs, etc - the
  1294. bucket based remotes).
  1295. rclone lsf remote:path [flags]
  1296. Options
  1297. --absolute Put a leading / in front of path names.
  1298. --csv Output in CSV format.
  1299. -d, --dir-slash Append a slash to directory names. (default true)
  1300. --dirs-only Only list directories.
  1301. --files-only Only list files.
  1302. -F, --format string Output format - see help for details (default "p")
  1303. --hash h Use this hash when h is used in the format MD5|SHA-1|DropboxHash (default "MD5")
  1304. -h, --help help for lsf
  1305. -R, --recursive Recurse into the listing.
  1306. -s, --separator string Separator for the items in the format. (default ";")
  1307. See the global flags page for global options not listed here.
  1308. SEE ALSO
  1309. - rclone - Show help for rclone commands, flags and backends.
  1310. rclone lsjson
  1311. List directories and objects in the path in JSON format.
  1312. Synopsis
  1313. List directories and objects in the path in JSON format.
  1314. The output is an array of Items, where each Item looks like this
  1315. { “Hashes” : { “SHA-1” : “f572d396fae9206628714fb2ce00f72e94f2258f”,
  1316. “MD5” : “b1946ac92492d2347c6235b4d2611184”, “DropboxHash” :
  1317. “ecb65bb98f9d905b70458986c39fcbad7715e5f2fcc3b1f07767d7c83e2438cc” },
  1318. “ID”: “y2djkhiujf83u33”, “OrigID”: “UYOJVTUW00Q1RzTDA”, “IsBucket” :
  1319. false, “IsDir” : false, “MimeType” : “application/octet-stream”,
  1320. “ModTime” : “2017-05-31T16:15:57.034468261+01:00”, “Name” : “file.txt”,
  1321. “Encrypted” : “v0qpsdq8anpci8n929v3uu9338”, “EncryptedPath” :
  1322. “kja9098349023498/v0qpsdq8anpci8n929v3uu9338”, “Path” :
  1323. “full/path/goes/here/file.txt”, “Size” : 6, “Tier” : “hot”, }
  1324. If –hash is not specified the Hashes property won’t be emitted.
  1325. If –no-modtime is specified then ModTime will be blank. This can speed
  1326. things up on remotes where reading the ModTime takes an extra request
  1327. (eg s3, swift).
  1328. If –no-mimetype is specified then MimeType will be blank. This can speed
  1329. things up on remotes where reading the MimeType takes an extra request
  1330. (eg s3, swift).
  1331. If –encrypted is not specified the Encrypted won’t be emitted.
  1332. If –dirs-only is not specified files in addition to directories are
  1333. returned
  1334. If –files-only is not specified directories in addition to the files
  1335. will be returned.
  1336. The Path field will only show folders below the remote path being
  1337. listed. If “remote:path” contains the file “subfolder/file.txt”, the
  1338. Path for “file.txt” will be “subfolder/file.txt”, not
  1339. “remote:path/subfolder/file.txt”. When used without –recursive the Path
  1340. will always be the same as Name.
  1341. If the directory is a bucket in a bucket based backend, then “IsBucket”
  1342. will be set to true. This key won’t be present unless it is “true”.
  1343. The time is in RFC3339 format with up to nanosecond precision. The
  1344. number of decimal digits in the seconds will depend on the precision
  1345. that the remote can hold the times, so if times are accurate to the
  1346. nearest millisecond (eg Google Drive) then 3 digits will always be shown
  1347. (“2017-05-31T16:15:57.034+01:00”) whereas if the times are accurate to
  1348. the nearest second (Dropbox, Box, WebDav etc) no digits will be shown
  1349. (“2017-05-31T16:15:57+01:00”).
  1350. The whole output can be processed as a JSON blob, or alternatively it
  1351. can be processed line by line as each item is written one to a line.
  1352. Any of the filtering options can be applied to this command.
  1353. There are several related list commands
  1354. - ls to list size and path of objects only
  1355. - lsl to list modification time, size and path of objects only
  1356. - lsd to list directories only
  1357. - lsf to list objects and directories in easy to parse format
  1358. - lsjson to list objects and directories in JSON format
  1359. ls,lsl,lsd are designed to be human readable. lsf is designed to be
  1360. human and machine readable. lsjson is designed to be machine readable.
  1361. Note that ls and lsl recurse by default - use “–max-depth 1” to stop the
  1362. recursion.
  1363. The other list commands lsd,lsf,lsjson do not recurse by default - use
  1364. “-R” to make them recurse.
  1365. Listing a non existent directory will produce an error except for
  1366. remotes which can’t have empty directories (eg s3, swift, gcs, etc - the
  1367. bucket based remotes).
  1368. rclone lsjson remote:path [flags]
  1369. Options
  1370. --dirs-only Show only directories in the listing.
  1371. -M, --encrypted Show the encrypted names.
  1372. --files-only Show only files in the listing.
  1373. --hash Include hashes in the output (may take longer).
  1374. -h, --help help for lsjson
  1375. --no-mimetype Don't read the mime type (can speed things up).
  1376. --no-modtime Don't read the modification time (can speed things up).
  1377. --original Show the ID of the underlying Object.
  1378. -R, --recursive Recurse into the listing.
  1379. See the global flags page for global options not listed here.
  1380. SEE ALSO
  1381. - rclone - Show help for rclone commands, flags and backends.
  1382. rclone mount
  1383. Mount the remote as file system on a mountpoint.
  1384. Synopsis
  1385. rclone mount allows Linux, FreeBSD, macOS and Windows to mount any of
  1386. Rclone’s cloud storage systems as a file system with FUSE.
  1387. First set up your remote using rclone config. Check it works with
  1388. rclone ls etc.
  1389. Start the mount like this
  1390. rclone mount remote:path/to/files /path/to/local/mount
  1391. Or on Windows like this where X: is an unused drive letter
  1392. rclone mount remote:path/to/files X:
  1393. When the program ends, either via Ctrl+C or receiving a SIGINT or
  1394. SIGTERM signal, the mount is automatically stopped.
  1395. The umount operation can fail, for example when the mountpoint is busy.
  1396. When that happens, it is the user’s responsibility to stop the mount
  1397. manually with
  1398. # Linux
  1399. fusermount -u /path/to/local/mount
  1400. # OS X
  1401. umount /path/to/local/mount
  1402. Installing on Windows
  1403. To run rclone mount on Windows, you will need to download and install
  1404. WinFsp.
  1405. WinFsp is an open source Windows File System Proxy which makes it easy
  1406. to write user space file systems for Windows. It provides a FUSE
  1407. emulation layer which rclone uses combination with cgofuse. Both of
  1408. these packages are by Bill Zissimopoulos who was very helpful during the
  1409. implementation of rclone mount for Windows.
  1410. Windows caveats
  1411. Note that drives created as Administrator are not visible by other
  1412. accounts (including the account that was elevated as Administrator). So
  1413. if you start a Windows drive from an Administrative Command Prompt and
  1414. then try to access the same drive from Explorer (which does not run as
  1415. Administrator), you will not be able to see the new drive.
  1416. The easiest way around this is to start the drive from a normal command
  1417. prompt. It is also possible to start a drive from the SYSTEM account
  1418. (using the WinFsp.Launcher infrastructure) which creates drives
  1419. accessible for everyone on the system or alternatively using the nssm
  1420. service manager.
  1421. Limitations
  1422. Without the use of “–vfs-cache-mode” this can only write files
  1423. sequentially, it can only seek when reading. This means that many
  1424. applications won’t work with their files on an rclone mount without
  1425. “–vfs-cache-mode writes” or “–vfs-cache-mode full”. See the File Caching
  1426. section for more info.
  1427. The bucket based remotes (eg Swift, S3, Google Compute Storage, B2,
  1428. Hubic) do not support the concept of empty directories, so empty
  1429. directories will have a tendency to disappear once they fall out of the
  1430. directory cache.
  1431. Only supported on Linux, FreeBSD, OS X and Windows at the moment.
  1432. rclone mount vs rclone sync/copy
  1433. File systems expect things to be 100% reliable, whereas cloud storage
  1434. systems are a long way from 100% reliable. The rclone sync/copy commands
  1435. cope with this with lots of retries. However rclone mount can’t use
  1436. retries in the same way without making local copies of the uploads. Look
  1437. at the file caching for solutions to make mount more reliable.
  1438. Attribute caching
  1439. You can use the flag –attr-timeout to set the time the kernel caches the
  1440. attributes (size, modification time etc) for directory entries.
  1441. The default is “1s” which caches files just long enough to avoid too
  1442. many callbacks to rclone from the kernel.
  1443. In theory 0s should be the correct value for filesystems which can
  1444. change outside the control of the kernel. However this causes quite a
  1445. few problems such as rclone using too much memory, rclone not serving
  1446. files to samba and excessive time listing directories.
  1447. The kernel can cache the info about a file for the time given by
  1448. “–attr-timeout”. You may see corruption if the remote file changes
  1449. length during this window. It will show up as either a truncated file or
  1450. a file with garbage on the end. With “–attr-timeout 1s” this is very
  1451. unlikely but not impossible. The higher you set “–attr-timeout” the more
  1452. likely it is. The default setting of “1s” is the lowest setting which
  1453. mitigates the problems above.
  1454. If you set it higher (‘10s’ or ‘1m’ say) then the kernel will call back
  1455. to rclone less often making it more efficient, however there is more
  1456. chance of the corruption issue above.
  1457. If files don’t change on the remote outside of the control of rclone
  1458. then there is no chance of corruption.
  1459. This is the same as setting the attr_timeout option in mount.fuse.
  1460. Filters
  1461. Note that all the rclone filters can be used to select a subset of the
  1462. files to be visible in the mount.
  1463. systemd
  1464. When running rclone mount as a systemd service, it is possible to use
  1465. Type=notify. In this case the service will enter the started state after
  1466. the mountpoint has been successfully set up. Units having the rclone
  1467. mount service specified as a requirement will see all files and folders
  1468. immediately in this mode.
  1469. chunked reading
  1470. –vfs-read-chunk-size will enable reading the source objects in parts.
  1471. This can reduce the used download quota for some remotes by requesting
  1472. only chunks from the remote that are actually read at the cost of an
  1473. increased number of requests.
  1474. When –vfs-read-chunk-size-limit is also specified and greater than
  1475. –vfs-read-chunk-size, the chunk size for each open file will get doubled
  1476. for each chunk read, until the specified value is reached. A value of -1
  1477. will disable the limit and the chunk size will grow indefinitely.
  1478. With –vfs-read-chunk-size 100M and –vfs-read-chunk-size-limit 0 the
  1479. following parts will be downloaded: 0-100M, 100M-200M, 200M-300M,
  1480. 300M-400M and so on. When –vfs-read-chunk-size-limit 500M is specified,
  1481. the result would be 0-100M, 100M-300M, 300M-700M, 700M-1200M,
  1482. 1200M-1700M and so on.
  1483. Chunked reading will only work with –vfs-cache-mode < full, as the file
  1484. will always be copied to the vfs cache before opening with
  1485. –vfs-cache-mode full.
  1486. Directory Cache
  1487. Using the --dir-cache-time flag, you can set how long a directory should
  1488. be considered up to date and not refreshed from the backend. Changes
  1489. made locally in the mount may appear immediately or invalidate the
  1490. cache. However, changes done on the remote will only be picked up once
  1491. the cache expires.
  1492. Alternatively, you can send a SIGHUP signal to rclone for it to flush
  1493. all directory caches, regardless of how old they are. Assuming only one
  1494. rclone instance is running, you can reset the cache like this:
  1495. kill -SIGHUP $(pidof rclone)
  1496. If you configure rclone with a remote control then you can use rclone rc
  1497. to flush the whole directory cache:
  1498. rclone rc vfs/forget
  1499. Or individual files or directories:
  1500. rclone rc vfs/forget file=path/to/file dir=path/to/dir
  1501. File Buffering
  1502. The --buffer-size flag determines the amount of memory, that will be
  1503. used to buffer data in advance.
  1504. Each open file descriptor will try to keep the specified amount of data
  1505. in memory at all times. The buffered data is bound to one file
  1506. descriptor and won’t be shared between multiple open file descriptors of
  1507. the same file.
  1508. This flag is a upper limit for the used memory per file descriptor. The
  1509. buffer will only use memory for data that is downloaded but not not yet
  1510. read. If the buffer is empty, only a small amount of memory will be
  1511. used. The maximum memory used by rclone for buffering can be up to
  1512. --buffer-size * open files.
  1513. File Caching
  1514. These flags control the VFS file caching options. The VFS layer is used
  1515. by rclone mount to make a cloud storage system work more like a normal
  1516. file system.
  1517. You’ll need to enable VFS caching if you want, for example, to read and
  1518. write simultaneously to a file. See below for more details.
  1519. Note that the VFS cache works in addition to the cache backend and you
  1520. may find that you need one or the other or both.
  1521. --cache-dir string Directory rclone will use for caching.
  1522. --vfs-cache-max-age duration Max age of objects in the cache. (default 1h0m0s)
  1523. --vfs-cache-mode string Cache mode off|minimal|writes|full (default "off")
  1524. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects. (default 1m0s)
  1525. --vfs-cache-max-size int Max total size of objects in the cache. (default off)
  1526. If run with -vv rclone will print the location of the file cache. The
  1527. files are stored in the user cache file area which is OS dependent but
  1528. can be controlled with --cache-dir or setting the appropriate
  1529. environment variable.
  1530. The cache has 4 different modes selected by --vfs-cache-mode. The higher
  1531. the cache mode the more compatible rclone becomes at the cost of using
  1532. disk space.
  1533. Note that files are written back to the remote only when they are closed
  1534. so if rclone is quit or dies with open files then these won’t get
  1535. written back to the remote. However they will still be in the on disk
  1536. cache.
  1537. If using –vfs-cache-max-size note that the cache may exceed this size
  1538. for two reasons. Firstly because it is only checked every
  1539. –vfs-cache-poll-interval. Secondly because open files cannot be evicted
  1540. from the cache.
  1541. –vfs-cache-mode off
  1542. In this mode the cache will read directly from the remote and write
  1543. directly to the remote without caching anything on disk.
  1544. This will mean some operations are not possible
  1545. - Files can’t be opened for both read AND write
  1546. - Files opened for write can’t be seeked
  1547. - Existing files opened for write must have O_TRUNC set
  1548. - Files open for read with O_TRUNC will be opened write only
  1549. - Files open for write only will behave as if O_TRUNC was supplied
  1550. - Open modes O_APPEND, O_TRUNC are ignored
  1551. - If an upload fails it can’t be retried
  1552. –vfs-cache-mode minimal
  1553. This is very similar to “off” except that files opened for read AND
  1554. write will be buffered to disks. This means that files opened for write
  1555. will be a lot more compatible, but uses the minimal disk space.
  1556. These operations are not possible
  1557. - Files opened for write only can’t be seeked
  1558. - Existing files opened for write must have O_TRUNC set
  1559. - Files opened for write only will ignore O_APPEND, O_TRUNC
  1560. - If an upload fails it can’t be retried
  1561. –vfs-cache-mode writes
  1562. In this mode files opened for read only are still read directly from the
  1563. remote, write only and read/write files are buffered to disk first.
  1564. This mode should support all normal file system operations.
  1565. If an upload fails it will be retried up to –low-level-retries times.
  1566. –vfs-cache-mode full
  1567. In this mode all reads and writes are buffered to and from disk. When a
  1568. file is opened for read it will be downloaded in its entirety first.
  1569. This may be appropriate for your needs, or you may prefer to look at the
  1570. cache backend which does a much more sophisticated job of caching,
  1571. including caching directory hierarchies and chunks of files.
  1572. In this mode, unlike the others, when a file is written to the disk, it
  1573. will be kept on the disk after it is written to the remote. It will be
  1574. purged on a schedule according to --vfs-cache-max-age.
  1575. This mode should support all normal file system operations.
  1576. If an upload or download fails it will be retried up to
  1577. –low-level-retries times.
  1578. rclone mount remote:path /path/to/mountpoint [flags]
  1579. Options
  1580. --allow-non-empty Allow mounting over a non-empty directory.
  1581. --allow-other Allow access to other users.
  1582. --allow-root Allow access to root user.
  1583. --attr-timeout duration Time for which file/directory attributes are cached. (default 1s)
  1584. --daemon Run mount as a daemon (background mode).
  1585. --daemon-timeout duration Time limit for rclone to respond to kernel (not supported by all OSes).
  1586. --debug-fuse Debug the FUSE internals - needs -v.
  1587. --default-permissions Makes kernel enforce access control based on the file mode.
  1588. --dir-cache-time duration Time to cache directory entries for. (default 5m0s)
  1589. --dir-perms FileMode Directory permissions (default 0777)
  1590. --file-perms FileMode File permissions (default 0666)
  1591. --fuse-flag stringArray Flags or arguments to be passed direct to libfuse/WinFsp. Repeat if required.
  1592. --gid uint32 Override the gid field set by the filesystem. (default 1000)
  1593. -h, --help help for mount
  1594. --max-read-ahead SizeSuffix The number of bytes that can be prefetched for sequential reads. (default 128k)
  1595. --no-checksum Don't compare checksums on up/download.
  1596. --no-modtime Don't read/write the modification time (can speed things up).
  1597. --no-seek Don't allow seeking in files.
  1598. -o, --option stringArray Option for libfuse/WinFsp. Repeat if required.
  1599. --poll-interval duration Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable. (default 1m0s)
  1600. --read-only Mount read-only.
  1601. --uid uint32 Override the uid field set by the filesystem. (default 1000)
  1602. --umask int Override the permission bits set by the filesystem.
  1603. --vfs-cache-max-age duration Max age of objects in the cache. (default 1h0m0s)
  1604. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache. (default off)
  1605. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  1606. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects. (default 1m0s)
  1607. --vfs-case-insensitive If a file name not found, find a case insensitive match.
  1608. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks. (default 128M)
  1609. --vfs-read-chunk-size-limit SizeSuffix If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached. 'off' is unlimited. (default off)
  1610. --volname string Set the volume name (not supported by all OSes).
  1611. --write-back-cache Makes kernel buffer writes before sending them to rclone. Without this, writethrough caching is used.
  1612. See the global flags page for global options not listed here.
  1613. SEE ALSO
  1614. - rclone - Show help for rclone commands, flags and backends.
  1615. rclone moveto
  1616. Move file or directory from source to dest.
  1617. Synopsis
  1618. If source:path is a file or directory then it moves it to a file or
  1619. directory named dest:path.
  1620. This can be used to rename files or upload single files to other than
  1621. their existing name. If the source is a directory then it acts exactly
  1622. like the move command.
  1623. So
  1624. rclone moveto src dst
  1625. where src and dst are rclone paths, either remote:path or /path/to/local
  1626. or C:.
  1627. This will:
  1628. if src is file
  1629. move it to dst, overwriting an existing file if it exists
  1630. if src is directory
  1631. move it to dst, overwriting existing files if they exist
  1632. see move command for full details
  1633. This doesn’t transfer unchanged files, testing by size and modification
  1634. time or MD5SUM. src will be deleted on successful transfer.
  1635. IMPORTANT: Since this can cause data loss, test first with the –dry-run
  1636. flag.
  1637. NOTE: Use the -P/--progress flag to view real-time transfer statistics.
  1638. rclone moveto source:path dest:path [flags]
  1639. Options
  1640. -h, --help help for moveto
  1641. See the global flags page for global options not listed here.
  1642. SEE ALSO
  1643. - rclone - Show help for rclone commands, flags and backends.
  1644. rclone ncdu
  1645. Explore a remote with a text based user interface.
  1646. Synopsis
  1647. This displays a text based user interface allowing the navigation of a
  1648. remote. It is most useful for answering the question - “What is using
  1649. all my disk space?”.
  1650. To make the user interface it first scans the entire remote given and
  1651. builds an in memory representation. rclone ncdu can be used during this
  1652. scanning phase and you will see it building up the directory structure
  1653. as it goes along.
  1654. Here are the keys - press ‘?’ to toggle the help on and off
  1655. ↑,↓ or k,j to Move
  1656. →,l to enter
  1657. ←,h to return
  1658. c toggle counts
  1659. g toggle graph
  1660. n,s,C sort by name,size,count
  1661. d delete file/directory
  1662. y copy current path to clipbard
  1663. Y display current path
  1664. ^L refresh screen
  1665. ? to toggle help on and off
  1666. q/ESC/c-C to quit
  1667. This an homage to the ncdu tool but for rclone remotes. It is missing
  1668. lots of features at the moment but is useful as it stands.
  1669. Note that it might take some time to delete big files/folders. The UI
  1670. won’t respond in the meantime since the deletion is done synchronously.
  1671. rclone ncdu remote:path [flags]
  1672. Options
  1673. -h, --help help for ncdu
  1674. See the global flags page for global options not listed here.
  1675. SEE ALSO
  1676. - rclone - Show help for rclone commands, flags and backends.
  1677. rclone obscure
  1678. Obscure password for use in the rclone.conf
  1679. Synopsis
  1680. Obscure password for use in the rclone.conf
  1681. rclone obscure password [flags]
  1682. Options
  1683. -h, --help help for obscure
  1684. See the global flags page for global options not listed here.
  1685. SEE ALSO
  1686. - rclone - Show help for rclone commands, flags and backends.
  1687. rclone rc
  1688. Run a command against a running rclone.
  1689. Synopsis
  1690. This runs a command against a running rclone. Use the –url flag to
  1691. specify an non default URL to connect on. This can be either a “:port”
  1692. which is taken to mean “http://localhost:port” or a “host:port” which is
  1693. taken to mean “http://host:port”
  1694. A username and password can be passed in with –user and –pass.
  1695. Note that –rc-addr, –rc-user, –rc-pass will be read also for –url,
  1696. –user, –pass.
  1697. Arguments should be passed in as parameter=value.
  1698. The result will be returned as a JSON object by default.
  1699. The –json parameter can be used to pass in a JSON blob as an input
  1700. instead of key=value arguments. This is the only way of passing in more
  1701. complicated values.
  1702. Use –loopback to connect to the rclone instance running “rclone rc”.
  1703. This is very useful for testing commands without having to run an rclone
  1704. rc server, eg:
  1705. rclone rc --loopback operations/about fs=/
  1706. Use “rclone rc” to see a list of all possible commands.
  1707. rclone rc commands parameter [flags]
  1708. Options
  1709. -h, --help help for rc
  1710. --json string Input JSON - use instead of key=value args.
  1711. --loopback If set connect to this rclone instance not via HTTP.
  1712. --no-output If set don't output the JSON result.
  1713. --pass string Password to use to connect to rclone remote control.
  1714. --url string URL to connect to rclone remote control. (default "http://localhost:5572/")
  1715. --user string Username to use to rclone remote control.
  1716. See the global flags page for global options not listed here.
  1717. SEE ALSO
  1718. - rclone - Show help for rclone commands, flags and backends.
  1719. rclone rcat
  1720. Copies standard input to file on remote.
  1721. Synopsis
  1722. rclone rcat reads from standard input (stdin) and copies it to a single
  1723. remote file.
  1724. echo "hello world" | rclone rcat remote:path/to/file
  1725. ffmpeg - | rclone rcat remote:path/to/file
  1726. If the remote file already exists, it will be overwritten.
  1727. rcat will try to upload small files in a single request, which is
  1728. usually more efficient than the streaming/chunked upload endpoints,
  1729. which use multiple requests. Exact behaviour depends on the remote. What
  1730. is considered a small file may be set through --streaming-upload-cutoff.
  1731. Uploading only starts after the cutoff is reached or if the file ends
  1732. before that. The data must fit into RAM. The cutoff needs to be small
  1733. enough to adhere the limits of your remote, please see there. Generally
  1734. speaking, setting this cutoff too high will decrease your performance.
  1735. Note that the upload can also not be retried because the data is not
  1736. kept around until the upload succeeds. If you need to transfer a lot of
  1737. data, you’re better off caching locally and then rclone move it to the
  1738. destination.
  1739. rclone rcat remote:path [flags]
  1740. Options
  1741. -h, --help help for rcat
  1742. See the global flags page for global options not listed here.
  1743. SEE ALSO
  1744. - rclone - Show help for rclone commands, flags and backends.
  1745. rclone rcd
  1746. Run rclone listening to remote control commands only.
  1747. Synopsis
  1748. This runs rclone so that it only listens to remote control commands.
  1749. This is useful if you are controlling rclone via the rc API.
  1750. If you pass in a path to a directory, rclone will serve that directory
  1751. for GET requests on the URL passed in. It will also open the URL in the
  1752. browser when rclone is run.
  1753. See the rc documentation for more info on the rc flags.
  1754. rclone rcd <path to files to serve>* [flags]
  1755. Options
  1756. -h, --help help for rcd
  1757. See the global flags page for global options not listed here.
  1758. SEE ALSO
  1759. - rclone - Show help for rclone commands, flags and backends.
  1760. rclone rmdirs
  1761. Remove empty directories under the path.
  1762. Synopsis
  1763. This removes any empty directories (or directories that only contain
  1764. empty directories) under the path that it finds, including the path if
  1765. it has nothing in.
  1766. If you supply the –leave-root flag, it will not remove the root
  1767. directory.
  1768. This is useful for tidying up remotes that rclone has left a lot of
  1769. empty directories in.
  1770. rclone rmdirs remote:path [flags]
  1771. Options
  1772. -h, --help help for rmdirs
  1773. --leave-root Do not remove root directory if empty
  1774. See the global flags page for global options not listed here.
  1775. SEE ALSO
  1776. - rclone - Show help for rclone commands, flags and backends.
  1777. rclone serve
  1778. Serve a remote over a protocol.
  1779. Synopsis
  1780. rclone serve is used to serve a remote over a given protocol. This
  1781. command requires the use of a subcommand to specify the protocol, eg
  1782. rclone serve http remote:
  1783. Each subcommand has its own options which you can see in their help.
  1784. rclone serve <protocol> [opts] <remote> [flags]
  1785. Options
  1786. -h, --help help for serve
  1787. See the global flags page for global options not listed here.
  1788. SEE ALSO
  1789. - rclone - Show help for rclone commands, flags and backends.
  1790. - rclone serve dlna - Serve remote:path over DLNA
  1791. - rclone serve ftp - Serve remote:path over FTP.
  1792. - rclone serve http - Serve the remote over HTTP.
  1793. - rclone serve restic - Serve the remote for restic’s REST API.
  1794. - rclone serve sftp - Serve the remote over SFTP.
  1795. - rclone serve webdav - Serve remote:path over webdav.
  1796. rclone serve dlna
  1797. Serve remote:path over DLNA
  1798. Synopsis
  1799. rclone serve dlna is a DLNA media server for media stored in a rclone
  1800. remote. Many devices, such as the Xbox and PlayStation, can
  1801. automatically discover this server in the LAN and play audio/video from
  1802. it. VLC is also supported. Service discovery uses UDP multicast packets
  1803. (SSDP) and will thus only work on LANs.
  1804. Rclone will list all files present in the remote, without filtering
  1805. based on media formats or file extensions. Additionally, there is no
  1806. media transcoding support. This means that some players might show files
  1807. that they are not able to play back correctly.
  1808. Server options
  1809. Use –addr to specify which IP address and port the server should listen
  1810. on, eg –addr 1.2.3.4:8000 or –addr :8080 to listen to all IPs.
  1811. Use –name to choose the friendly server name, which is by default
  1812. “rclone (hostname)”.
  1813. Use –log-trace in conjunction with -vv to enable additional debug
  1814. logging of all UPNP traffic.
  1815. Directory Cache
  1816. Using the --dir-cache-time flag, you can set how long a directory should
  1817. be considered up to date and not refreshed from the backend. Changes
  1818. made locally in the mount may appear immediately or invalidate the
  1819. cache. However, changes done on the remote will only be picked up once
  1820. the cache expires.
  1821. Alternatively, you can send a SIGHUP signal to rclone for it to flush
  1822. all directory caches, regardless of how old they are. Assuming only one
  1823. rclone instance is running, you can reset the cache like this:
  1824. kill -SIGHUP $(pidof rclone)
  1825. If you configure rclone with a remote control then you can use rclone rc
  1826. to flush the whole directory cache:
  1827. rclone rc vfs/forget
  1828. Or individual files or directories:
  1829. rclone rc vfs/forget file=path/to/file dir=path/to/dir
  1830. File Buffering
  1831. The --buffer-size flag determines the amount of memory, that will be
  1832. used to buffer data in advance.
  1833. Each open file descriptor will try to keep the specified amount of data
  1834. in memory at all times. The buffered data is bound to one file
  1835. descriptor and won’t be shared between multiple open file descriptors of
  1836. the same file.
  1837. This flag is a upper limit for the used memory per file descriptor. The
  1838. buffer will only use memory for data that is downloaded but not not yet
  1839. read. If the buffer is empty, only a small amount of memory will be
  1840. used. The maximum memory used by rclone for buffering can be up to
  1841. --buffer-size * open files.
  1842. File Caching
  1843. These flags control the VFS file caching options. The VFS layer is used
  1844. by rclone mount to make a cloud storage system work more like a normal
  1845. file system.
  1846. You’ll need to enable VFS caching if you want, for example, to read and
  1847. write simultaneously to a file. See below for more details.
  1848. Note that the VFS cache works in addition to the cache backend and you
  1849. may find that you need one or the other or both.
  1850. --cache-dir string Directory rclone will use for caching.
  1851. --vfs-cache-max-age duration Max age of objects in the cache. (default 1h0m0s)
  1852. --vfs-cache-mode string Cache mode off|minimal|writes|full (default "off")
  1853. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects. (default 1m0s)
  1854. --vfs-cache-max-size int Max total size of objects in the cache. (default off)
  1855. If run with -vv rclone will print the location of the file cache. The
  1856. files are stored in the user cache file area which is OS dependent but
  1857. can be controlled with --cache-dir or setting the appropriate
  1858. environment variable.
  1859. The cache has 4 different modes selected by --vfs-cache-mode. The higher
  1860. the cache mode the more compatible rclone becomes at the cost of using
  1861. disk space.
  1862. Note that files are written back to the remote only when they are closed
  1863. so if rclone is quit or dies with open files then these won’t get
  1864. written back to the remote. However they will still be in the on disk
  1865. cache.
  1866. If using –vfs-cache-max-size note that the cache may exceed this size
  1867. for two reasons. Firstly because it is only checked every
  1868. –vfs-cache-poll-interval. Secondly because open files cannot be evicted
  1869. from the cache.
  1870. –vfs-cache-mode off
  1871. In this mode the cache will read directly from the remote and write
  1872. directly to the remote without caching anything on disk.
  1873. This will mean some operations are not possible
  1874. - Files can’t be opened for both read AND write
  1875. - Files opened for write can’t be seeked
  1876. - Existing files opened for write must have O_TRUNC set
  1877. - Files open for read with O_TRUNC will be opened write only
  1878. - Files open for write only will behave as if O_TRUNC was supplied
  1879. - Open modes O_APPEND, O_TRUNC are ignored
  1880. - If an upload fails it can’t be retried
  1881. –vfs-cache-mode minimal
  1882. This is very similar to “off” except that files opened for read AND
  1883. write will be buffered to disks. This means that files opened for write
  1884. will be a lot more compatible, but uses the minimal disk space.
  1885. These operations are not possible
  1886. - Files opened for write only can’t be seeked
  1887. - Existing files opened for write must have O_TRUNC set
  1888. - Files opened for write only will ignore O_APPEND, O_TRUNC
  1889. - If an upload fails it can’t be retried
  1890. –vfs-cache-mode writes
  1891. In this mode files opened for read only are still read directly from the
  1892. remote, write only and read/write files are buffered to disk first.
  1893. This mode should support all normal file system operations.
  1894. If an upload fails it will be retried up to –low-level-retries times.
  1895. –vfs-cache-mode full
  1896. In this mode all reads and writes are buffered to and from disk. When a
  1897. file is opened for read it will be downloaded in its entirety first.
  1898. This may be appropriate for your needs, or you may prefer to look at the
  1899. cache backend which does a much more sophisticated job of caching,
  1900. including caching directory hierarchies and chunks of files.
  1901. In this mode, unlike the others, when a file is written to the disk, it
  1902. will be kept on the disk after it is written to the remote. It will be
  1903. purged on a schedule according to --vfs-cache-max-age.
  1904. This mode should support all normal file system operations.
  1905. If an upload or download fails it will be retried up to
  1906. –low-level-retries times.
  1907. rclone serve dlna remote:path [flags]
  1908. Options
  1909. --addr string ip:port or :port to bind the DLNA http server to. (default ":7879")
  1910. --dir-cache-time duration Time to cache directory entries for. (default 5m0s)
  1911. --dir-perms FileMode Directory permissions (default 0777)
  1912. --file-perms FileMode File permissions (default 0666)
  1913. --gid uint32 Override the gid field set by the filesystem. (default 1000)
  1914. -h, --help help for dlna
  1915. --log-trace enable trace logging of SOAP traffic
  1916. --name string name of DLNA server
  1917. --no-checksum Don't compare checksums on up/download.
  1918. --no-modtime Don't read/write the modification time (can speed things up).
  1919. --no-seek Don't allow seeking in files.
  1920. --poll-interval duration Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable. (default 1m0s)
  1921. --read-only Mount read-only.
  1922. --uid uint32 Override the uid field set by the filesystem. (default 1000)
  1923. --umask int Override the permission bits set by the filesystem. (default 2)
  1924. --vfs-cache-max-age duration Max age of objects in the cache. (default 1h0m0s)
  1925. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache. (default off)
  1926. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  1927. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects. (default 1m0s)
  1928. --vfs-case-insensitive If a file name not found, find a case insensitive match.
  1929. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks. (default 128M)
  1930. --vfs-read-chunk-size-limit SizeSuffix If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached. 'off' is unlimited. (default off)
  1931. See the global flags page for global options not listed here.
  1932. SEE ALSO
  1933. - rclone serve - Serve a remote over a protocol.
  1934. rclone serve ftp
  1935. Serve remote:path over FTP.
  1936. Synopsis
  1937. rclone serve ftp implements a basic ftp server to serve the remote over
  1938. FTP protocol. This can be viewed with a ftp client or you can make a
  1939. remote of type ftp to read and write it.
  1940. Server options
  1941. Use –addr to specify which IP address and port the server should listen
  1942. on, eg –addr 1.2.3.4:8000 or –addr :8080 to listen to all IPs. By
  1943. default it only listens on localhost. You can use port :0 to let the OS
  1944. choose an available port.
  1945. If you set –addr to listen on a public or LAN accessible IP address then
  1946. using Authentication is advised - see the next section for info.
  1947. Authentication
  1948. By default this will serve files without needing a login.
  1949. You can set a single username and password with the –user and –pass
  1950. flags.
  1951. Directory Cache
  1952. Using the --dir-cache-time flag, you can set how long a directory should
  1953. be considered up to date and not refreshed from the backend. Changes
  1954. made locally in the mount may appear immediately or invalidate the
  1955. cache. However, changes done on the remote will only be picked up once
  1956. the cache expires.
  1957. Alternatively, you can send a SIGHUP signal to rclone for it to flush
  1958. all directory caches, regardless of how old they are. Assuming only one
  1959. rclone instance is running, you can reset the cache like this:
  1960. kill -SIGHUP $(pidof rclone)
  1961. If you configure rclone with a remote control then you can use rclone rc
  1962. to flush the whole directory cache:
  1963. rclone rc vfs/forget
  1964. Or individual files or directories:
  1965. rclone rc vfs/forget file=path/to/file dir=path/to/dir
  1966. File Buffering
  1967. The --buffer-size flag determines the amount of memory, that will be
  1968. used to buffer data in advance.
  1969. Each open file descriptor will try to keep the specified amount of data
  1970. in memory at all times. The buffered data is bound to one file
  1971. descriptor and won’t be shared between multiple open file descriptors of
  1972. the same file.
  1973. This flag is a upper limit for the used memory per file descriptor. The
  1974. buffer will only use memory for data that is downloaded but not not yet
  1975. read. If the buffer is empty, only a small amount of memory will be
  1976. used. The maximum memory used by rclone for buffering can be up to
  1977. --buffer-size * open files.
  1978. File Caching
  1979. These flags control the VFS file caching options. The VFS layer is used
  1980. by rclone mount to make a cloud storage system work more like a normal
  1981. file system.
  1982. You’ll need to enable VFS caching if you want, for example, to read and
  1983. write simultaneously to a file. See below for more details.
  1984. Note that the VFS cache works in addition to the cache backend and you
  1985. may find that you need one or the other or both.
  1986. --cache-dir string Directory rclone will use for caching.
  1987. --vfs-cache-max-age duration Max age of objects in the cache. (default 1h0m0s)
  1988. --vfs-cache-mode string Cache mode off|minimal|writes|full (default "off")
  1989. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects. (default 1m0s)
  1990. --vfs-cache-max-size int Max total size of objects in the cache. (default off)
  1991. If run with -vv rclone will print the location of the file cache. The
  1992. files are stored in the user cache file area which is OS dependent but
  1993. can be controlled with --cache-dir or setting the appropriate
  1994. environment variable.
  1995. The cache has 4 different modes selected by --vfs-cache-mode. The higher
  1996. the cache mode the more compatible rclone becomes at the cost of using
  1997. disk space.
  1998. Note that files are written back to the remote only when they are closed
  1999. so if rclone is quit or dies with open files then these won’t get
  2000. written back to the remote. However they will still be in the on disk
  2001. cache.
  2002. If using –vfs-cache-max-size note that the cache may exceed this size
  2003. for two reasons. Firstly because it is only checked every
  2004. –vfs-cache-poll-interval. Secondly because open files cannot be evicted
  2005. from the cache.
  2006. –vfs-cache-mode off
  2007. In this mode the cache will read directly from the remote and write
  2008. directly to the remote without caching anything on disk.
  2009. This will mean some operations are not possible
  2010. - Files can’t be opened for both read AND write
  2011. - Files opened for write can’t be seeked
  2012. - Existing files opened for write must have O_TRUNC set
  2013. - Files open for read with O_TRUNC will be opened write only
  2014. - Files open for write only will behave as if O_TRUNC was supplied
  2015. - Open modes O_APPEND, O_TRUNC are ignored
  2016. - If an upload fails it can’t be retried
  2017. –vfs-cache-mode minimal
  2018. This is very similar to “off” except that files opened for read AND
  2019. write will be buffered to disks. This means that files opened for write
  2020. will be a lot more compatible, but uses the minimal disk space.
  2021. These operations are not possible
  2022. - Files opened for write only can’t be seeked
  2023. - Existing files opened for write must have O_TRUNC set
  2024. - Files opened for write only will ignore O_APPEND, O_TRUNC
  2025. - If an upload fails it can’t be retried
  2026. –vfs-cache-mode writes
  2027. In this mode files opened for read only are still read directly from the
  2028. remote, write only and read/write files are buffered to disk first.
  2029. This mode should support all normal file system operations.
  2030. If an upload fails it will be retried up to –low-level-retries times.
  2031. –vfs-cache-mode full
  2032. In this mode all reads and writes are buffered to and from disk. When a
  2033. file is opened for read it will be downloaded in its entirety first.
  2034. This may be appropriate for your needs, or you may prefer to look at the
  2035. cache backend which does a much more sophisticated job of caching,
  2036. including caching directory hierarchies and chunks of files.
  2037. In this mode, unlike the others, when a file is written to the disk, it
  2038. will be kept on the disk after it is written to the remote. It will be
  2039. purged on a schedule according to --vfs-cache-max-age.
  2040. This mode should support all normal file system operations.
  2041. If an upload or download fails it will be retried up to
  2042. –low-level-retries times.
  2043. Auth Proxy
  2044. If you supply the parameter --auth-proxy /path/to/program then rclone
  2045. will use that program to generate backends on the fly which then are
  2046. used to authenticate incoming requests. This uses a simple JSON based
  2047. protocl with input on STDIN and output on STDOUT.
  2048. There is an example program bin/test_proxy.py in the rclone source code.
  2049. The program’s job is to take a user and pass on the input and turn those
  2050. into the config for a backend on STDOUT in JSON format. This config will
  2051. have any default parameters for the backend added, but it won’t use
  2052. configuration from environment variables or command line options - it is
  2053. the job of the proxy program to make a complete config.
  2054. This config generated must have this extra parameter - _root - root to
  2055. use for the backend
  2056. And it may have this parameter - _obscure - comma separated strings for
  2057. parameters to obscure
  2058. For example the program might take this on STDIN
  2059. {
  2060. "user": "me",
  2061. "pass": "mypassword"
  2062. }
  2063. And return this on STDOUT
  2064. {
  2065. "type": "sftp",
  2066. "_root": "",
  2067. "_obscure": "pass",
  2068. "user": "me",
  2069. "pass": "mypassword",
  2070. "host": "sftp.example.com"
  2071. }
  2072. This would mean that an SFTP backend would be created on the fly for the
  2073. user and pass returned in the output to the host given. Note that since
  2074. _obscure is set to pass, rclone will obscure the pass parameter before
  2075. creating the backend (which is required for sftp backends).
  2076. The progam can manipulate the supplied user in any way, for example to
  2077. make proxy to many different sftp backends, you could make the user be
  2078. user@example.com and then set the host to example.com in the output and
  2079. the user to user. For security you’d probably want to restrict the host
  2080. to a limited list.
  2081. Note that an internal cache is keyed on user so only use that for
  2082. configuration, don’t use pass. This also means that if a user’s password
  2083. is changed the cache will need to expire (which takes 5 mins) before it
  2084. takes effect.
  2085. This can be used to build general purpose proxies to any kind of backend
  2086. that rclone supports.
  2087. rclone serve ftp remote:path [flags]
  2088. Options
  2089. --addr string IPaddress:Port or :Port to bind server to. (default "localhost:2121")
  2090. --auth-proxy string A program to use to create the backend from the auth.
  2091. --dir-cache-time duration Time to cache directory entries for. (default 5m0s)
  2092. --dir-perms FileMode Directory permissions (default 0777)
  2093. --file-perms FileMode File permissions (default 0666)
  2094. --gid uint32 Override the gid field set by the filesystem. (default 1000)
  2095. -h, --help help for ftp
  2096. --no-checksum Don't compare checksums on up/download.
  2097. --no-modtime Don't read/write the modification time (can speed things up).
  2098. --no-seek Don't allow seeking in files.
  2099. --pass string Password for authentication. (empty value allow every password)
  2100. --passive-port string Passive port range to use. (default "30000-32000")
  2101. --poll-interval duration Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable. (default 1m0s)
  2102. --public-ip string Public IP address to advertise for passive connections.
  2103. --read-only Mount read-only.
  2104. --uid uint32 Override the uid field set by the filesystem. (default 1000)
  2105. --umask int Override the permission bits set by the filesystem. (default 2)
  2106. --user string User name for authentication. (default "anonymous")
  2107. --vfs-cache-max-age duration Max age of objects in the cache. (default 1h0m0s)
  2108. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache. (default off)
  2109. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  2110. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects. (default 1m0s)
  2111. --vfs-case-insensitive If a file name not found, find a case insensitive match.
  2112. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks. (default 128M)
  2113. --vfs-read-chunk-size-limit SizeSuffix If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached. 'off' is unlimited. (default off)
  2114. See the global flags page for global options not listed here.
  2115. SEE ALSO
  2116. - rclone serve - Serve a remote over a protocol.
  2117. rclone serve http
  2118. Serve the remote over HTTP.
  2119. Synopsis
  2120. rclone serve http implements a basic web server to serve the remote over
  2121. HTTP. This can be viewed in a web browser or you can make a remote of
  2122. type http read from it.
  2123. You can use the filter flags (eg –include, –exclude) to control what is
  2124. served.
  2125. The server will log errors. Use -v to see access logs.
  2126. –bwlimit will be respected for file transfers. Use –stats to control the
  2127. stats printing.
  2128. Server options
  2129. Use –addr to specify which IP address and port the server should listen
  2130. on, eg –addr 1.2.3.4:8000 or –addr :8080 to listen to all IPs. By
  2131. default it only listens on localhost. You can use port :0 to let the OS
  2132. choose an available port.
  2133. If you set –addr to listen on a public or LAN accessible IP address then
  2134. using Authentication is advised - see the next section for info.
  2135. –server-read-timeout and –server-write-timeout can be used to control
  2136. the timeouts on the server. Note that this is the total time for a
  2137. transfer.
  2138. –max-header-bytes controls the maximum number of bytes the server will
  2139. accept in the HTTP header.
  2140. –baseurl controls the URL prefix that rclone serves from. By default
  2141. rclone will serve from the root. If you used –baseurl “/rclone” then
  2142. rclone would serve from a URL starting with “/rclone/”. This is useful
  2143. if you wish to proxy rclone serve. Rclone automatically inserts leading
  2144. and trailing “/” on –baseurl, so –baseurl “rclone”, –baseurl “/rclone”
  2145. and –baseurl “/rclone/” are all treated identically.
  2146. Authentication
  2147. By default this will serve files without needing a login.
  2148. You can either use an htpasswd file which can take lots of users, or set
  2149. a single username and password with the –user and –pass flags.
  2150. Use –htpasswd /path/to/htpasswd to provide an htpasswd file. This is in
  2151. standard apache format and supports MD5, SHA1 and BCrypt for basic
  2152. authentication. Bcrypt is recommended.
  2153. To create an htpasswd file:
  2154. touch htpasswd
  2155. htpasswd -B htpasswd user
  2156. htpasswd -B htpasswd anotherUser
  2157. The password file can be updated while rclone is running.
  2158. Use –realm to set the authentication realm.
  2159. SSL/TLS
  2160. By default this will serve over http. If you want you can serve over
  2161. https. You will need to supply the –cert and –key flags. If you wish to
  2162. do client side certificate validation then you will need to supply
  2163. –client-ca also.
  2164. –cert should be a either a PEM encoded certificate or a concatenation of
  2165. that with the CA certificate. –key should be the PEM encoded private key
  2166. and –client-ca should be the PEM encoded client certificate authority
  2167. certificate.
  2168. Directory Cache
  2169. Using the --dir-cache-time flag, you can set how long a directory should
  2170. be considered up to date and not refreshed from the backend. Changes
  2171. made locally in the mount may appear immediately or invalidate the
  2172. cache. However, changes done on the remote will only be picked up once
  2173. the cache expires.
  2174. Alternatively, you can send a SIGHUP signal to rclone for it to flush
  2175. all directory caches, regardless of how old they are. Assuming only one
  2176. rclone instance is running, you can reset the cache like this:
  2177. kill -SIGHUP $(pidof rclone)
  2178. If you configure rclone with a remote control then you can use rclone rc
  2179. to flush the whole directory cache:
  2180. rclone rc vfs/forget
  2181. Or individual files or directories:
  2182. rclone rc vfs/forget file=path/to/file dir=path/to/dir
  2183. File Buffering
  2184. The --buffer-size flag determines the amount of memory, that will be
  2185. used to buffer data in advance.
  2186. Each open file descriptor will try to keep the specified amount of data
  2187. in memory at all times. The buffered data is bound to one file
  2188. descriptor and won’t be shared between multiple open file descriptors of
  2189. the same file.
  2190. This flag is a upper limit for the used memory per file descriptor. The
  2191. buffer will only use memory for data that is downloaded but not not yet
  2192. read. If the buffer is empty, only a small amount of memory will be
  2193. used. The maximum memory used by rclone for buffering can be up to
  2194. --buffer-size * open files.
  2195. File Caching
  2196. These flags control the VFS file caching options. The VFS layer is used
  2197. by rclone mount to make a cloud storage system work more like a normal
  2198. file system.
  2199. You’ll need to enable VFS caching if you want, for example, to read and
  2200. write simultaneously to a file. See below for more details.
  2201. Note that the VFS cache works in addition to the cache backend and you
  2202. may find that you need one or the other or both.
  2203. --cache-dir string Directory rclone will use for caching.
  2204. --vfs-cache-max-age duration Max age of objects in the cache. (default 1h0m0s)
  2205. --vfs-cache-mode string Cache mode off|minimal|writes|full (default "off")
  2206. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects. (default 1m0s)
  2207. --vfs-cache-max-size int Max total size of objects in the cache. (default off)
  2208. If run with -vv rclone will print the location of the file cache. The
  2209. files are stored in the user cache file area which is OS dependent but
  2210. can be controlled with --cache-dir or setting the appropriate
  2211. environment variable.
  2212. The cache has 4 different modes selected by --vfs-cache-mode. The higher
  2213. the cache mode the more compatible rclone becomes at the cost of using
  2214. disk space.
  2215. Note that files are written back to the remote only when they are closed
  2216. so if rclone is quit or dies with open files then these won’t get
  2217. written back to the remote. However they will still be in the on disk
  2218. cache.
  2219. If using –vfs-cache-max-size note that the cache may exceed this size
  2220. for two reasons. Firstly because it is only checked every
  2221. –vfs-cache-poll-interval. Secondly because open files cannot be evicted
  2222. from the cache.
  2223. –vfs-cache-mode off
  2224. In this mode the cache will read directly from the remote and write
  2225. directly to the remote without caching anything on disk.
  2226. This will mean some operations are not possible
  2227. - Files can’t be opened for both read AND write
  2228. - Files opened for write can’t be seeked
  2229. - Existing files opened for write must have O_TRUNC set
  2230. - Files open for read with O_TRUNC will be opened write only
  2231. - Files open for write only will behave as if O_TRUNC was supplied
  2232. - Open modes O_APPEND, O_TRUNC are ignored
  2233. - If an upload fails it can’t be retried
  2234. –vfs-cache-mode minimal
  2235. This is very similar to “off” except that files opened for read AND
  2236. write will be buffered to disks. This means that files opened for write
  2237. will be a lot more compatible, but uses the minimal disk space.
  2238. These operations are not possible
  2239. - Files opened for write only can’t be seeked
  2240. - Existing files opened for write must have O_TRUNC set
  2241. - Files opened for write only will ignore O_APPEND, O_TRUNC
  2242. - If an upload fails it can’t be retried
  2243. –vfs-cache-mode writes
  2244. In this mode files opened for read only are still read directly from the
  2245. remote, write only and read/write files are buffered to disk first.
  2246. This mode should support all normal file system operations.
  2247. If an upload fails it will be retried up to –low-level-retries times.
  2248. –vfs-cache-mode full
  2249. In this mode all reads and writes are buffered to and from disk. When a
  2250. file is opened for read it will be downloaded in its entirety first.
  2251. This may be appropriate for your needs, or you may prefer to look at the
  2252. cache backend which does a much more sophisticated job of caching,
  2253. including caching directory hierarchies and chunks of files.
  2254. In this mode, unlike the others, when a file is written to the disk, it
  2255. will be kept on the disk after it is written to the remote. It will be
  2256. purged on a schedule according to --vfs-cache-max-age.
  2257. This mode should support all normal file system operations.
  2258. If an upload or download fails it will be retried up to
  2259. –low-level-retries times.
  2260. rclone serve http remote:path [flags]
  2261. Options
  2262. --addr string IPaddress:Port or :Port to bind server to. (default "localhost:8080")
  2263. --baseurl string Prefix for URLs - leave blank for root.
  2264. --cert string SSL PEM key (concatenation of certificate and CA certificate)
  2265. --client-ca string Client certificate authority to verify clients with
  2266. --dir-cache-time duration Time to cache directory entries for. (default 5m0s)
  2267. --dir-perms FileMode Directory permissions (default 0777)
  2268. --file-perms FileMode File permissions (default 0666)
  2269. --gid uint32 Override the gid field set by the filesystem. (default 1000)
  2270. -h, --help help for http
  2271. --htpasswd string htpasswd file - if not provided no authentication is done
  2272. --key string SSL PEM Private key
  2273. --max-header-bytes int Maximum size of request header (default 4096)
  2274. --no-checksum Don't compare checksums on up/download.
  2275. --no-modtime Don't read/write the modification time (can speed things up).
  2276. --no-seek Don't allow seeking in files.
  2277. --pass string Password for authentication.
  2278. --poll-interval duration Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable. (default 1m0s)
  2279. --read-only Mount read-only.
  2280. --realm string realm for authentication (default "rclone")
  2281. --server-read-timeout duration Timeout for server reading data (default 1h0m0s)
  2282. --server-write-timeout duration Timeout for server writing data (default 1h0m0s)
  2283. --uid uint32 Override the uid field set by the filesystem. (default 1000)
  2284. --umask int Override the permission bits set by the filesystem. (default 2)
  2285. --user string User name for authentication.
  2286. --vfs-cache-max-age duration Max age of objects in the cache. (default 1h0m0s)
  2287. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache. (default off)
  2288. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  2289. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects. (default 1m0s)
  2290. --vfs-case-insensitive If a file name not found, find a case insensitive match.
  2291. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks. (default 128M)
  2292. --vfs-read-chunk-size-limit SizeSuffix If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached. 'off' is unlimited. (default off)
  2293. See the global flags page for global options not listed here.
  2294. SEE ALSO
  2295. - rclone serve - Serve a remote over a protocol.
  2296. rclone serve restic
  2297. Serve the remote for restic’s REST API.
  2298. Synopsis
  2299. rclone serve restic implements restic’s REST backend API over HTTP. This
  2300. allows restic to use rclone as a data storage mechanism for cloud
  2301. providers that restic does not support directly.
  2302. Restic is a command line program for doing backups.
  2303. The server will log errors. Use -v to see access logs.
  2304. –bwlimit will be respected for file transfers. Use –stats to control the
  2305. stats printing.
  2306. Setting up rclone for use by restic
  2307. First set up a remote for your chosen cloud provider.
  2308. Once you have set up the remote, check it is working with, for example
  2309. “rclone lsd remote:”. You may have called the remote something other
  2310. than “remote:” - just substitute whatever you called it in the following
  2311. instructions.
  2312. Now start the rclone restic server
  2313. rclone serve restic -v remote:backup
  2314. Where you can replace “backup” in the above by whatever path in the
  2315. remote you wish to use.
  2316. By default this will serve on “localhost:8080” you can change this with
  2317. use of the “–addr” flag.
  2318. You might wish to start this server on boot.
  2319. Setting up restic to use rclone
  2320. Now you can follow the restic instructions on setting up restic.
  2321. Note that you will need restic 0.8.2 or later to interoperate with
  2322. rclone.
  2323. For the example above you will want to use “http://localhost:8080/” as
  2324. the URL for the REST server.
  2325. For example:
  2326. $ export RESTIC_REPOSITORY=rest:http://localhost:8080/
  2327. $ export RESTIC_PASSWORD=yourpassword
  2328. $ restic init
  2329. created restic backend 8b1a4b56ae at rest:http://localhost:8080/
  2330. Please note that knowledge of your password is required to access
  2331. the repository. Losing your password means that your data is
  2332. irrecoverably lost.
  2333. $ restic backup /path/to/files/to/backup
  2334. scan [/path/to/files/to/backup]
  2335. scanned 189 directories, 312 files in 0:00
  2336. [0:00] 100.00% 38.128 MiB / 38.128 MiB 501 / 501 items 0 errors ETA 0:00
  2337. duration: 0:00
  2338. snapshot 45c8fdd8 saved
  2339. Multiple repositories
  2340. Note that you can use the endpoint to host multiple repositories. Do
  2341. this by adding a directory name or path after the URL. Note that these
  2342. MUST end with /. Eg
  2343. $ export RESTIC_REPOSITORY=rest:http://localhost:8080/user1repo/
  2344. # backup user1 stuff
  2345. $ export RESTIC_REPOSITORY=rest:http://localhost:8080/user2repo/
  2346. # backup user2 stuff
  2347. Private repositories
  2348. The “–private-repos” flag can be used to limit users to repositories
  2349. starting with a path of “//”.
  2350. Server options
  2351. Use –addr to specify which IP address and port the server should listen
  2352. on, eg –addr 1.2.3.4:8000 or –addr :8080 to listen to all IPs. By
  2353. default it only listens on localhost. You can use port :0 to let the OS
  2354. choose an available port.
  2355. If you set –addr to listen on a public or LAN accessible IP address then
  2356. using Authentication is advised - see the next section for info.
  2357. –server-read-timeout and –server-write-timeout can be used to control
  2358. the timeouts on the server. Note that this is the total time for a
  2359. transfer.
  2360. –max-header-bytes controls the maximum number of bytes the server will
  2361. accept in the HTTP header.
  2362. –baseurl controls the URL prefix that rclone serves from. By default
  2363. rclone will serve from the root. If you used –baseurl “/rclone” then
  2364. rclone would serve from a URL starting with “/rclone/”. This is useful
  2365. if you wish to proxy rclone serve. Rclone automatically inserts leading
  2366. and trailing “/” on –baseurl, so –baseurl “rclone”, –baseurl “/rclone”
  2367. and –baseurl “/rclone/” are all treated identically.
  2368. Authentication
  2369. By default this will serve files without needing a login.
  2370. You can either use an htpasswd file which can take lots of users, or set
  2371. a single username and password with the –user and –pass flags.
  2372. Use –htpasswd /path/to/htpasswd to provide an htpasswd file. This is in
  2373. standard apache format and supports MD5, SHA1 and BCrypt for basic
  2374. authentication. Bcrypt is recommended.
  2375. To create an htpasswd file:
  2376. touch htpasswd
  2377. htpasswd -B htpasswd user
  2378. htpasswd -B htpasswd anotherUser
  2379. The password file can be updated while rclone is running.
  2380. Use –realm to set the authentication realm.
  2381. SSL/TLS
  2382. By default this will serve over http. If you want you can serve over
  2383. https. You will need to supply the –cert and –key flags. If you wish to
  2384. do client side certificate validation then you will need to supply
  2385. –client-ca also.
  2386. –cert should be a either a PEM encoded certificate or a concatenation of
  2387. that with the CA certificate. –key should be the PEM encoded private key
  2388. and –client-ca should be the PEM encoded client certificate authority
  2389. certificate.
  2390. rclone serve restic remote:path [flags]
  2391. Options
  2392. --addr string IPaddress:Port or :Port to bind server to. (default "localhost:8080")
  2393. --append-only disallow deletion of repository data
  2394. --baseurl string Prefix for URLs - leave blank for root.
  2395. --cert string SSL PEM key (concatenation of certificate and CA certificate)
  2396. --client-ca string Client certificate authority to verify clients with
  2397. -h, --help help for restic
  2398. --htpasswd string htpasswd file - if not provided no authentication is done
  2399. --key string SSL PEM Private key
  2400. --max-header-bytes int Maximum size of request header (default 4096)
  2401. --pass string Password for authentication.
  2402. --private-repos users can only access their private repo
  2403. --realm string realm for authentication (default "rclone")
  2404. --server-read-timeout duration Timeout for server reading data (default 1h0m0s)
  2405. --server-write-timeout duration Timeout for server writing data (default 1h0m0s)
  2406. --stdio run an HTTP2 server on stdin/stdout
  2407. --user string User name for authentication.
  2408. See the global flags page for global options not listed here.
  2409. SEE ALSO
  2410. - rclone serve - Serve a remote over a protocol.
  2411. rclone serve sftp
  2412. Serve the remote over SFTP.
  2413. Synopsis
  2414. rclone serve sftp implements an SFTP server to serve the remote over
  2415. SFTP. This can be used with an SFTP client or you can make a remote of
  2416. type sftp to use with it.
  2417. You can use the filter flags (eg –include, –exclude) to control what is
  2418. served.
  2419. The server will log errors. Use -v to see access logs.
  2420. –bwlimit will be respected for file transfers. Use –stats to control the
  2421. stats printing.
  2422. You must provide some means of authentication, either with –user/–pass,
  2423. an authorized keys file (specify location with –authorized-keys - the
  2424. default is the same as ssh) or set the –no-auth flag for no
  2425. authentication when logging in.
  2426. Note that this also implements a small number of shell commands so that
  2427. it can provide md5sum/sha1sum/df information for the rclone sftp
  2428. backend. This means that is can support SHA1SUMs, MD5SUMs and the about
  2429. command when paired with the rclone sftp backend.
  2430. If you don’t supply a –key then rclone will generate one and cache it
  2431. for later use.
  2432. By default the server binds to localhost:2022 - if you want it to be
  2433. reachable externally then supply “–addr :2022” for example.
  2434. Note that the default of “–vfs-cache-mode off” is fine for the rclone
  2435. sftp backend, but it may not be with other SFTP clients.
  2436. Directory Cache
  2437. Using the --dir-cache-time flag, you can set how long a directory should
  2438. be considered up to date and not refreshed from the backend. Changes
  2439. made locally in the mount may appear immediately or invalidate the
  2440. cache. However, changes done on the remote will only be picked up once
  2441. the cache expires.
  2442. Alternatively, you can send a SIGHUP signal to rclone for it to flush
  2443. all directory caches, regardless of how old they are. Assuming only one
  2444. rclone instance is running, you can reset the cache like this:
  2445. kill -SIGHUP $(pidof rclone)
  2446. If you configure rclone with a remote control then you can use rclone rc
  2447. to flush the whole directory cache:
  2448. rclone rc vfs/forget
  2449. Or individual files or directories:
  2450. rclone rc vfs/forget file=path/to/file dir=path/to/dir
  2451. File Buffering
  2452. The --buffer-size flag determines the amount of memory, that will be
  2453. used to buffer data in advance.
  2454. Each open file descriptor will try to keep the specified amount of data
  2455. in memory at all times. The buffered data is bound to one file
  2456. descriptor and won’t be shared between multiple open file descriptors of
  2457. the same file.
  2458. This flag is a upper limit for the used memory per file descriptor. The
  2459. buffer will only use memory for data that is downloaded but not not yet
  2460. read. If the buffer is empty, only a small amount of memory will be
  2461. used. The maximum memory used by rclone for buffering can be up to
  2462. --buffer-size * open files.
  2463. File Caching
  2464. These flags control the VFS file caching options. The VFS layer is used
  2465. by rclone mount to make a cloud storage system work more like a normal
  2466. file system.
  2467. You’ll need to enable VFS caching if you want, for example, to read and
  2468. write simultaneously to a file. See below for more details.
  2469. Note that the VFS cache works in addition to the cache backend and you
  2470. may find that you need one or the other or both.
  2471. --cache-dir string Directory rclone will use for caching.
  2472. --vfs-cache-max-age duration Max age of objects in the cache. (default 1h0m0s)
  2473. --vfs-cache-mode string Cache mode off|minimal|writes|full (default "off")
  2474. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects. (default 1m0s)
  2475. --vfs-cache-max-size int Max total size of objects in the cache. (default off)
  2476. If run with -vv rclone will print the location of the file cache. The
  2477. files are stored in the user cache file area which is OS dependent but
  2478. can be controlled with --cache-dir or setting the appropriate
  2479. environment variable.
  2480. The cache has 4 different modes selected by --vfs-cache-mode. The higher
  2481. the cache mode the more compatible rclone becomes at the cost of using
  2482. disk space.
  2483. Note that files are written back to the remote only when they are closed
  2484. so if rclone is quit or dies with open files then these won’t get
  2485. written back to the remote. However they will still be in the on disk
  2486. cache.
  2487. If using –vfs-cache-max-size note that the cache may exceed this size
  2488. for two reasons. Firstly because it is only checked every
  2489. –vfs-cache-poll-interval. Secondly because open files cannot be evicted
  2490. from the cache.
  2491. –vfs-cache-mode off
  2492. In this mode the cache will read directly from the remote and write
  2493. directly to the remote without caching anything on disk.
  2494. This will mean some operations are not possible
  2495. - Files can’t be opened for both read AND write
  2496. - Files opened for write can’t be seeked
  2497. - Existing files opened for write must have O_TRUNC set
  2498. - Files open for read with O_TRUNC will be opened write only
  2499. - Files open for write only will behave as if O_TRUNC was supplied
  2500. - Open modes O_APPEND, O_TRUNC are ignored
  2501. - If an upload fails it can’t be retried
  2502. –vfs-cache-mode minimal
  2503. This is very similar to “off” except that files opened for read AND
  2504. write will be buffered to disks. This means that files opened for write
  2505. will be a lot more compatible, but uses the minimal disk space.
  2506. These operations are not possible
  2507. - Files opened for write only can’t be seeked
  2508. - Existing files opened for write must have O_TRUNC set
  2509. - Files opened for write only will ignore O_APPEND, O_TRUNC
  2510. - If an upload fails it can’t be retried
  2511. –vfs-cache-mode writes
  2512. In this mode files opened for read only are still read directly from the
  2513. remote, write only and read/write files are buffered to disk first.
  2514. This mode should support all normal file system operations.
  2515. If an upload fails it will be retried up to –low-level-retries times.
  2516. –vfs-cache-mode full
  2517. In this mode all reads and writes are buffered to and from disk. When a
  2518. file is opened for read it will be downloaded in its entirety first.
  2519. This may be appropriate for your needs, or you may prefer to look at the
  2520. cache backend which does a much more sophisticated job of caching,
  2521. including caching directory hierarchies and chunks of files.
  2522. In this mode, unlike the others, when a file is written to the disk, it
  2523. will be kept on the disk after it is written to the remote. It will be
  2524. purged on a schedule according to --vfs-cache-max-age.
  2525. This mode should support all normal file system operations.
  2526. If an upload or download fails it will be retried up to
  2527. –low-level-retries times.
  2528. Auth Proxy
  2529. If you supply the parameter --auth-proxy /path/to/program then rclone
  2530. will use that program to generate backends on the fly which then are
  2531. used to authenticate incoming requests. This uses a simple JSON based
  2532. protocl with input on STDIN and output on STDOUT.
  2533. There is an example program bin/test_proxy.py in the rclone source code.
  2534. The program’s job is to take a user and pass on the input and turn those
  2535. into the config for a backend on STDOUT in JSON format. This config will
  2536. have any default parameters for the backend added, but it won’t use
  2537. configuration from environment variables or command line options - it is
  2538. the job of the proxy program to make a complete config.
  2539. This config generated must have this extra parameter - _root - root to
  2540. use for the backend
  2541. And it may have this parameter - _obscure - comma separated strings for
  2542. parameters to obscure
  2543. For example the program might take this on STDIN
  2544. {
  2545. "user": "me",
  2546. "pass": "mypassword"
  2547. }
  2548. And return this on STDOUT
  2549. {
  2550. "type": "sftp",
  2551. "_root": "",
  2552. "_obscure": "pass",
  2553. "user": "me",
  2554. "pass": "mypassword",
  2555. "host": "sftp.example.com"
  2556. }
  2557. This would mean that an SFTP backend would be created on the fly for the
  2558. user and pass returned in the output to the host given. Note that since
  2559. _obscure is set to pass, rclone will obscure the pass parameter before
  2560. creating the backend (which is required for sftp backends).
  2561. The progam can manipulate the supplied user in any way, for example to
  2562. make proxy to many different sftp backends, you could make the user be
  2563. user@example.com and then set the host to example.com in the output and
  2564. the user to user. For security you’d probably want to restrict the host
  2565. to a limited list.
  2566. Note that an internal cache is keyed on user so only use that for
  2567. configuration, don’t use pass. This also means that if a user’s password
  2568. is changed the cache will need to expire (which takes 5 mins) before it
  2569. takes effect.
  2570. This can be used to build general purpose proxies to any kind of backend
  2571. that rclone supports.
  2572. rclone serve sftp remote:path [flags]
  2573. Options
  2574. --addr string IPaddress:Port or :Port to bind server to. (default "localhost:2022")
  2575. --auth-proxy string A program to use to create the backend from the auth.
  2576. --authorized-keys string Authorized keys file (default "~/.ssh/authorized_keys")
  2577. --dir-cache-time duration Time to cache directory entries for. (default 5m0s)
  2578. --dir-perms FileMode Directory permissions (default 0777)
  2579. --file-perms FileMode File permissions (default 0666)
  2580. --gid uint32 Override the gid field set by the filesystem. (default 1000)
  2581. -h, --help help for sftp
  2582. --key string SSH private key file (leave blank to auto generate)
  2583. --no-auth Allow connections with no authentication if set.
  2584. --no-checksum Don't compare checksums on up/download.
  2585. --no-modtime Don't read/write the modification time (can speed things up).
  2586. --no-seek Don't allow seeking in files.
  2587. --pass string Password for authentication.
  2588. --poll-interval duration Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable. (default 1m0s)
  2589. --read-only Mount read-only.
  2590. --uid uint32 Override the uid field set by the filesystem. (default 1000)
  2591. --umask int Override the permission bits set by the filesystem. (default 2)
  2592. --user string User name for authentication.
  2593. --vfs-cache-max-age duration Max age of objects in the cache. (default 1h0m0s)
  2594. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache. (default off)
  2595. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  2596. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects. (default 1m0s)
  2597. --vfs-case-insensitive If a file name not found, find a case insensitive match.
  2598. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks. (default 128M)
  2599. --vfs-read-chunk-size-limit SizeSuffix If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached. 'off' is unlimited. (default off)
  2600. See the global flags page for global options not listed here.
  2601. SEE ALSO
  2602. - rclone serve - Serve a remote over a protocol.
  2603. rclone serve webdav
  2604. Serve remote:path over webdav.
  2605. Synopsis
  2606. rclone serve webdav implements a basic webdav server to serve the remote
  2607. over HTTP via the webdav protocol. This can be viewed with a webdav
  2608. client, through a web browser, or you can make a remote of type webdav
  2609. to read and write it.
  2610. Webdav options
  2611. –etag-hash
  2612. This controls the ETag header. Without this flag the ETag will be based
  2613. on the ModTime and Size of the object.
  2614. If this flag is set to “auto” then rclone will choose the first
  2615. supported hash on the backend or you can use a named hash such as “MD5”
  2616. or “SHA-1”.
  2617. Use “rclone hashsum” to see the full list.
  2618. Server options
  2619. Use –addr to specify which IP address and port the server should listen
  2620. on, eg –addr 1.2.3.4:8000 or –addr :8080 to listen to all IPs. By
  2621. default it only listens on localhost. You can use port :0 to let the OS
  2622. choose an available port.
  2623. If you set –addr to listen on a public or LAN accessible IP address then
  2624. using Authentication is advised - see the next section for info.
  2625. –server-read-timeout and –server-write-timeout can be used to control
  2626. the timeouts on the server. Note that this is the total time for a
  2627. transfer.
  2628. –max-header-bytes controls the maximum number of bytes the server will
  2629. accept in the HTTP header.
  2630. –baseurl controls the URL prefix that rclone serves from. By default
  2631. rclone will serve from the root. If you used –baseurl “/rclone” then
  2632. rclone would serve from a URL starting with “/rclone/”. This is useful
  2633. if you wish to proxy rclone serve. Rclone automatically inserts leading
  2634. and trailing “/” on –baseurl, so –baseurl “rclone”, –baseurl “/rclone”
  2635. and –baseurl “/rclone/” are all treated identically.
  2636. Authentication
  2637. By default this will serve files without needing a login.
  2638. You can either use an htpasswd file which can take lots of users, or set
  2639. a single username and password with the –user and –pass flags.
  2640. Use –htpasswd /path/to/htpasswd to provide an htpasswd file. This is in
  2641. standard apache format and supports MD5, SHA1 and BCrypt for basic
  2642. authentication. Bcrypt is recommended.
  2643. To create an htpasswd file:
  2644. touch htpasswd
  2645. htpasswd -B htpasswd user
  2646. htpasswd -B htpasswd anotherUser
  2647. The password file can be updated while rclone is running.
  2648. Use –realm to set the authentication realm.
  2649. SSL/TLS
  2650. By default this will serve over http. If you want you can serve over
  2651. https. You will need to supply the –cert and –key flags. If you wish to
  2652. do client side certificate validation then you will need to supply
  2653. –client-ca also.
  2654. –cert should be a either a PEM encoded certificate or a concatenation of
  2655. that with the CA certificate. –key should be the PEM encoded private key
  2656. and –client-ca should be the PEM encoded client certificate authority
  2657. certificate.
  2658. Directory Cache
  2659. Using the --dir-cache-time flag, you can set how long a directory should
  2660. be considered up to date and not refreshed from the backend. Changes
  2661. made locally in the mount may appear immediately or invalidate the
  2662. cache. However, changes done on the remote will only be picked up once
  2663. the cache expires.
  2664. Alternatively, you can send a SIGHUP signal to rclone for it to flush
  2665. all directory caches, regardless of how old they are. Assuming only one
  2666. rclone instance is running, you can reset the cache like this:
  2667. kill -SIGHUP $(pidof rclone)
  2668. If you configure rclone with a remote control then you can use rclone rc
  2669. to flush the whole directory cache:
  2670. rclone rc vfs/forget
  2671. Or individual files or directories:
  2672. rclone rc vfs/forget file=path/to/file dir=path/to/dir
  2673. File Buffering
  2674. The --buffer-size flag determines the amount of memory, that will be
  2675. used to buffer data in advance.
  2676. Each open file descriptor will try to keep the specified amount of data
  2677. in memory at all times. The buffered data is bound to one file
  2678. descriptor and won’t be shared between multiple open file descriptors of
  2679. the same file.
  2680. This flag is a upper limit for the used memory per file descriptor. The
  2681. buffer will only use memory for data that is downloaded but not not yet
  2682. read. If the buffer is empty, only a small amount of memory will be
  2683. used. The maximum memory used by rclone for buffering can be up to
  2684. --buffer-size * open files.
  2685. File Caching
  2686. These flags control the VFS file caching options. The VFS layer is used
  2687. by rclone mount to make a cloud storage system work more like a normal
  2688. file system.
  2689. You’ll need to enable VFS caching if you want, for example, to read and
  2690. write simultaneously to a file. See below for more details.
  2691. Note that the VFS cache works in addition to the cache backend and you
  2692. may find that you need one or the other or both.
  2693. --cache-dir string Directory rclone will use for caching.
  2694. --vfs-cache-max-age duration Max age of objects in the cache. (default 1h0m0s)
  2695. --vfs-cache-mode string Cache mode off|minimal|writes|full (default "off")
  2696. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects. (default 1m0s)
  2697. --vfs-cache-max-size int Max total size of objects in the cache. (default off)
  2698. If run with -vv rclone will print the location of the file cache. The
  2699. files are stored in the user cache file area which is OS dependent but
  2700. can be controlled with --cache-dir or setting the appropriate
  2701. environment variable.
  2702. The cache has 4 different modes selected by --vfs-cache-mode. The higher
  2703. the cache mode the more compatible rclone becomes at the cost of using
  2704. disk space.
  2705. Note that files are written back to the remote only when they are closed
  2706. so if rclone is quit or dies with open files then these won’t get
  2707. written back to the remote. However they will still be in the on disk
  2708. cache.
  2709. If using –vfs-cache-max-size note that the cache may exceed this size
  2710. for two reasons. Firstly because it is only checked every
  2711. –vfs-cache-poll-interval. Secondly because open files cannot be evicted
  2712. from the cache.
  2713. –vfs-cache-mode off
  2714. In this mode the cache will read directly from the remote and write
  2715. directly to the remote without caching anything on disk.
  2716. This will mean some operations are not possible
  2717. - Files can’t be opened for both read AND write
  2718. - Files opened for write can’t be seeked
  2719. - Existing files opened for write must have O_TRUNC set
  2720. - Files open for read with O_TRUNC will be opened write only
  2721. - Files open for write only will behave as if O_TRUNC was supplied
  2722. - Open modes O_APPEND, O_TRUNC are ignored
  2723. - If an upload fails it can’t be retried
  2724. –vfs-cache-mode minimal
  2725. This is very similar to “off” except that files opened for read AND
  2726. write will be buffered to disks. This means that files opened for write
  2727. will be a lot more compatible, but uses the minimal disk space.
  2728. These operations are not possible
  2729. - Files opened for write only can’t be seeked
  2730. - Existing files opened for write must have O_TRUNC set
  2731. - Files opened for write only will ignore O_APPEND, O_TRUNC
  2732. - If an upload fails it can’t be retried
  2733. –vfs-cache-mode writes
  2734. In this mode files opened for read only are still read directly from the
  2735. remote, write only and read/write files are buffered to disk first.
  2736. This mode should support all normal file system operations.
  2737. If an upload fails it will be retried up to –low-level-retries times.
  2738. –vfs-cache-mode full
  2739. In this mode all reads and writes are buffered to and from disk. When a
  2740. file is opened for read it will be downloaded in its entirety first.
  2741. This may be appropriate for your needs, or you may prefer to look at the
  2742. cache backend which does a much more sophisticated job of caching,
  2743. including caching directory hierarchies and chunks of files.
  2744. In this mode, unlike the others, when a file is written to the disk, it
  2745. will be kept on the disk after it is written to the remote. It will be
  2746. purged on a schedule according to --vfs-cache-max-age.
  2747. This mode should support all normal file system operations.
  2748. If an upload or download fails it will be retried up to
  2749. –low-level-retries times.
  2750. Auth Proxy
  2751. If you supply the parameter --auth-proxy /path/to/program then rclone
  2752. will use that program to generate backends on the fly which then are
  2753. used to authenticate incoming requests. This uses a simple JSON based
  2754. protocl with input on STDIN and output on STDOUT.
  2755. There is an example program bin/test_proxy.py in the rclone source code.
  2756. The program’s job is to take a user and pass on the input and turn those
  2757. into the config for a backend on STDOUT in JSON format. This config will
  2758. have any default parameters for the backend added, but it won’t use
  2759. configuration from environment variables or command line options - it is
  2760. the job of the proxy program to make a complete config.
  2761. This config generated must have this extra parameter - _root - root to
  2762. use for the backend
  2763. And it may have this parameter - _obscure - comma separated strings for
  2764. parameters to obscure
  2765. For example the program might take this on STDIN
  2766. {
  2767. "user": "me",
  2768. "pass": "mypassword"
  2769. }
  2770. And return this on STDOUT
  2771. {
  2772. "type": "sftp",
  2773. "_root": "",
  2774. "_obscure": "pass",
  2775. "user": "me",
  2776. "pass": "mypassword",
  2777. "host": "sftp.example.com"
  2778. }
  2779. This would mean that an SFTP backend would be created on the fly for the
  2780. user and pass returned in the output to the host given. Note that since
  2781. _obscure is set to pass, rclone will obscure the pass parameter before
  2782. creating the backend (which is required for sftp backends).
  2783. The progam can manipulate the supplied user in any way, for example to
  2784. make proxy to many different sftp backends, you could make the user be
  2785. user@example.com and then set the host to example.com in the output and
  2786. the user to user. For security you’d probably want to restrict the host
  2787. to a limited list.
  2788. Note that an internal cache is keyed on user so only use that for
  2789. configuration, don’t use pass. This also means that if a user’s password
  2790. is changed the cache will need to expire (which takes 5 mins) before it
  2791. takes effect.
  2792. This can be used to build general purpose proxies to any kind of backend
  2793. that rclone supports.
  2794. rclone serve webdav remote:path [flags]
  2795. Options
  2796. --addr string IPaddress:Port or :Port to bind server to. (default "localhost:8080")
  2797. --auth-proxy string A program to use to create the backend from the auth.
  2798. --baseurl string Prefix for URLs - leave blank for root.
  2799. --cert string SSL PEM key (concatenation of certificate and CA certificate)
  2800. --client-ca string Client certificate authority to verify clients with
  2801. --dir-cache-time duration Time to cache directory entries for. (default 5m0s)
  2802. --dir-perms FileMode Directory permissions (default 0777)
  2803. --disable-dir-list Disable HTML directory list on GET request for a directory
  2804. --etag-hash string Which hash to use for the ETag, or auto or blank for off
  2805. --file-perms FileMode File permissions (default 0666)
  2806. --gid uint32 Override the gid field set by the filesystem. (default 1000)
  2807. -h, --help help for webdav
  2808. --htpasswd string htpasswd file - if not provided no authentication is done
  2809. --key string SSL PEM Private key
  2810. --max-header-bytes int Maximum size of request header (default 4096)
  2811. --no-checksum Don't compare checksums on up/download.
  2812. --no-modtime Don't read/write the modification time (can speed things up).
  2813. --no-seek Don't allow seeking in files.
  2814. --pass string Password for authentication.
  2815. --poll-interval duration Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable. (default 1m0s)
  2816. --read-only Mount read-only.
  2817. --realm string realm for authentication (default "rclone")
  2818. --server-read-timeout duration Timeout for server reading data (default 1h0m0s)
  2819. --server-write-timeout duration Timeout for server writing data (default 1h0m0s)
  2820. --uid uint32 Override the uid field set by the filesystem. (default 1000)
  2821. --umask int Override the permission bits set by the filesystem. (default 2)
  2822. --user string User name for authentication.
  2823. --vfs-cache-max-age duration Max age of objects in the cache. (default 1h0m0s)
  2824. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache. (default off)
  2825. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  2826. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects. (default 1m0s)
  2827. --vfs-case-insensitive If a file name not found, find a case insensitive match.
  2828. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks. (default 128M)
  2829. --vfs-read-chunk-size-limit SizeSuffix If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached. 'off' is unlimited. (default off)
  2830. See the global flags page for global options not listed here.
  2831. SEE ALSO
  2832. - rclone serve - Serve a remote over a protocol.
  2833. rclone settier
  2834. Changes storage class/tier of objects in remote.
  2835. Synopsis
  2836. rclone settier changes storage tier or class at remote if supported. Few
  2837. cloud storage services provides different storage classes on objects,
  2838. for example AWS S3 and Glacier, Azure Blob storage - Hot, Cool and
  2839. Archive, Google Cloud Storage, Regional Storage, Nearline, Coldline etc.
  2840. Note that, certain tier changes make objects not available to access
  2841. immediately. For example tiering to archive in azure blob storage makes
  2842. objects in frozen state, user can restore by setting tier to Hot/Cool,
  2843. similarly S3 to Glacier makes object inaccessible.true
  2844. You can use it to tier single object
  2845. rclone settier Cool remote:path/file
  2846. Or use rclone filters to set tier on only specific files
  2847. rclone --include "*.txt" settier Hot remote:path/dir
  2848. Or just provide remote directory and all files in directory will be
  2849. tiered
  2850. rclone settier tier remote:path/dir
  2851. rclone settier tier remote:path [flags]
  2852. Options
  2853. -h, --help help for settier
  2854. See the global flags page for global options not listed here.
  2855. SEE ALSO
  2856. - rclone - Show help for rclone commands, flags and backends.
  2857. rclone touch
  2858. Create new file or change file modification time.
  2859. Synopsis
  2860. Create new file or change file modification time.
  2861. rclone touch remote:path [flags]
  2862. Options
  2863. -h, --help help for touch
  2864. -C, --no-create Do not create the file if it does not exist.
  2865. -t, --timestamp string Change the modification times to the specified time instead of the current time of day. The argument is of the form 'YYMMDD' (ex. 17.10.30) or 'YYYY-MM-DDTHH:MM:SS' (ex. 2006-01-02T15:04:05)
  2866. See the global flags page for global options not listed here.
  2867. SEE ALSO
  2868. - rclone - Show help for rclone commands, flags and backends.
  2869. rclone tree
  2870. List the contents of the remote in a tree like fashion.
  2871. Synopsis
  2872. rclone tree lists the contents of a remote in a similar way to the unix
  2873. tree command.
  2874. For example
  2875. $ rclone tree remote:path
  2876. /
  2877. ├── file1
  2878. ├── file2
  2879. ├── file3
  2880. └── subdir
  2881. ├── file4
  2882. └── file5
  2883. 1 directories, 5 files
  2884. You can use any of the filtering options with the tree command (eg
  2885. –include and –exclude). You can also use –fast-list.
  2886. The tree command has many options for controlling the listing which are
  2887. compatible with the tree command. Note that not all of them have short
  2888. options as they conflict with rclone’s short options.
  2889. rclone tree remote:path [flags]
  2890. Options
  2891. -a, --all All files are listed (list . files too).
  2892. -C, --color Turn colorization on always.
  2893. -d, --dirs-only List directories only.
  2894. --dirsfirst List directories before files (-U disables).
  2895. --full-path Print the full path prefix for each file.
  2896. -h, --help help for tree
  2897. --human Print the size in a more human readable way.
  2898. --level int Descend only level directories deep.
  2899. -D, --modtime Print the date of last modification.
  2900. -i, --noindent Don't print indentation lines.
  2901. --noreport Turn off file/directory count at end of tree listing.
  2902. -o, --output string Output to file instead of stdout.
  2903. -p, --protections Print the protections for each file.
  2904. -Q, --quote Quote filenames with double quotes.
  2905. -s, --size Print the size in bytes of each file.
  2906. --sort string Select sort: name,version,size,mtime,ctime.
  2907. --sort-ctime Sort files by last status change time.
  2908. -t, --sort-modtime Sort files by last modification time.
  2909. -r, --sort-reverse Reverse the order of the sort.
  2910. -U, --unsorted Leave files unsorted.
  2911. --version Sort files alphanumerically by version.
  2912. See the global flags page for global options not listed here.
  2913. SEE ALSO
  2914. - rclone - Show help for rclone commands, flags and backends.
  2915. Copying single files
  2916. rclone normally syncs or copies directories. However, if the source
  2917. remote points to a file, rclone will just copy that file. The
  2918. destination remote must point to a directory - rclone will give the
  2919. error
  2920. Failed to create file system for "remote:file": is a file not a directory
  2921. if it isn’t.
  2922. For example, suppose you have a remote with a file in called test.jpg,
  2923. then you could copy just that file like this
  2924. rclone copy remote:test.jpg /tmp/download
  2925. The file test.jpg will be placed inside /tmp/download.
  2926. This is equivalent to specifying
  2927. rclone copy --files-from /tmp/files remote: /tmp/download
  2928. Where /tmp/files contains the single line
  2929. test.jpg
  2930. It is recommended to use copy when copying individual files, not sync.
  2931. They have pretty much the same effect but copy will use a lot less
  2932. memory.
  2933. Syntax of remote paths
  2934. The syntax of the paths passed to the rclone command are as follows.
  2935. /path/to/dir
  2936. This refers to the local file system.
  2937. On Windows only \ may be used instead of / in local paths ONLY, non
  2938. local paths must use /.
  2939. These paths needn’t start with a leading / - if they don’t then they
  2940. will be relative to the current directory.
  2941. remote:path/to/dir
  2942. This refers to a directory path/to/dir on remote: as defined in the
  2943. config file (configured with rclone config).
  2944. remote:/path/to/dir
  2945. On most backends this is refers to the same directory as
  2946. remote:path/to/dir and that format should be preferred. On a very small
  2947. number of remotes (FTP, SFTP, Dropbox for business) this will refer to a
  2948. different directory. On these, paths without a leading / will refer to
  2949. your “home” directory and paths with a leading / will refer to the root.
  2950. :backend:path/to/dir
  2951. This is an advanced form for creating remotes on the fly. backend should
  2952. be the name or prefix of a backend (the type in the config file) and all
  2953. the configuration for the backend should be provided on the command line
  2954. (or in environment variables).
  2955. Here are some examples:
  2956. rclone lsd --http-url https://pub.rclone.org :http:
  2957. To list all the directories in the root of https://pub.rclone.org/.
  2958. rclone lsf --http-url https://example.com :http:path/to/dir
  2959. To list files and directories in https://example.com/path/to/dir/
  2960. rclone copy --http-url https://example.com :http:path/to/dir /tmp/dir
  2961. To copy files and directories in https://example.com/path/to/dir to
  2962. /tmp/dir.
  2963. rclone copy --sftp-host example.com :sftp:path/to/dir /tmp/dir
  2964. To copy files and directories from example.com in the relative directory
  2965. path/to/dir to /tmp/dir using sftp.
  2966. Quoting and the shell
  2967. When you are typing commands to your computer you are using something
  2968. called the command line shell. This interprets various characters in an
  2969. OS specific way.
  2970. Here are some gotchas which may help users unfamiliar with the shell
  2971. rules
  2972. Linux / OSX
  2973. If your names have spaces or shell metacharacters (eg *, ?, $, ', " etc)
  2974. then you must quote them. Use single quotes ' by default.
  2975. rclone copy 'Important files?' remote:backup
  2976. If you want to send a ' you will need to use ", eg
  2977. rclone copy "O'Reilly Reviews" remote:backup
  2978. The rules for quoting metacharacters are complicated and if you want the
  2979. full details you’ll have to consult the manual page for your shell.
  2980. Windows
  2981. If your names have spaces in you need to put them in ", eg
  2982. rclone copy "E:\folder name\folder name\folder name" remote:backup
  2983. If you are using the root directory on its own then don’t quote it (see
  2984. #464 for why), eg
  2985. rclone copy E:\ remote:backup
  2986. Copying files or directories with : in the names
  2987. rclone uses : to mark a remote name. This is, however, a valid filename
  2988. component in non-Windows OSes. The remote name parser will only search
  2989. for a : up to the first / so if you need to act on a file or directory
  2990. like this then use the full path starting with a /, or use ./ as a
  2991. current directory prefix.
  2992. So to sync a directory called sync:me to a remote called remote: use
  2993. rclone sync ./sync:me remote:path
  2994. or
  2995. rclone sync /full/path/to/sync:me remote:path
  2996. Server Side Copy
  2997. Most remotes (but not all - see the overview) support server side copy.
  2998. This means if you want to copy one folder to another then rclone won’t
  2999. download all the files and re-upload them; it will instruct the server
  3000. to copy them in place.
  3001. Eg
  3002. rclone copy s3:oldbucket s3:newbucket
  3003. Will copy the contents of oldbucket to newbucket without downloading and
  3004. re-uploading.
  3005. Remotes which don’t support server side copy WILL download and re-upload
  3006. in this case.
  3007. Server side copies are used with sync and copy and will be identified in
  3008. the log when using the -v flag. The move command may also use them if
  3009. remote doesn’t support server side move directly. This is done by
  3010. issuing a server side copy then a delete which is much quicker than a
  3011. download and re-upload.
  3012. Server side copies will only be attempted if the remote names are the
  3013. same.
  3014. This can be used when scripting to make aged backups efficiently, eg
  3015. rclone sync remote:current-backup remote:previous-backup
  3016. rclone sync /path/to/files remote:current-backup
  3017. Options
  3018. Rclone has a number of options to control its behaviour.
  3019. Options that take parameters can have the values passed in two ways,
  3020. --option=value or --option value. However boolean (true/false) options
  3021. behave slightly differently to the other options in that --boolean sets
  3022. the option to true and the absence of the flag sets it to false. It is
  3023. also possible to specify --boolean=false or --boolean=true. Note that
  3024. --boolean false is not valid - this is parsed as --boolean and the false
  3025. is parsed as an extra command line argument for rclone.
  3026. Options which use TIME use the go time parser. A duration string is a
  3027. possibly signed sequence of decimal numbers, each with optional fraction
  3028. and a unit suffix, such as “300ms”, “-1.5h” or “2h45m”. Valid time units
  3029. are “ns”, “us” (or “µs”), “ms”, “s”, “m”, “h”.
  3030. Options which use SIZE use kByte by default. However, a suffix of b for
  3031. bytes, k for kBytes, M for MBytes, G for GBytes, T for TBytes and P for
  3032. PBytes may be used. These are the binary units, eg 1, 2**10, 2**20,
  3033. 2**30 respectively.
  3034. –backup-dir=DIR
  3035. When using sync, copy or move any files which would have been
  3036. overwritten or deleted are moved in their original hierarchy into this
  3037. directory.
  3038. If --suffix is set, then the moved files will have the suffix added to
  3039. them. If there is a file with the same path (after the suffix has been
  3040. added) in DIR, then it will be overwritten.
  3041. The remote in use must support server side move or copy and you must use
  3042. the same remote as the destination of the sync. The backup directory
  3043. must not overlap the destination directory.
  3044. For example
  3045. rclone sync /path/to/local remote:current --backup-dir remote:old
  3046. will sync /path/to/local to remote:current, but for any files which
  3047. would have been updated or deleted will be stored in remote:old.
  3048. If running rclone from a script you might want to use today’s date as
  3049. the directory name passed to --backup-dir to store the old files, or you
  3050. might want to pass --suffix with today’s date.
  3051. See --compare-dest and --copy-dest.
  3052. –bind string
  3053. Local address to bind to for outgoing connections. This can be an IPv4
  3054. address (1.2.3.4), an IPv6 address (1234::789A) or host name. If the
  3055. host name doesn’t resolve or resolves to more than one IP address it
  3056. will give an error.
  3057. –bwlimit=BANDWIDTH_SPEC
  3058. This option controls the bandwidth limit. Limits can be specified in two
  3059. ways: As a single limit, or as a timetable.
  3060. Single limits last for the duration of the session. To use a single
  3061. limit, specify the desired bandwidth in kBytes/s, or use a suffix
  3062. b|k|M|G. The default is 0 which means to not limit bandwidth.
  3063. For example, to limit bandwidth usage to 10 MBytes/s use --bwlimit 10M
  3064. It is also possible to specify a “timetable” of limits, which will cause
  3065. certain limits to be applied at certain times. To specify a timetable,
  3066. format your entries as “WEEKDAY-HH:MM,BANDWIDTH
  3067. WEEKDAY-HH:MM,BANDWIDTH…” where: WEEKDAY is optional element. It could
  3068. be written as whole world or only using 3 first characters. HH:MM is an
  3069. hour from 00:00 to 23:59.
  3070. An example of a typical timetable to avoid link saturation during
  3071. daytime working hours could be:
  3072. --bwlimit "08:00,512 12:00,10M 13:00,512 18:00,30M 23:00,off"
  3073. In this example, the transfer bandwidth will be every day set to
  3074. 512kBytes/sec at 8am. At noon, it will raise to 10Mbytes/s, and drop
  3075. back to 512kBytes/sec at 1pm. At 6pm, the bandwidth limit will be set to
  3076. 30MBytes/s, and at 11pm it will be completely disabled (full speed).
  3077. Anything between 11pm and 8am will remain unlimited.
  3078. An example of timetable with WEEKDAY could be:
  3079. --bwlimit "Mon-00:00,512 Fri-23:59,10M Sat-10:00,1M Sun-20:00,off"
  3080. It mean that, the transfer bandwidth will be set to 512kBytes/sec on
  3081. Monday. It will raise to 10Mbytes/s before the end of Friday. At 10:00
  3082. on Sunday it will be set to 1Mbyte/s. From 20:00 at Sunday will be
  3083. unlimited.
  3084. Timeslots without weekday are extended to whole week. So this one
  3085. example:
  3086. --bwlimit "Mon-00:00,512 12:00,1M Sun-20:00,off"
  3087. Is equal to this:
  3088. --bwlimit "Mon-00:00,512Mon-12:00,1M Tue-12:00,1M Wed-12:00,1M Thu-12:00,1M Fri-12:00,1M Sat-12:00,1M Sun-12:00,1M Sun-20:00,off"
  3089. Bandwidth limits only apply to the data transfer. They don’t apply to
  3090. the bandwidth of the directory listings etc.
  3091. Note that the units are Bytes/s, not Bits/s. Typically connections are
  3092. measured in Bits/s - to convert divide by 8. For example, let’s say you
  3093. have a 10 Mbit/s connection and you wish rclone to use half of it - 5
  3094. Mbit/s. This is 5/8 = 0.625MByte/s so you would use a --bwlimit 0.625M
  3095. parameter for rclone.
  3096. On Unix systems (Linux, MacOS, …) the bandwidth limiter can be toggled
  3097. by sending a SIGUSR2 signal to rclone. This allows to remove the
  3098. limitations of a long running rclone transfer and to restore it back to
  3099. the value specified with --bwlimit quickly when needed. Assuming there
  3100. is only one rclone instance running, you can toggle the limiter like
  3101. this:
  3102. kill -SIGUSR2 $(pidof rclone)
  3103. If you configure rclone with a remote control then you can use change
  3104. the bwlimit dynamically:
  3105. rclone rc core/bwlimit rate=1M
  3106. –buffer-size=SIZE
  3107. Use this sized buffer to speed up file transfers. Each --transfer will
  3108. use this much memory for buffering.
  3109. When using mount or cmount each open file descriptor will use this much
  3110. memory for buffering. See the mount documentation for more details.
  3111. Set to 0 to disable the buffering for the minimum memory usage.
  3112. Note that the memory allocation of the buffers is influenced by the
  3113. –use-mmap flag.
  3114. –checkers=N
  3115. The number of checkers to run in parallel. Checkers do the equality
  3116. checking of files during a sync. For some storage systems (eg S3, Swift,
  3117. Dropbox) this can take a significant amount of time so they are run in
  3118. parallel.
  3119. The default is to run 8 checkers in parallel.
  3120. -c, –checksum
  3121. Normally rclone will look at modification time and size of files to see
  3122. if they are equal. If you set this flag then rclone will check the file
  3123. hash and size to determine if files are equal.
  3124. This is useful when the remote doesn’t support setting modified time and
  3125. a more accurate sync is desired than just checking the file size.
  3126. This is very useful when transferring between remotes which store the
  3127. same hash type on the object, eg Drive and Swift. For details of which
  3128. remotes support which hash type see the table in the overview section.
  3129. Eg rclone --checksum sync s3:/bucket swift:/bucket would run much
  3130. quicker than without the --checksum flag.
  3131. When using this flag, rclone won’t update mtimes of remote files if they
  3132. are incorrect as it would normally.
  3133. –compare-dest=DIR
  3134. When using sync, copy or move DIR is checked in addition to the
  3135. destination for files. If a file identical to the source is found that
  3136. file is NOT copied from source. This is useful to copy just files that
  3137. have changed since the last backup.
  3138. You must use the same remote as the destination of the sync. The compare
  3139. directory must not overlap the destination directory.
  3140. See --copy-dest and --backup-dir.
  3141. –config=CONFIG_FILE
  3142. Specify the location of the rclone config file.
  3143. Normally the config file is in your home directory as a file called
  3144. .config/rclone/rclone.conf (or .rclone.conf if created with an older
  3145. version). If $XDG_CONFIG_HOME is set it will be at
  3146. $XDG_CONFIG_HOME/rclone/rclone.conf.
  3147. If there is a file rclone.conf in the same directory as the rclone
  3148. executable it will be preferred. This file must be created manually for
  3149. Rclone to use it, it will never be created automatically.
  3150. If you run rclone config file you will see where the default location is
  3151. for you.
  3152. Use this flag to override the config location, eg
  3153. rclone --config=".myconfig" .config.
  3154. –contimeout=TIME
  3155. Set the connection timeout. This should be in go time format which looks
  3156. like 5s for 5 seconds, 10m for 10 minutes, or 3h30m.
  3157. The connection timeout is the amount of time rclone will wait for a
  3158. connection to go through to a remote object storage system. It is 1m by
  3159. default.
  3160. –copy-dest=DIR
  3161. When using sync, copy or move DIR is checked in addition to the
  3162. destination for files. If a file identical to the source is found that
  3163. file is server side copied from DIR to the destination. This is useful
  3164. for incremental backup.
  3165. The remote in use must support server side copy and you must use the
  3166. same remote as the destination of the sync. The compare directory must
  3167. not overlap the destination directory.
  3168. See --compare-dest and --backup-dir.
  3169. –dedupe-mode MODE
  3170. Mode to run dedupe command in. One of interactive, skip, first, newest,
  3171. oldest, rename. The default is interactive. See the dedupe command for
  3172. more information as to what these options mean.
  3173. –disable FEATURE,FEATURE,…
  3174. This disables a comma separated list of optional features. For example
  3175. to disable server side move and server side copy use:
  3176. --disable move,copy
  3177. The features can be put in in any case.
  3178. To see a list of which features can be disabled use:
  3179. --disable help
  3180. See the overview features and optional features to get an idea of which
  3181. feature does what.
  3182. This flag can be useful for debugging and in exceptional circumstances
  3183. (eg Google Drive limiting the total volume of Server Side Copies to
  3184. 100GB/day).
  3185. -n, –dry-run
  3186. Do a trial run with no permanent changes. Use this to see what rclone
  3187. would do without actually doing it. Useful when setting up the sync
  3188. command which deletes files in the destination.
  3189. –expect-continue-timeout=TIME
  3190. This specifies the amount of time to wait for a server’s first response
  3191. headers after fully writing the request headers if the request has an
  3192. “Expect: 100-continue” header. Not all backends support using this.
  3193. Zero means no timeout and causes the body to be sent immediately,
  3194. without waiting for the server to approve. This time does not include
  3195. the time to send the request header.
  3196. The default is 1s. Set to 0 to disable.
  3197. –ignore-case-sync
  3198. Using this option will cause rclone to ignore the case of the files when
  3199. synchronizing so files will not be copied/synced when the existing
  3200. filenames are the same, even if the casing is different.
  3201. –ignore-checksum
  3202. Normally rclone will check that the checksums of transferred files
  3203. match, and give an error “corrupted on transfer” if they don’t.
  3204. You can use this option to skip that check. You should only use it if
  3205. you have had the “corrupted on transfer” error message and you are sure
  3206. you might want to transfer potentially corrupted data.
  3207. –ignore-existing
  3208. Using this option will make rclone unconditionally skip all files that
  3209. exist on the destination, no matter the content of these files.
  3210. While this isn’t a generally recommended option, it can be useful in
  3211. cases where your files change due to encryption. However, it cannot
  3212. correct partial transfers in case a transfer was interrupted.
  3213. –ignore-size
  3214. Normally rclone will look at modification time and size of files to see
  3215. if they are equal. If you set this flag then rclone will check only the
  3216. modification time. If --checksum is set then it only checks the
  3217. checksum.
  3218. It will also cause rclone to skip verifying the sizes are the same after
  3219. transfer.
  3220. This can be useful for transferring files to and from OneDrive which
  3221. occasionally misreports the size of image files (see #399 for more
  3222. info).
  3223. -I, –ignore-times
  3224. Using this option will cause rclone to unconditionally upload all files
  3225. regardless of the state of files on the destination.
  3226. Normally rclone would skip any files that have the same modification
  3227. time and are the same size (or have the same checksum if using
  3228. --checksum).
  3229. –immutable
  3230. Treat source and destination files as immutable and disallow
  3231. modification.
  3232. With this option set, files will be created and deleted as requested,
  3233. but existing files will never be updated. If an existing file does not
  3234. match between the source and destination, rclone will give the error
  3235. Source and destination exist but do not match: immutable file modified.
  3236. Note that only commands which transfer files (e.g. sync, copy, move) are
  3237. affected by this behavior, and only modification is disallowed. Files
  3238. may still be deleted explicitly (e.g. delete, purge) or implicitly
  3239. (e.g. sync, move). Use copy --immutable if it is desired to avoid
  3240. deletion as well as modification.
  3241. This can be useful as an additional layer of protection for immutable or
  3242. append-only data sets (notably backup archives), where modification
  3243. implies corruption and should not be propagated.
  3244. –leave-root
  3245. During rmdirs it will not remove root directory, even if it’s empty.
  3246. –log-file=FILE
  3247. Log all of rclone’s output to FILE. This is not active by default. This
  3248. can be useful for tracking down problems with syncs in combination with
  3249. the -v flag. See the Logging section for more info.
  3250. Note that if you are using the logrotate program to manage rclone’s
  3251. logs, then you should use the copytruncate option as rclone doesn’t have
  3252. a signal to rotate logs.
  3253. –log-format LIST
  3254. Comma separated list of log format options. date, time, microseconds,
  3255. longfile, shortfile, UTC. The default is “date,time”.
  3256. –log-level LEVEL
  3257. This sets the log level for rclone. The default log level is NOTICE.
  3258. DEBUG is equivalent to -vv. It outputs lots of debug info - useful for
  3259. bug reports and really finding out what rclone is doing.
  3260. INFO is equivalent to -v. It outputs information about each transfer and
  3261. prints stats once a minute by default.
  3262. NOTICE is the default log level if no logging flags are supplied. It
  3263. outputs very little when things are working normally. It outputs
  3264. warnings and significant events.
  3265. ERROR is equivalent to -q. It only outputs error messages.
  3266. –use-json-log
  3267. This switches the log format to JSON for rclone. The fields of json log
  3268. are level, msg, source, time.
  3269. –low-level-retries NUMBER
  3270. This controls the number of low level retries rclone does.
  3271. A low level retry is used to retry a failing operation - typically one
  3272. HTTP request. This might be uploading a chunk of a big file for example.
  3273. You will see low level retries in the log with the -v flag.
  3274. This shouldn’t need to be changed from the default in normal operations.
  3275. However, if you get a lot of low level retries you may wish to reduce
  3276. the value so rclone moves on to a high level retry (see the --retries
  3277. flag) quicker.
  3278. Disable low level retries with --low-level-retries 1.
  3279. –max-backlog=N
  3280. This is the maximum allowable backlog of files in a sync/copy/move
  3281. queued for being checked or transferred.
  3282. This can be set arbitrarily large. It will only use memory when the
  3283. queue is in use. Note that it will use in the order of N kB of memory
  3284. when the backlog is in use.
  3285. Setting this large allows rclone to calculate how many files are pending
  3286. more accurately, give a more accurate estimated finish time and make
  3287. --order-by work more accurately.
  3288. Setting this small will make rclone more synchronous to the listings of
  3289. the remote which may be desirable.
  3290. –max-delete=N
  3291. This tells rclone not to delete more than N files. If that limit is
  3292. exceeded then a fatal error will be generated and rclone will stop the
  3293. operation in progress.
  3294. –max-depth=N
  3295. This modifies the recursion depth for all the commands except purge.
  3296. So if you do rclone --max-depth 1 ls remote:path you will see only the
  3297. files in the top level directory. Using --max-depth 2 means you will see
  3298. all the files in first two directory levels and so on.
  3299. For historical reasons the lsd command defaults to using a --max-depth
  3300. of 1 - you can override this with the command line flag.
  3301. You can use this command to disable recursion (with --max-depth 1).
  3302. Note that if you use this with sync and --delete-excluded the files not
  3303. recursed through are considered excluded and will be deleted on the
  3304. destination. Test first with --dry-run if you are not sure what will
  3305. happen.
  3306. –max-duration=TIME
  3307. Rclone will stop scheduling new transfers when it has run for the
  3308. duration specified.
  3309. Defaults to off.
  3310. When the limit is reached any existing transfers will complete.
  3311. Rclone won’t exit with an error if the transfer limit is reached.
  3312. –max-transfer=SIZE
  3313. Rclone will stop transferring when it has reached the size specified.
  3314. Defaults to off.
  3315. When the limit is reached all transfers will stop immediately.
  3316. Rclone will exit with exit code 8 if the transfer limit is reached.
  3317. –modify-window=TIME
  3318. When checking whether a file has been modified, this is the maximum
  3319. allowed time difference that a file can have and still be considered
  3320. equivalent.
  3321. The default is 1ns unless this is overridden by a remote. For example OS
  3322. X only stores modification times to the nearest second so if you are
  3323. reading and writing to an OS X filing system this will be 1s by default.
  3324. This command line flag allows you to override that computed default.
  3325. –multi-thread-cutoff=SIZE
  3326. When downloading files to the local backend above this size, rclone will
  3327. use multiple threads to download the file. (default 250M)
  3328. Rclone preallocates the file (using fallocate(FALLOC_FL_KEEP_SIZE) on
  3329. unix or NTSetInformationFile on Windows both of which takes no time)
  3330. then each thread writes directly into the file at the correct place.
  3331. This means that rclone won’t create fragmented or sparse files and there
  3332. won’t be any assembly time at the end of the transfer.
  3333. The number of threads used to dowload is controlled by
  3334. --multi-thread-streams.
  3335. Use -vv if you wish to see info about the threads.
  3336. This will work with the sync/copy/move commands and friends
  3337. copyto/moveto. Multi thread downloads will be used with rclone mount and
  3338. rclone serve if --vfs-cache-mode is set to writes or above.
  3339. NB that this ONLY works for a local destination but will work with any
  3340. source.
  3341. NB that multi thread copies are disabled for local to local copies as
  3342. they are faster without unless --multi-thread-streams is set explicitly.
  3343. –multi-thread-streams=N
  3344. When using multi thread downloads (see above --multi-thread-cutoff) this
  3345. sets the maximum number of streams to use. Set to 0 to disable multi
  3346. thread downloads. (Default 4)
  3347. Exactly how many streams rclone uses for the download depends on the
  3348. size of the file. To calculate the number of download streams Rclone
  3349. divides the size of the file by the --multi-thread-cutoff and rounds up,
  3350. up to the maximum set with --multi-thread-streams.
  3351. So if --multi-thread-cutoff 250MB and --multi-thread-streams 4 are in
  3352. effect (the defaults):
  3353. - 0MB.250MB files will be downloaded with 1 stream
  3354. - 250MB..500MB files will be downloaded with 2 streams
  3355. - 500MB..750MB files will be downloaded with 3 streams
  3356. - 750MB+ files will be downloaded with 4 streams
  3357. –no-check-dest
  3358. The --no-check-dest can be used with move or copy and it causes rclone
  3359. not to check the destination at all when copying files.
  3360. This means that:
  3361. - the destination is not listed minimising the API calls
  3362. - files are always transferred
  3363. - this can cause duplicates on remotes which allow it (eg Google
  3364. Drive)
  3365. - --retries 1 is recommended otherwise you’ll transfer everything
  3366. again on a retry
  3367. This flag is useful to minimise the transactions if you know that none
  3368. of the files are on the destination.
  3369. This is a specialized flag which should be ignored by most users!
  3370. –no-gzip-encoding
  3371. Don’t set Accept-Encoding: gzip. This means that rclone won’t ask the
  3372. server for compressed files automatically. Useful if you’ve set the
  3373. server to return files with Content-Encoding: gzip but you uploaded
  3374. compressed files.
  3375. There is no need to set this in normal operation, and doing so will
  3376. decrease the network transfer efficiency of rclone.
  3377. –no-traverse
  3378. The --no-traverse flag controls whether the destination file system is
  3379. traversed when using the copy or move commands. --no-traverse is not
  3380. compatible with sync and will be ignored if you supply it with sync.
  3381. If you are only copying a small number of files (or are filtering most
  3382. of the files) and/or have a large number of files on the destination
  3383. then --no-traverse will stop rclone listing the destination and save
  3384. time.
  3385. However, if you are copying a large number of files, especially if you
  3386. are doing a copy where lots of the files under consideration haven’t
  3387. changed and won’t need copying then you shouldn’t use --no-traverse.
  3388. See rclone copy for an example of how to use it.
  3389. –no-update-modtime
  3390. When using this flag, rclone won’t update modification times of remote
  3391. files if they are incorrect as it would normally.
  3392. This can be used if the remote is being synced with another tool also
  3393. (eg the Google Drive client).
  3394. –order-by string
  3395. The --order-by flag controls the order in which files in the backlog are
  3396. processed in rclone sync, rclone copy and rclone move.
  3397. The order by string is constructed like this. The first part describes
  3398. what aspect is being measured:
  3399. - size - order by the size of the files
  3400. - name - order by the full path of the files
  3401. - modtime - order by the modification date of the files
  3402. This can have a modifier appended with a comma:
  3403. - ascending or asc - order so that the smallest (or oldest) is
  3404. processed first
  3405. - descending or desc - order so that the largest (or newest) is
  3406. processed first
  3407. If no modifier is supplied then the order is ascending.
  3408. For example
  3409. - --order-by size,desc - send the largest files first
  3410. - --order-by modtime,ascending - send the oldest files first
  3411. - --order-by name - send the files with alphabetically by path first
  3412. If the --order-by flag is not supplied or it is supplied with an empty
  3413. string then the default ordering will be used which is as scanned. With
  3414. --checkers 1 this is mostly alphabetical, however with the default
  3415. --checkers 8 it is somewhat random.
  3416. Limitations
  3417. The --order-by flag does not do a separate pass over the data. This
  3418. means that it may transfer some files out of the order specified if
  3419. - there are no files in the backlog or the source has not been fully
  3420. scanned yet
  3421. - there are more than –max-backlog files in the backlog
  3422. Rclone will do its best to transfer the best file it has so in practice
  3423. this should not cause a problem. Think of --order-by as being more of a
  3424. best efforts flag rather than a perfect ordering.
  3425. –password-command SpaceSepList
  3426. This flag supplies a program which should supply the config password
  3427. when run. This is an alternative to rclone prompting for the password or
  3428. setting the RCLONE_CONFIG_PASS variable.
  3429. The argument to this should be a command with a space separated list of
  3430. arguments. If one of the arguments has a space in then enclose it in ",
  3431. if you want a literal " in an argument then enclose the argument in "
  3432. and double the ". See CSV encoding for more info.
  3433. Eg
  3434. --password-command echo hello
  3435. --password-command echo "hello with space"
  3436. --password-command echo "hello with ""quotes"" and space"
  3437. See the Configuration Encryption for more info.
  3438. -P, –progress
  3439. This flag makes rclone update the stats in a static block in the
  3440. terminal providing a realtime overview of the transfer.
  3441. Any log messages will scroll above the static block. Log messages will
  3442. push the static block down to the bottom of the terminal where it will
  3443. stay.
  3444. Normally this is updated every 500mS but this period can be overridden
  3445. with the --stats flag.
  3446. This can be used with the --stats-one-line flag for a simpler display.
  3447. Note: On Windows until this bug is fixed all non-ASCII characters will
  3448. be replaced with . when --progress is in use.
  3449. -q, –quiet
  3450. Normally rclone outputs stats and a completion message. If you set this
  3451. flag it will make as little output as possible.
  3452. –retries int
  3453. Retry the entire sync if it fails this many times it fails (default 3).
  3454. Some remotes can be unreliable and a few retries help pick up the files
  3455. which didn’t get transferred because of errors.
  3456. Disable retries with --retries 1.
  3457. –retries-sleep=TIME
  3458. This sets the interval between each retry specified by --retries
  3459. The default is 0. Use 0 to disable.
  3460. –size-only
  3461. Normally rclone will look at modification time and size of files to see
  3462. if they are equal. If you set this flag then rclone will check only the
  3463. size.
  3464. This can be useful transferring files from Dropbox which have been
  3465. modified by the desktop sync client which doesn’t set checksums of
  3466. modification times in the same way as rclone.
  3467. –stats=TIME
  3468. Commands which transfer data (sync, copy, copyto, move, moveto) will
  3469. print data transfer stats at regular intervals to show their progress.
  3470. This sets the interval.
  3471. The default is 1m. Use 0 to disable.
  3472. If you set the stats interval then all commands can show stats. This can
  3473. be useful when running other commands, check or mount for example.
  3474. Stats are logged at INFO level by default which means they won’t show at
  3475. default log level NOTICE. Use --stats-log-level NOTICE or -v to make
  3476. them show. See the Logging section for more info on log levels.
  3477. Note that on macOS you can send a SIGINFO (which is normally ctrl-T in
  3478. the terminal) to make the stats print immediately.
  3479. –stats-file-name-length integer
  3480. By default, the --stats output will truncate file names and paths longer
  3481. than 40 characters. This is equivalent to providing
  3482. --stats-file-name-length 40. Use --stats-file-name-length 0 to disable
  3483. any truncation of file names printed by stats.
  3484. –stats-log-level string
  3485. Log level to show --stats output at. This can be DEBUG, INFO, NOTICE, or
  3486. ERROR. The default is INFO. This means at the default level of logging
  3487. which is NOTICE the stats won’t show - if you want them to then use
  3488. --stats-log-level NOTICE. See the Logging section for more info on log
  3489. levels.
  3490. –stats-one-line
  3491. When this is specified, rclone condenses the stats into a single line
  3492. showing the most important stats only.
  3493. –stats-one-line-date
  3494. When this is specified, rclone enables the single-line stats and
  3495. prepends the display with a date string. The default is
  3496. 2006/01/02 15:04:05 -
  3497. –stats-one-line-date-format
  3498. When this is specified, rclone enables the single-line stats and
  3499. prepends the display with a user-supplied date string. The date string
  3500. MUST be enclosed in quotes. Follow golang specs for date formatting
  3501. syntax.
  3502. –stats-unit=bits|bytes
  3503. By default, data transfer rates will be printed in bytes/second.
  3504. This option allows the data rate to be printed in bits/second.
  3505. Data transfer volume will still be reported in bytes.
  3506. The rate is reported as a binary unit, not SI unit. So 1 Mbit/s equals
  3507. 1,048,576 bits/s and not 1,000,000 bits/s.
  3508. The default is bytes.
  3509. –suffix=SUFFIX
  3510. When using sync, copy or move any files which would have been
  3511. overwritten or deleted will have the suffix added to them. If there is a
  3512. file with the same path (after the suffix has been added), then it will
  3513. be overwritten.
  3514. The remote in use must support server side move or copy and you must use
  3515. the same remote as the destination of the sync.
  3516. This is for use with files to add the suffix in the current directory or
  3517. with --backup-dir. See --backup-dir for more info.
  3518. For example
  3519. rclone sync /path/to/local/file remote:current --suffix .bak
  3520. will sync /path/to/local to remote:current, but for any files which
  3521. would have been updated or deleted have .bak added.
  3522. –suffix-keep-extension
  3523. When using --suffix, setting this causes rclone put the SUFFIX before
  3524. the extension of the files that it backs up rather than after.
  3525. So let’s say we had --suffix -2019-01-01, without the flag file.txt
  3526. would be backed up to file.txt-2019-01-01 and with the flag it would be
  3527. backed up to file-2019-01-01.txt. This can be helpful to make sure the
  3528. suffixed files can still be opened.
  3529. –syslog
  3530. On capable OSes (not Windows or Plan9) send all log output to syslog.
  3531. This can be useful for running rclone in a script or rclone mount.
  3532. –syslog-facility string
  3533. If using --syslog this sets the syslog facility (eg KERN, USER). See
  3534. man syslog for a list of possible facilities. The default facility is
  3535. DAEMON.
  3536. –tpslimit float
  3537. Limit HTTP transactions per second to this. Default is 0 which is used
  3538. to mean unlimited transactions per second.
  3539. For example to limit rclone to 10 HTTP transactions per second use
  3540. --tpslimit 10, or to 1 transaction every 2 seconds use --tpslimit 0.5.
  3541. Use this when the number of transactions per second from rclone is
  3542. causing a problem with the cloud storage provider (eg getting you banned
  3543. or rate limited).
  3544. This can be very useful for rclone mount to control the behaviour of
  3545. applications using it.
  3546. See also --tpslimit-burst.
  3547. –tpslimit-burst int
  3548. Max burst of transactions for --tpslimit. (default 1)
  3549. Normally --tpslimit will do exactly the number of transaction per second
  3550. specified. However if you supply --tps-burst then rclone can save up
  3551. some transactions from when it was idle giving a burst of up to the
  3552. parameter supplied.
  3553. For example if you provide --tpslimit-burst 10 then if rclone has been
  3554. idle for more than 10*--tpslimit then it can do 10 transactions very
  3555. quickly before they are limited again.
  3556. This may be used to increase performance of --tpslimit without changing
  3557. the long term average number of transactions per second.
  3558. –track-renames
  3559. By default, rclone doesn’t keep track of renamed files, so if you rename
  3560. a file locally then sync it to a remote, rclone will delete the old file
  3561. on the remote and upload a new copy.
  3562. If you use this flag, and the remote supports server side copy or server
  3563. side move, and the source and destination have a compatible hash, then
  3564. this will track renames during sync operations and perform renaming
  3565. server-side.
  3566. Files will be matched by size and hash - if both match then a rename
  3567. will be considered.
  3568. If the destination does not support server-side copy or move, rclone
  3569. will fall back to the default behaviour and log an error level message
  3570. to the console. Note: Encrypted destinations are not supported by
  3571. --track-renames.
  3572. Note that --track-renames is incompatible with --no-traverse and that it
  3573. uses extra memory to keep track of all the rename candidates.
  3574. Note also that --track-renames is incompatible with --delete-before and
  3575. will select --delete-after instead of --delete-during.
  3576. –delete-(before,during,after)
  3577. This option allows you to specify when files on your destination are
  3578. deleted when you sync folders.
  3579. Specifying the value --delete-before will delete all files present on
  3580. the destination, but not on the source _before_ starting the transfer of
  3581. any new or updated files. This uses two passes through the file systems,
  3582. one for the deletions and one for the copies.
  3583. Specifying --delete-during will delete files while checking and
  3584. uploading files. This is the fastest option and uses the least memory.
  3585. Specifying --delete-after (the default value) will delay deletion of
  3586. files until all new/updated files have been successfully transferred.
  3587. The files to be deleted are collected in the copy pass then deleted
  3588. after the copy pass has completed successfully. The files to be deleted
  3589. are held in memory so this mode may use more memory. This is the safest
  3590. mode as it will only delete files if there have been no errors
  3591. subsequent to that. If there have been errors before the deletions start
  3592. then you will get the message
  3593. not deleting files as there were IO errors.
  3594. –fast-list
  3595. When doing anything which involves a directory listing (eg sync, copy,
  3596. ls - in fact nearly every command), rclone normally lists a directory
  3597. and processes it before using more directory lists to process any
  3598. subdirectories. This can be parallelised and works very quickly using
  3599. the least amount of memory.
  3600. However, some remotes have a way of listing all files beneath a
  3601. directory in one (or a small number) of transactions. These tend to be
  3602. the bucket based remotes (eg S3, B2, GCS, Swift, Hubic).
  3603. If you use the --fast-list flag then rclone will use this method for
  3604. listing directories. This will have the following consequences for the
  3605. listing:
  3606. - It WILL use fewer transactions (important if you pay for them)
  3607. - It WILL use more memory. Rclone has to load the whole listing into
  3608. memory.
  3609. - It _may_ be faster because it uses fewer transactions
  3610. - It _may_ be slower because it can’t be parallelized
  3611. rclone should always give identical results with and without
  3612. --fast-list.
  3613. If you pay for transactions and can fit your entire sync listing into
  3614. memory then --fast-list is recommended. If you have a very big sync to
  3615. do then don’t use --fast-list otherwise you will run out of memory.
  3616. If you use --fast-list on a remote which doesn’t support it, then rclone
  3617. will just ignore it.
  3618. –timeout=TIME
  3619. This sets the IO idle timeout. If a transfer has started but then
  3620. becomes idle for this long it is considered broken and disconnected.
  3621. The default is 5m. Set to 0 to disable.
  3622. –transfers=N
  3623. The number of file transfers to run in parallel. It can sometimes be
  3624. useful to set this to a smaller number if the remote is giving a lot of
  3625. timeouts or bigger if you have lots of bandwidth and a fast remote.
  3626. The default is to run 4 file transfers in parallel.
  3627. -u, –update
  3628. This forces rclone to skip any files which exist on the destination and
  3629. have a modified time that is newer than the source file.
  3630. This can be useful when transferring to a remote which doesn’t support
  3631. mod times directly (or when using --use-server-modtime to avoid extra
  3632. API calls) as it is more accurate than a --size-only check and faster
  3633. than using --checksum.
  3634. If an existing destination file has a modification time equal (within
  3635. the computed modify window precision) to the source file’s, it will be
  3636. updated if the sizes are different. If --checksum is set then rclone
  3637. will update the destination if the checksums differ too.
  3638. If an existing destination file is older than the source file then it
  3639. will be updated if the size or checksum differs from the source file.
  3640. On remotes which don’t support mod time directly (or when using
  3641. --use-server-modtime) the time checked will be the uploaded time. This
  3642. means that if uploading to one of these remotes, rclone will skip any
  3643. files which exist on the destination and have an uploaded time that is
  3644. newer than the modification time of the source file.
  3645. –use-mmap
  3646. If this flag is set then rclone will use anonymous memory allocated by
  3647. mmap on Unix based platforms and VirtualAlloc on Windows for its
  3648. transfer buffers (size controlled by --buffer-size). Memory allocated
  3649. like this does not go on the Go heap and can be returned to the OS
  3650. immediately when it is finished with.
  3651. If this flag is not set then rclone will allocate and free the buffers
  3652. using the Go memory allocator which may use more memory as memory pages
  3653. are returned less aggressively to the OS.
  3654. It is possible this does not work well on all platforms so it is
  3655. disabled by default; in the future it may be enabled by default.
  3656. –use-server-modtime
  3657. Some object-store backends (e.g, Swift, S3) do not preserve file
  3658. modification times (modtime). On these backends, rclone stores the
  3659. original modtime as additional metadata on the object. By default it
  3660. will make an API call to retrieve the metadata when the modtime is
  3661. needed by an operation.
  3662. Use this flag to disable the extra API call and rely instead on the
  3663. server’s modified time. In cases such as a local to remote sync using
  3664. --update, knowing the local file is newer than the time it was last
  3665. uploaded to the remote is sufficient. In those cases, this flag can
  3666. speed up the process and reduce the number of API calls necessary.
  3667. Using this flag on a sync operation without also using --update would
  3668. cause all files modified at any time other than the last upload time to
  3669. be uploaded again, which is probably not what you want.
  3670. -v, -vv, –verbose
  3671. With -v rclone will tell you about each file that is transferred and a
  3672. small number of significant events.
  3673. With -vv rclone will become very verbose telling you about every file it
  3674. considers and transfers. Please send bug reports with a log with this
  3675. setting.
  3676. -V, –version
  3677. Prints the version number
  3678. SSL/TLS options
  3679. The outoing SSL/TLS connections rclone makes can be controlled with
  3680. these options. For example this can be very useful with the HTTP or
  3681. WebDAV backends. Rclone HTTP servers have their own set of configuration
  3682. for SSL/TLS which you can find in their documentation.
  3683. –ca-cert string
  3684. This loads the PEM encoded certificate authority certificate and uses it
  3685. to verify the certificates of the servers rclone connects to.
  3686. If you have generated certificates signed with a local CA then you will
  3687. need this flag to connect to servers using those certificates.
  3688. –client-cert string
  3689. This loads the PEM encoded client side certificate.
  3690. This is used for mutual TLS authentication.
  3691. The --client-key flag is required too when using this.
  3692. –client-key string
  3693. This loads the PEM encoded client side private key used for mutual TLS
  3694. authentication. Used in conjunction with --client-cert.
  3695. –no-check-certificate=true/false
  3696. --no-check-certificate controls whether a client verifies the server’s
  3697. certificate chain and host name. If --no-check-certificate is true, TLS
  3698. accepts any certificate presented by the server and any host name in
  3699. that certificate. In this mode, TLS is susceptible to man-in-the-middle
  3700. attacks.
  3701. This option defaults to false.
  3702. THIS SHOULD BE USED ONLY FOR TESTING.
  3703. Configuration Encryption
  3704. Your configuration file contains information for logging in to your
  3705. cloud services. This means that you should keep your .rclone.conf file
  3706. in a secure location.
  3707. If you are in an environment where that isn’t possible, you can add a
  3708. password to your configuration. This means that you will have to supply
  3709. the password every time you start rclone.
  3710. To add a password to your rclone configuration, execute rclone config.
  3711. >rclone config
  3712. Current remotes:
  3713. e) Edit existing remote
  3714. n) New remote
  3715. d) Delete remote
  3716. s) Set configuration password
  3717. q) Quit config
  3718. e/n/d/s/q>
  3719. Go into s, Set configuration password:
  3720. e/n/d/s/q> s
  3721. Your configuration is not encrypted.
  3722. If you add a password, you will protect your login information to cloud services.
  3723. a) Add Password
  3724. q) Quit to main menu
  3725. a/q> a
  3726. Enter NEW configuration password:
  3727. password:
  3728. Confirm NEW password:
  3729. password:
  3730. Password set
  3731. Your configuration is encrypted.
  3732. c) Change Password
  3733. u) Unencrypt configuration
  3734. q) Quit to main menu
  3735. c/u/q>
  3736. Your configuration is now encrypted, and every time you start rclone you
  3737. will have to supply the password. See below for details. In the same
  3738. menu, you can change the password or completely remove encryption from
  3739. your configuration.
  3740. There is no way to recover the configuration if you lose your password.
  3741. rclone uses nacl secretbox which in turn uses XSalsa20 and Poly1305 to
  3742. encrypt and authenticate your configuration with secret-key
  3743. cryptography. The password is SHA-256 hashed, which produces the key for
  3744. secretbox. The hashed password is not stored.
  3745. While this provides very good security, we do not recommend storing your
  3746. encrypted rclone configuration in public if it contains sensitive
  3747. information, maybe except if you use a very strong password.
  3748. If it is safe in your environment, you can set the RCLONE_CONFIG_PASS
  3749. environment variable to contain your password, in which case it will be
  3750. used for decrypting the configuration.
  3751. You can set this for a session from a script. For unix like systems save
  3752. this to a file called set-rclone-password:
  3753. #!/bin/echo Source this file don't run it
  3754. read -s RCLONE_CONFIG_PASS
  3755. export RCLONE_CONFIG_PASS
  3756. Then source the file when you want to use it. From the shell you would
  3757. do source set-rclone-password. It will then ask you for the password and
  3758. set it in the environment variable.
  3759. An alternate means of supplying the password is to provide a script
  3760. which will retrieve the password and print on standard output. This
  3761. script should have a fully specified path name and not rely on any
  3762. environment variables. The script is supplied either via
  3763. --password-command="..." command line argument or via the
  3764. RCLONE_PASSWORD_COMMAND environment variable.
  3765. One useful example of this is using the passwordstore application to
  3766. retrieve the password:
  3767. export RCLONE_PASSWORD_COMMAND="pass rclone/config"
  3768. If the passwordstore password manager holds the password for the rclone
  3769. configuration, using the script method means the password is primarily
  3770. protected by the passwordstore system, and is never embedded in the
  3771. clear in scripts, nor available for examination using the standard
  3772. commands available. It is quite possible with long running rclone
  3773. sessions for copies of passwords to be innocently captured in log files
  3774. or terminal scroll buffers, etc. Using the script method of supplying
  3775. the password enhances the security of the config password considerably.
  3776. If you are running rclone inside a script, unless you are using the
  3777. --password-command method, you might want to disable password prompts.
  3778. To do that, pass the parameter --ask-password=false to rclone. This will
  3779. make rclone fail instead of asking for a password if RCLONE_CONFIG_PASS
  3780. doesn’t contain a valid password, and --password-command has not been
  3781. supplied.
  3782. Developer options
  3783. These options are useful when developing or debugging rclone. There are
  3784. also some more remote specific options which aren’t documented here
  3785. which are used for testing. These start with remote name eg
  3786. --drive-test-option - see the docs for the remote in question.
  3787. –cpuprofile=FILE
  3788. Write CPU profile to file. This can be analysed with go tool pprof.
  3789. –dump flag,flag,flag
  3790. The --dump flag takes a comma separated list of flags to dump info
  3791. about.
  3792. Note that some headers including Accept-Encoding as shown may not be
  3793. correct in the request and the response may not show Content-Encoding if
  3794. the go standard libraries auto gzip encoding was in effect. In this case
  3795. the body of the request will be gunzipped before showing it.
  3796. The available flags are:
  3797. –dump headers
  3798. Dump HTTP headers with Authorization: lines removed. May still contain
  3799. sensitive info. Can be very verbose. Useful for debugging only.
  3800. Use --dump auth if you do want the Authorization: headers.
  3801. –dump bodies
  3802. Dump HTTP headers and bodies - may contain sensitive info. Can be very
  3803. verbose. Useful for debugging only.
  3804. Note that the bodies are buffered in memory so don’t use this for
  3805. enormous files.
  3806. –dump requests
  3807. Like --dump bodies but dumps the request bodies and the response
  3808. headers. Useful for debugging download problems.
  3809. –dump responses
  3810. Like --dump bodies but dumps the response bodies and the request
  3811. headers. Useful for debugging upload problems.
  3812. –dump auth
  3813. Dump HTTP headers - will contain sensitive info such as Authorization:
  3814. headers - use --dump headers to dump without Authorization: headers. Can
  3815. be very verbose. Useful for debugging only.
  3816. –dump filters
  3817. Dump the filters to the output. Useful to see exactly what include and
  3818. exclude options are filtering on.
  3819. –dump goroutines
  3820. This dumps a list of the running go-routines at the end of the command
  3821. to standard output.
  3822. –dump openfiles
  3823. This dumps a list of the open files at the end of the command. It uses
  3824. the lsof command to do that so you’ll need that installed to use it.
  3825. –memprofile=FILE
  3826. Write memory profile to file. This can be analysed with go tool pprof.
  3827. Filtering
  3828. For the filtering options
  3829. - --delete-excluded
  3830. - --filter
  3831. - --filter-from
  3832. - --exclude
  3833. - --exclude-from
  3834. - --include
  3835. - --include-from
  3836. - --files-from
  3837. - --min-size
  3838. - --max-size
  3839. - --min-age
  3840. - --max-age
  3841. - --dump filters
  3842. See the filtering section.
  3843. Remote control
  3844. For the remote control options and for instructions on how to remote
  3845. control rclone
  3846. - --rc
  3847. - and anything starting with --rc-
  3848. See the remote control section.
  3849. Logging
  3850. rclone has 4 levels of logging, ERROR, NOTICE, INFO and DEBUG.
  3851. By default, rclone logs to standard error. This means you can redirect
  3852. standard error and still see the normal output of rclone commands (eg
  3853. rclone ls).
  3854. By default, rclone will produce Error and Notice level messages.
  3855. If you use the -q flag, rclone will only produce Error messages.
  3856. If you use the -v flag, rclone will produce Error, Notice and Info
  3857. messages.
  3858. If you use the -vv flag, rclone will produce Error, Notice, Info and
  3859. Debug messages.
  3860. You can also control the log levels with the --log-level flag.
  3861. If you use the --log-file=FILE option, rclone will redirect Error, Info
  3862. and Debug messages along with standard error to FILE.
  3863. If you use the --syslog flag then rclone will log to syslog and the
  3864. --syslog-facility control which facility it uses.
  3865. Rclone prefixes all log messages with their level in capitals, eg INFO
  3866. which makes it easy to grep the log file for different kinds of
  3867. information.
  3868. Exit Code
  3869. If any errors occur during the command execution, rclone will exit with
  3870. a non-zero exit code. This allows scripts to detect when rclone
  3871. operations have failed.
  3872. During the startup phase, rclone will exit immediately if an error is
  3873. detected in the configuration. There will always be a log message
  3874. immediately before exiting.
  3875. When rclone is running it will accumulate errors as it goes along, and
  3876. only exit with a non-zero exit code if (after retries) there were still
  3877. failed transfers. For every error counted there will be a high priority
  3878. log message (visible with -q) showing the message and which file caused
  3879. the problem. A high priority message is also shown when starting a retry
  3880. so the user can see that any previous error messages may not be valid
  3881. after the retry. If rclone has done a retry it will log a high priority
  3882. message if the retry was successful.
  3883. List of exit codes
  3884. - 0 - success
  3885. - 1 - Syntax or usage error
  3886. - 2 - Error not otherwise categorised
  3887. - 3 - Directory not found
  3888. - 4 - File not found
  3889. - 5 - Temporary error (one that more retries might fix) (Retry errors)
  3890. - 6 - Less serious errors (like 461 errors from dropbox) (NoRetry
  3891. errors)
  3892. - 7 - Fatal error (one that more retries won’t fix, like account
  3893. suspended) (Fatal errors)
  3894. - 8 - Transfer exceeded - limit set by –max-transfer reached
  3895. Environment Variables
  3896. Rclone can be configured entirely using environment variables. These can
  3897. be used to set defaults for options or config file entries.
  3898. Options
  3899. Every option in rclone can have its default set by environment variable.
  3900. To find the name of the environment variable, first, take the long
  3901. option name, strip the leading --, change - to _, make upper case and
  3902. prepend RCLONE_.
  3903. For example, to always set --stats 5s, set the environment variable
  3904. RCLONE_STATS=5s. If you set stats on the command line this will override
  3905. the environment variable setting.
  3906. Or to always use the trash in drive --drive-use-trash, set
  3907. RCLONE_DRIVE_USE_TRASH=true.
  3908. The same parser is used for the options and the environment variables so
  3909. they take exactly the same form.
  3910. Config file
  3911. You can set defaults for values in the config file on an individual
  3912. remote basis. If you want to use this feature, you will need to discover
  3913. the name of the config items that you want. The easiest way is to run
  3914. through rclone config by hand, then look in the config file to see what
  3915. the values are (the config file can be found by looking at the help for
  3916. --config in rclone help).
  3917. To find the name of the environment variable, you need to set, take
  3918. RCLONE_CONFIG_ + name of remote + _ + name of config file option and
  3919. make it all uppercase.
  3920. For example, to configure an S3 remote named mys3: without a config file
  3921. (using unix ways of setting environment variables):
  3922. $ export RCLONE_CONFIG_MYS3_TYPE=s3
  3923. $ export RCLONE_CONFIG_MYS3_ACCESS_KEY_ID=XXX
  3924. $ export RCLONE_CONFIG_MYS3_SECRET_ACCESS_KEY=XXX
  3925. $ rclone lsd MYS3:
  3926. -1 2016-09-21 12:54:21 -1 my-bucket
  3927. $ rclone listremotes | grep mys3
  3928. mys3:
  3929. Note that if you want to create a remote using environment variables you
  3930. must create the ..._TYPE variable as above.
  3931. Other environment variables
  3932. - RCLONE_CONFIG_PASS` set to contain your config file password (see
  3933. Configuration Encryption section)
  3934. - HTTP_PROXY, HTTPS_PROXY and NO_PROXY (or the lowercase versions
  3935. thereof).
  3936. - HTTPS_PROXY takes precedence over HTTP_PROXY for https requests.
  3937. - The environment values may be either a complete URL or a
  3938. “host[:port]” for, in which case the “http” scheme is assumed.
  3939. CONFIGURING RCLONE ON A REMOTE / HEADLESS MACHINE
  3940. Some of the configurations (those involving oauth2) require an Internet
  3941. connected web browser.
  3942. If you are trying to set rclone up on a remote or headless box with no
  3943. browser available on it (eg a NAS or a server in a datacenter) then you
  3944. will need to use an alternative means of configuration. There are two
  3945. ways of doing it, described below.
  3946. Configuring using rclone authorize
  3947. On the headless box
  3948. ...
  3949. Remote config
  3950. Use auto config?
  3951. * Say Y if not sure
  3952. * Say N if you are working on a remote or headless machine
  3953. y) Yes
  3954. n) No
  3955. y/n> n
  3956. For this to work, you will need rclone available on a machine that has a web browser available.
  3957. Execute the following on your machine:
  3958. rclone authorize "amazon cloud drive"
  3959. Then paste the result below:
  3960. result>
  3961. Then on your main desktop machine
  3962. rclone authorize "amazon cloud drive"
  3963. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  3964. Log in and authorize rclone for access
  3965. Waiting for code...
  3966. Got code
  3967. Paste the following into your remote machine --->
  3968. SECRET_TOKEN
  3969. <---End paste
  3970. Then back to the headless box, paste in the code
  3971. result> SECRET_TOKEN
  3972. --------------------
  3973. [acd12]
  3974. client_id =
  3975. client_secret =
  3976. token = SECRET_TOKEN
  3977. --------------------
  3978. y) Yes this is OK
  3979. e) Edit this remote
  3980. d) Delete this remote
  3981. y/e/d>
  3982. Configuring by copying the config file
  3983. Rclone stores all of its config in a single configuration file. This can
  3984. easily be copied to configure a remote rclone.
  3985. So first configure rclone on your desktop machine
  3986. rclone config
  3987. to set up the config file.
  3988. Find the config file by running rclone config file, for example
  3989. $ rclone config file
  3990. Configuration file is stored at:
  3991. /home/user/.rclone.conf
  3992. Now transfer it to the remote box (scp, cut paste, ftp, sftp etc) and
  3993. place it in the correct place (use rclone config file on the remote box
  3994. to find out where).
  3995. FILTERING, INCLUDES AND EXCLUDES
  3996. Rclone has a sophisticated set of include and exclude rules. Some of
  3997. these are based on patterns and some on other things like file size.
  3998. The filters are applied for the copy, sync, move, ls, lsl, md5sum,
  3999. sha1sum, size, delete and check operations. Note that purge does not
  4000. obey the filters.
  4001. Each path as it passes through rclone is matched against the include and
  4002. exclude rules like --include, --exclude, --include-from, --exclude-from,
  4003. --filter, or --filter-from. The simplest way to try them out is using
  4004. the ls command, or --dry-run together with -v.
  4005. Patterns
  4006. The patterns used to match files for inclusion or exclusion are based on
  4007. “file globs” as used by the unix shell.
  4008. If the pattern starts with a / then it only matches at the top level of
  4009. the directory tree, RELATIVE TO THE ROOT OF THE REMOTE (not necessarily
  4010. the root of the local drive). If it doesn’t start with / then it is
  4011. matched starting at the END OF THE PATH, but it will only match a
  4012. complete path element:
  4013. file.jpg - matches "file.jpg"
  4014. - matches "directory/file.jpg"
  4015. - doesn't match "afile.jpg"
  4016. - doesn't match "directory/afile.jpg"
  4017. /file.jpg - matches "file.jpg" in the root directory of the remote
  4018. - doesn't match "afile.jpg"
  4019. - doesn't match "directory/file.jpg"
  4020. IMPORTANT Note that you must use / in patterns and not \ even if running
  4021. on Windows.
  4022. A * matches anything but not a /.
  4023. *.jpg - matches "file.jpg"
  4024. - matches "directory/file.jpg"
  4025. - doesn't match "file.jpg/something"
  4026. Use ** to match anything, including slashes (/).
  4027. dir/** - matches "dir/file.jpg"
  4028. - matches "dir/dir1/dir2/file.jpg"
  4029. - doesn't match "directory/file.jpg"
  4030. - doesn't match "adir/file.jpg"
  4031. A ? matches any character except a slash /.
  4032. l?ss - matches "less"
  4033. - matches "lass"
  4034. - doesn't match "floss"
  4035. A [ and ] together make a character class, such as [a-z] or [aeiou] or
  4036. [[:alpha:]]. See the go regexp docs for more info on these.
  4037. h[ae]llo - matches "hello"
  4038. - matches "hallo"
  4039. - doesn't match "hullo"
  4040. A { and } define a choice between elements. It should contain a comma
  4041. separated list of patterns, any of which might match. These patterns can
  4042. contain wildcards.
  4043. {one,two}_potato - matches "one_potato"
  4044. - matches "two_potato"
  4045. - doesn't match "three_potato"
  4046. - doesn't match "_potato"
  4047. Special characters can be escaped with a \ before them.
  4048. \*.jpg - matches "*.jpg"
  4049. \\.jpg - matches "\.jpg"
  4050. \[one\].jpg - matches "[one].jpg"
  4051. Patterns are case sensitive unless the --ignore-case flag is used.
  4052. Without --ignore-case (default)
  4053. potato - matches "potato"
  4054. - doesn't match "POTATO"
  4055. With --ignore-case
  4056. potato - matches "potato"
  4057. - matches "POTATO"
  4058. Note also that rclone filter globs can only be used in one of the filter
  4059. command line flags, not in the specification of the remote, so
  4060. rclone copy "remote:dir*.jpg" /path/to/dir won’t work - what is required
  4061. is rclone --include "*.jpg" copy remote:dir /path/to/dir
  4062. Directories
  4063. Rclone keeps track of directories that could match any file patterns.
  4064. Eg if you add the include rule
  4065. /a/*.jpg
  4066. Rclone will synthesize the directory include rule
  4067. /a/
  4068. If you put any rules which end in / then it will only match directories.
  4069. Directory matches are ONLY used to optimise directory access patterns -
  4070. you must still match the files that you want to match. Directory matches
  4071. won’t optimise anything on bucket based remotes (eg s3, swift, google
  4072. compute storage, b2) which don’t have a concept of directory.
  4073. Differences between rsync and rclone patterns
  4074. Rclone implements bash style {a,b,c} glob matching which rsync doesn’t.
  4075. Rclone always does a wildcard match so \ must always escape a \.
  4076. How the rules are used
  4077. Rclone maintains a combined list of include rules and exclude rules.
  4078. Each file is matched in order, starting from the top, against the rule
  4079. in the list until it finds a match. The file is then included or
  4080. excluded according to the rule type.
  4081. If the matcher fails to find a match after testing against all the
  4082. entries in the list then the path is included.
  4083. For example given the following rules, + being include, - being exclude,
  4084. - secret*.jpg
  4085. + *.jpg
  4086. + *.png
  4087. + file2.avi
  4088. - *
  4089. This would include
  4090. - file1.jpg
  4091. - file3.png
  4092. - file2.avi
  4093. This would exclude
  4094. - secret17.jpg
  4095. - non *.jpg and *.png
  4096. A similar process is done on directory entries before recursing into
  4097. them. This only works on remotes which have a concept of directory (Eg
  4098. local, google drive, onedrive, amazon drive) and not on bucket based
  4099. remotes (eg s3, swift, google compute storage, b2).
  4100. Adding filtering rules
  4101. Filtering rules are added with the following command line flags.
  4102. Repeating options
  4103. You can repeat the following options to add more than one rule of that
  4104. type.
  4105. - --include
  4106. - --include-from
  4107. - --exclude
  4108. - --exclude-from
  4109. - --filter
  4110. - --filter-from
  4111. IMPORTANT You should not use --include* together with --exclude*. It may
  4112. produce different results than you expected. In that case try to use:
  4113. --filter*.
  4114. Note that all the options of the same type are processed together in the
  4115. order above, regardless of what order they were placed on the command
  4116. line.
  4117. So all --include options are processed first in the order they appeared
  4118. on the command line, then all --include-from options etc.
  4119. To mix up the order includes and excludes, the --filter flag can be
  4120. used.
  4121. --exclude - Exclude files matching pattern
  4122. Add a single exclude rule with --exclude.
  4123. This flag can be repeated. See above for the order the flags are
  4124. processed in.
  4125. Eg --exclude *.bak to exclude all bak files from the sync.
  4126. --exclude-from - Read exclude patterns from file
  4127. Add exclude rules from a file.
  4128. This flag can be repeated. See above for the order the flags are
  4129. processed in.
  4130. Prepare a file like this exclude-file.txt
  4131. # a sample exclude rule file
  4132. *.bak
  4133. file2.jpg
  4134. Then use as --exclude-from exclude-file.txt. This will sync all files
  4135. except those ending in bak and file2.jpg.
  4136. This is useful if you have a lot of rules.
  4137. --include - Include files matching pattern
  4138. Add a single include rule with --include.
  4139. This flag can be repeated. See above for the order the flags are
  4140. processed in.
  4141. Eg --include *.{png,jpg} to include all png and jpg files in the backup
  4142. and no others.
  4143. This adds an implicit --exclude * at the very end of the filter list.
  4144. This means you can mix --include and --include-from with the other
  4145. filters (eg --exclude) but you must include all the files you want in
  4146. the include statement. If this doesn’t provide enough flexibility then
  4147. you must use --filter-from.
  4148. --include-from - Read include patterns from file
  4149. Add include rules from a file.
  4150. This flag can be repeated. See above for the order the flags are
  4151. processed in.
  4152. Prepare a file like this include-file.txt
  4153. # a sample include rule file
  4154. *.jpg
  4155. *.png
  4156. file2.avi
  4157. Then use as --include-from include-file.txt. This will sync all jpg, png
  4158. files and file2.avi.
  4159. This is useful if you have a lot of rules.
  4160. This adds an implicit --exclude * at the very end of the filter list.
  4161. This means you can mix --include and --include-from with the other
  4162. filters (eg --exclude) but you must include all the files you want in
  4163. the include statement. If this doesn’t provide enough flexibility then
  4164. you must use --filter-from.
  4165. --filter - Add a file-filtering rule
  4166. This can be used to add a single include or exclude rule. Include rules
  4167. start with + and exclude rules start with -. A special rule called ! can
  4168. be used to clear the existing rules.
  4169. This flag can be repeated. See above for the order the flags are
  4170. processed in.
  4171. Eg --filter "- *.bak" to exclude all bak files from the sync.
  4172. --filter-from - Read filtering patterns from a file
  4173. Add include/exclude rules from a file.
  4174. This flag can be repeated. See above for the order the flags are
  4175. processed in.
  4176. Prepare a file like this filter-file.txt
  4177. # a sample filter rule file
  4178. - secret*.jpg
  4179. + *.jpg
  4180. + *.png
  4181. + file2.avi
  4182. - /dir/Trash/**
  4183. + /dir/**
  4184. # exclude everything else
  4185. - *
  4186. Then use as --filter-from filter-file.txt. The rules are processed in
  4187. the order that they are defined.
  4188. This example will include all jpg and png files, exclude any files
  4189. matching secret*.jpg and include file2.avi. It will also include
  4190. everything in the directory dir at the root of the sync, except
  4191. dir/Trash which it will exclude. Everything else will be excluded from
  4192. the sync.
  4193. --files-from - Read list of source-file names
  4194. This reads a list of file names from the file passed in and ONLY these
  4195. files are transferred. The FILTERING RULES ARE IGNORED completely if you
  4196. use this option.
  4197. --files-from expects a list of files as it’s input. rclone lsf has a
  4198. compatible format that can be used to export file lists from remotes.
  4199. Rclone will traverse the file system if you use --files-from,
  4200. effectively using the files in --files-from as a set of filters. Rclone
  4201. will not error if any of the files are missing.
  4202. If you use --no-traverse as well as --files-from then rclone will not
  4203. traverse the destination file system, it will find each file
  4204. individually using approximately 1 API call. This can be more efficient
  4205. for small lists of files.
  4206. This option can be repeated to read from more than one file. These are
  4207. read in the order that they are placed on the command line.
  4208. Paths within the --files-from file will be interpreted as starting with
  4209. the root specified in the command. Leading / characters are ignored.
  4210. For example, suppose you had files-from.txt with this content:
  4211. # comment
  4212. file1.jpg
  4213. subdir/file2.jpg
  4214. You could then use it like this:
  4215. rclone copy --files-from files-from.txt /home/me/pics remote:pics
  4216. This will transfer these files only (if they exist)
  4217. /home/me/pics/file1.jpg → remote:pics/file1.jpg
  4218. /home/me/pics/subdir/file2.jpg → remote:pics/subdir/file2.jpg
  4219. To take a more complicated example, let’s say you had a few files you
  4220. want to back up regularly with these absolute paths:
  4221. /home/user1/important
  4222. /home/user1/dir/file
  4223. /home/user2/stuff
  4224. To copy these you’d find a common subdirectory - in this case /home and
  4225. put the remaining files in files-from.txt with or without leading /, eg
  4226. user1/important
  4227. user1/dir/file
  4228. user2/stuff
  4229. You could then copy these to a remote like this
  4230. rclone copy --files-from files-from.txt /home remote:backup
  4231. The 3 files will arrive in remote:backup with the paths as in the
  4232. files-from.txt like this:
  4233. /home/user1/important → remote:backup/user1/important
  4234. /home/user1/dir/file → remote:backup/user1/dir/file
  4235. /home/user2/stuff → remote:backup/user2/stuff
  4236. You could of course choose / as the root too in which case your
  4237. files-from.txt might look like this.
  4238. /home/user1/important
  4239. /home/user1/dir/file
  4240. /home/user2/stuff
  4241. And you would transfer it like this
  4242. rclone copy --files-from files-from.txt / remote:backup
  4243. In this case there will be an extra home directory on the remote:
  4244. /home/user1/important → remote:backup/home/user1/important
  4245. /home/user1/dir/file → remote:backup/home/user1/dir/file
  4246. /home/user2/stuff → remote:backup/home/user2/stuff
  4247. --min-size - Don’t transfer any file smaller than this
  4248. This option controls the minimum size file which will be transferred.
  4249. This defaults to kBytes but a suffix of k, M, or G can be used.
  4250. For example --min-size 50k means no files smaller than 50kByte will be
  4251. transferred.
  4252. --max-size - Don’t transfer any file larger than this
  4253. This option controls the maximum size file which will be transferred.
  4254. This defaults to kBytes but a suffix of k, M, or G can be used.
  4255. For example --max-size 1G means no files larger than 1GByte will be
  4256. transferred.
  4257. --max-age - Don’t transfer any file older than this
  4258. This option controls the maximum age of files to transfer. Give in
  4259. seconds or with a suffix of:
  4260. - ms - Milliseconds
  4261. - s - Seconds
  4262. - m - Minutes
  4263. - h - Hours
  4264. - d - Days
  4265. - w - Weeks
  4266. - M - Months
  4267. - y - Years
  4268. For example --max-age 2d means no files older than 2 days will be
  4269. transferred.
  4270. --min-age - Don’t transfer any file younger than this
  4271. This option controls the minimum age of files to transfer. Give in
  4272. seconds or with a suffix (see --max-age for list of suffixes)
  4273. For example --min-age 2d means no files younger than 2 days will be
  4274. transferred.
  4275. --delete-excluded - Delete files on dest excluded from sync
  4276. IMPORTANT this flag is dangerous - use with --dry-run and -v first.
  4277. When doing rclone sync this will delete any files which are excluded
  4278. from the sync on the destination.
  4279. If for example you did a sync from A to B without the --min-size 50k
  4280. flag
  4281. rclone sync A: B:
  4282. Then you repeated it like this with the --delete-excluded
  4283. rclone --min-size 50k --delete-excluded sync A: B:
  4284. This would delete all files on B which are less than 50 kBytes as these
  4285. are now excluded from the sync.
  4286. Always test first with --dry-run and -v before using this flag.
  4287. --dump filters - dump the filters to the output
  4288. This dumps the defined filters to the output as regular expressions.
  4289. Useful for debugging.
  4290. --ignore-case - make searches case insensitive
  4291. Normally filter patterns are case sensitive. If this flag is supplied
  4292. then filter patterns become case insensitive.
  4293. Normally a --include "file.txt" will not match a file called FILE.txt.
  4294. However if you use the --ignore-case flag then --include "file.txt" this
  4295. will match a file called FILE.txt.
  4296. Quoting shell metacharacters
  4297. The examples above may not work verbatim in your shell as they have
  4298. shell metacharacters in them (eg *), and may require quoting.
  4299. Eg linux, OSX
  4300. - --include \*.jpg
  4301. - --include '*.jpg'
  4302. - --include='*.jpg'
  4303. In Windows the expansion is done by the command not the shell so this
  4304. should work fine
  4305. - --include *.jpg
  4306. Exclude directory based on a file
  4307. It is possible to exclude a directory based on a file, which is present
  4308. in this directory. Filename should be specified using the
  4309. --exclude-if-present flag. This flag has a priority over the other
  4310. filtering flags.
  4311. Imagine, you have the following directory structure:
  4312. dir1/file1
  4313. dir1/dir2/file2
  4314. dir1/dir2/dir3/file3
  4315. dir1/dir2/dir3/.ignore
  4316. You can exclude dir3 from sync by running the following command:
  4317. rclone sync --exclude-if-present .ignore dir1 remote:backup
  4318. Currently only one filename is supported, i.e. --exclude-if-present
  4319. should not be used multiple times.
  4320. GUI (EXPERIMENTAL)
  4321. Rclone can serve a web based GUI (graphical user interface). This is
  4322. somewhat experimental at the moment so things may be subject to change.
  4323. Run this command in a terminal and rclone will download and then display
  4324. the GUI in a web browser.
  4325. rclone rcd --rc-web-gui
  4326. This will produce logs like this and rclone needs to continue to run to
  4327. serve the GUI:
  4328. 2019/08/25 11:40:14 NOTICE: A new release for gui is present at https://github.com/rclone/rclone-webui-react/releases/download/v0.0.6/currentbuild.zip
  4329. 2019/08/25 11:40:14 NOTICE: Downloading webgui binary. Please wait. [Size: 3813937, Path : /home/USER/.cache/rclone/webgui/v0.0.6.zip]
  4330. 2019/08/25 11:40:16 NOTICE: Unzipping
  4331. 2019/08/25 11:40:16 NOTICE: Serving remote control on http://127.0.0.1:5572/
  4332. This assumes you are running rclone locally on your machine. It is
  4333. possible to separate the rclone and the GUI - see below for details.
  4334. If you wish to check for updates then you can add --rc-web-gui-update to
  4335. the command line.
  4336. If you find your GUI broken, you may force it to update by add
  4337. --rc-web-gui-force-update.
  4338. By default, rclone will open your browser. Add
  4339. --rc-web-gui-no-open-browser to disable this feature.
  4340. Using the GUI
  4341. Once the GUI opens, you will be looking at the dashboard which has an
  4342. overall overview.
  4343. On the left hand side you will see a series of view buttons you can
  4344. click on:
  4345. - Dashboard - main overview
  4346. - Configs - examine and create new configurations
  4347. - Explorer - view, download and upload files to the cloud storage
  4348. systems
  4349. - Backend - view or alter the backend config
  4350. - Log out
  4351. (More docs and walkthrough video to come!)
  4352. How it works
  4353. When you run the rclone rcd --rc-web-gui this is what happens
  4354. - Rclone starts but only runs the remote control API (“rc”).
  4355. - The API is bound to localhost with an auto generated username and
  4356. password.
  4357. - If the API bundle is missing then rclone will download it.
  4358. - rclone will start serving the files from the API bundle over the
  4359. same port as the API
  4360. - rclone will open the browser with a login_token so it can log
  4361. straight in.
  4362. Advanced use
  4363. The rclone rcd may use any of the flags documented on the rc page.
  4364. The flag --rc-web-gui is shorthand for
  4365. - Download the web GUI if necessary
  4366. - Check we are using some authentication
  4367. - --rc-user gui
  4368. - --rc-pass <random password>
  4369. - --rc-serve
  4370. These flags can be overidden as desired.
  4371. See also the rclone rcd documentation.
  4372. Example: Running a public GUI
  4373. For example the GUI could be served on a public port over SSL using an
  4374. htpasswd file using the following flags:
  4375. - --rc-web-gui
  4376. - --rc-addr :443
  4377. - --rc-htpasswd /path/to/htpasswd
  4378. - --rc-cert /path/to/ssl.crt
  4379. - --rc-key /path/to/ssl.key
  4380. Example: Running a GUI behind a proxy
  4381. If you want to run the GUI behind a proxy at /rclone you could use these
  4382. flags:
  4383. - --rc-web-gui
  4384. - --rc-baseurl rclone
  4385. - --rc-htpasswd /path/to/htpasswd
  4386. Or instead of htpassword if you just want a single user and password:
  4387. - --rc-user me
  4388. - --rc-pass mypassword
  4389. Project
  4390. The GUI is being developed in the: rclone/rclone-webui-react
  4391. respository.
  4392. Bug reports and contributions are very welcome :-)
  4393. If you have questions then please ask them on the rclone forum.
  4394. REMOTE CONTROLLING RCLONE
  4395. If rclone is run with the --rc flag then it starts an http server which
  4396. can be used to remote control rclone.
  4397. If you just want to run a remote control then see the rcd command.
  4398. NB this is experimental and everything here is subject to change!
  4399. Supported parameters
  4400. –rc
  4401. Flag to start the http server listen on remote requests
  4402. –rc-addr=IP
  4403. IPaddress:Port or :Port to bind server to. (default “localhost:5572”)
  4404. –rc-cert=KEY
  4405. SSL PEM key (concatenation of certificate and CA certificate)
  4406. –rc-client-ca=PATH
  4407. Client certificate authority to verify clients with
  4408. –rc-htpasswd=PATH
  4409. htpasswd file - if not provided no authentication is done
  4410. –rc-key=PATH
  4411. SSL PEM Private key
  4412. –rc-max-header-bytes=VALUE
  4413. Maximum size of request header (default 4096)
  4414. –rc-user=VALUE
  4415. User name for authentication.
  4416. –rc-pass=VALUE
  4417. Password for authentication.
  4418. –rc-realm=VALUE
  4419. Realm for authentication (default “rclone”)
  4420. –rc-server-read-timeout=DURATION
  4421. Timeout for server reading data (default 1h0m0s)
  4422. –rc-server-write-timeout=DURATION
  4423. Timeout for server writing data (default 1h0m0s)
  4424. –rc-serve
  4425. Enable the serving of remote objects via the HTTP interface. This means
  4426. objects will be accessible at http://127.0.0.1:5572/ by default, so you
  4427. can browse to http://127.0.0.1:5572/ or http://127.0.0.1:5572/* to see a
  4428. listing of the remotes. Objects may be requested from remotes using this
  4429. syntax http://127.0.0.1:5572/[remote:path]/path/to/object
  4430. Default Off.
  4431. –rc-files /path/to/directory
  4432. Path to local files to serve on the HTTP server.
  4433. If this is set then rclone will serve the files in that directory. It
  4434. will also open the root in the web browser if specified. This is for
  4435. implementing browser based GUIs for rclone functions.
  4436. If --rc-user or --rc-pass is set then the URL that is opened will have
  4437. the authorization in the URL in the http://user:pass@localhost/ style.
  4438. Default Off.
  4439. –rc-web-gui
  4440. Set this flag to serve the default web gui on the same port as rclone.
  4441. Default Off.
  4442. –rc-allow-origin
  4443. Set the allowed Access-Control-Allow-Origin for rc requests.
  4444. Can be used with –rc-web-gui if the rclone is running on different IP
  4445. than the web-gui.
  4446. Default is IP address on which rc is running.
  4447. –rc-web-fetch-url
  4448. Set the URL to fetch the rclone-web-gui files from.
  4449. Default
  4450. https://api.github.com/repos/rclone/rclone-webui-react/releases/latest.
  4451. –rc-web-gui-update
  4452. Set this flag to check and update rclone-webui-react from the
  4453. rc-web-fetch-url.
  4454. Default Off.
  4455. –rc-web-gui-force-update
  4456. Set this flag to force update rclone-webui-react from the
  4457. rc-web-fetch-url.
  4458. Default Off.
  4459. –rc-web-gui-no-open-browser
  4460. Set this flag to disable opening browser automatically when using
  4461. web-gui.
  4462. Default Off.
  4463. –rc-job-expire-duration=DURATION
  4464. Expire finished async jobs older than DURATION (default 60s).
  4465. –rc-job-expire-interval=DURATION
  4466. Interval duration to check for expired async jobs (default 10s).
  4467. –rc-no-auth
  4468. By default rclone will require authorisation to have been set up on the
  4469. rc interface in order to use any methods which access any rclone
  4470. remotes. Eg operations/list is denied as it involved creating a remote
  4471. as is sync/copy.
  4472. If this is set then no authorisation will be required on the server to
  4473. use these methods. The alternative is to use --rc-user and --rc-pass and
  4474. use these credentials in the request.
  4475. Default Off.
  4476. Accessing the remote control via the rclone rc command
  4477. Rclone itself implements the remote control protocol in its rclone rc
  4478. command.
  4479. You can use it like this
  4480. $ rclone rc rc/noop param1=one param2=two
  4481. {
  4482. "param1": "one",
  4483. "param2": "two"
  4484. }
  4485. Run rclone rc on its own to see the help for the installed remote
  4486. control commands.
  4487. rclone rc also supports a --json flag which can be used to send more
  4488. complicated input parameters.
  4489. $ rclone rc --json '{ "p1": [1,"2",null,4], "p2": { "a":1, "b":2 } }' rc/noop
  4490. {
  4491. "p1": [
  4492. 1,
  4493. "2",
  4494. null,
  4495. 4
  4496. ],
  4497. "p2": {
  4498. "a": 1,
  4499. "b": 2
  4500. }
  4501. }
  4502. Special parameters
  4503. The rc interface supports some special parameters which apply to ALL
  4504. commands. These start with _ to show they are different.
  4505. Running asynchronous jobs with _async = true
  4506. Each rc call is classified as a job and it is assigned its own id. By
  4507. default jobs are executed immediately as they are created or
  4508. synchronously.
  4509. If _async has a true value when supplied to an rc call then it will
  4510. return immediately with a job id and the task will be run in the
  4511. background. The job/status call can be used to get information of the
  4512. background job. The job can be queried for up to 1 minute after it has
  4513. finished.
  4514. It is recommended that potentially long running jobs, eg sync/sync,
  4515. sync/copy, sync/move, operations/purge are run with the _async flag to
  4516. avoid any potential problems with the HTTP request and response timing
  4517. out.
  4518. Starting a job with the _async flag:
  4519. $ rclone rc --json '{ "p1": [1,"2",null,4], "p2": { "a":1, "b":2 }, "_async": true }' rc/noop
  4520. {
  4521. "jobid": 2
  4522. }
  4523. Query the status to see if the job has finished. For more information on
  4524. the meaning of these return parameters see the job/status call.
  4525. $ rclone rc --json '{ "jobid":2 }' job/status
  4526. {
  4527. "duration": 0.000124163,
  4528. "endTime": "2018-10-27T11:38:07.911245881+01:00",
  4529. "error": "",
  4530. "finished": true,
  4531. "id": 2,
  4532. "output": {
  4533. "_async": true,
  4534. "p1": [
  4535. 1,
  4536. "2",
  4537. null,
  4538. 4
  4539. ],
  4540. "p2": {
  4541. "a": 1,
  4542. "b": 2
  4543. }
  4544. },
  4545. "startTime": "2018-10-27T11:38:07.911121728+01:00",
  4546. "success": true
  4547. }
  4548. job/list can be used to show the running or recently completed jobs
  4549. $ rclone rc job/list
  4550. {
  4551. "jobids": [
  4552. 2
  4553. ]
  4554. }
  4555. Assigning operations to groups with _group =
  4556. Each rc call has it’s own stats group for tracking it’s metrics. By
  4557. default grouping is done by the composite group name from prefix job/
  4558. and id of the job like so job/1.
  4559. If _group has a value then stats for that request will be grouped under
  4560. that value. This allows caller to group stats under their own name.
  4561. Stats for specific group can be accessed by passing group to core/stats:
  4562. $ rclone rc --json '{ "group": "job/1" }' core/stats
  4563. {
  4564. "speed": 12345
  4565. ...
  4566. }
  4567. Supported commands
  4568. cache/expire: Purge a remote from cache {#cache/expire}
  4569. Purge a remote from the cache backend. Supports either a directory or a
  4570. file. Params: - remote = path to remote (required) - withData =
  4571. true/false to delete cached data (chunks) as well (optional)
  4572. Eg
  4573. rclone rc cache/expire remote=path/to/sub/folder/
  4574. rclone rc cache/expire remote=/ withData=true
  4575. cache/fetch: Fetch file chunks {#cache/fetch}
  4576. Ensure the specified file chunks are cached on disk.
  4577. The chunks= parameter specifies the file chunks to check. It takes a
  4578. comma separated list of array slice indices. The slice indices are
  4579. similar to Python slices: start[:end]
  4580. start is the 0 based chunk number from the beginning of the file to
  4581. fetch inclusive. end is 0 based chunk number from the beginning of the
  4582. file to fetch exclusive. Both values can be negative, in which case they
  4583. count from the back of the file. The value “-5:” represents the last 5
  4584. chunks of a file.
  4585. Some valid examples are: “:5,-5:” -> the first and last five chunks
  4586. “0,-2” -> the first and the second last chunk “0:10” -> the first ten
  4587. chunks
  4588. Any parameter with a key that starts with “file” can be used to specify
  4589. files to fetch, eg
  4590. rclone rc cache/fetch chunks=0 file=hello file2=home/goodbye
  4591. File names will automatically be encrypted when the a crypt remote is
  4592. used on top of the cache.
  4593. cache/stats: Get cache stats {#cache/stats}
  4594. Show statistics for the cache remote.
  4595. config/create: create the config for a remote. {#config/create}
  4596. This takes the following parameters
  4597. - name - name of remote
  4598. - parameters - a map of { “key”: “value” } pairs
  4599. - type - type of the new remote
  4600. See the config create command command for more information on the above.
  4601. Authentication is required for this call.
  4602. config/delete: Delete a remote in the config file. {#config/delete}
  4603. Parameters:
  4604. - name - name of remote to delete
  4605. See the config delete command command for more information on the above.
  4606. Authentication is required for this call.
  4607. config/dump: Dumps the config file. {#config/dump}
  4608. Returns a JSON object: - key: value
  4609. Where keys are remote names and values are the config parameters.
  4610. See the config dump command command for more information on the above.
  4611. Authentication is required for this call.
  4612. config/get: Get a remote in the config file. {#config/get}
  4613. Parameters:
  4614. - name - name of remote to get
  4615. See the config dump command command for more information on the above.
  4616. Authentication is required for this call.
  4617. config/listremotes: Lists the remotes in the config file. {#config/listremotes}
  4618. Returns - remotes - array of remote names
  4619. See the listremotes command command for more information on the above.
  4620. Authentication is required for this call.
  4621. config/password: password the config for a remote. {#config/password}
  4622. This takes the following parameters
  4623. - name - name of remote
  4624. - parameters - a map of { “key”: “value” } pairs
  4625. See the config password command command for more information on the
  4626. above.
  4627. Authentication is required for this call.
  4628. config/providers: Shows how providers are configured in the config file. {#config/providers}
  4629. Returns a JSON object: - providers - array of objects
  4630. See the config providers command command for more information on the
  4631. above.
  4632. Authentication is required for this call.
  4633. config/update: update the config for a remote. {#config/update}
  4634. This takes the following parameters
  4635. - name - name of remote
  4636. - parameters - a map of { “key”: “value” } pairs
  4637. See the config update command command for more information on the above.
  4638. Authentication is required for this call.
  4639. core/bwlimit: Set the bandwidth limit. {#core/bwlimit}
  4640. This sets the bandwidth limit to that passed in.
  4641. Eg
  4642. rclone rc core/bwlimit rate=off
  4643. {
  4644. "bytesPerSecond": -1,
  4645. "rate": "off"
  4646. }
  4647. rclone rc core/bwlimit rate=1M
  4648. {
  4649. "bytesPerSecond": 1048576,
  4650. "rate": "1M"
  4651. }
  4652. If the rate parameter is not suppied then the bandwidth is queried
  4653. rclone rc core/bwlimit
  4654. {
  4655. "bytesPerSecond": 1048576,
  4656. "rate": "1M"
  4657. }
  4658. The format of the parameter is exactly the same as passed to –bwlimit
  4659. except only one bandwidth may be specified.
  4660. In either case “rate” is returned as a human readable string, and
  4661. “bytesPerSecond” is returned as a number.
  4662. core/gc: Runs a garbage collection. {#core/gc}
  4663. This tells the go runtime to do a garbage collection run. It isn’t
  4664. necessary to call this normally, but it can be useful for debugging
  4665. memory problems.
  4666. core/group-list: Returns list of stats. {#core/group-list}
  4667. This returns list of stats groups currently in memory.
  4668. Returns the following values:
  4669. {
  4670. "groups": an array of group names:
  4671. [
  4672. "group1",
  4673. "group2",
  4674. ...
  4675. ]
  4676. }
  4677. core/memstats: Returns the memory statistics {#core/memstats}
  4678. This returns the memory statistics of the running program. What the
  4679. values mean are explained in the go docs:
  4680. https://golang.org/pkg/runtime/#MemStats
  4681. The most interesting values for most people are:
  4682. - HeapAlloc: This is the amount of memory rclone is actually using
  4683. - HeapSys: This is the amount of memory rclone has obtained from the
  4684. OS
  4685. - Sys: this is the total amount of memory requested from the OS
  4686. - It is virtual memory so may include unused memory
  4687. core/obscure: Obscures a string passed in. {#core/obscure}
  4688. Pass a clear string and rclone will obscure it for the config file: -
  4689. clear - string
  4690. Returns - obscured - string
  4691. core/pid: Return PID of current process {#core/pid}
  4692. This returns PID of current process. Useful for stopping rclone process.
  4693. core/quit: Terminates the app. {#core/quit}
  4694. (optional) Pass an exit code to be used for terminating the app: -
  4695. exitCode - int
  4696. core/stats: Returns stats about current transfers. {#core/stats}
  4697. This returns all available stats:
  4698. rclone rc core/stats
  4699. If group is not provided then summed up stats for all groups will be
  4700. returned.
  4701. Parameters
  4702. - group - name of the stats group (string)
  4703. Returns the following values:
  4704. {
  4705. "speed": average speed in bytes/sec since start of the process,
  4706. "bytes": total transferred bytes since the start of the process,
  4707. "errors": number of errors,
  4708. "fatalError": whether there has been at least one FatalError,
  4709. "retryError": whether there has been at least one non-NoRetryError,
  4710. "checks": number of checked files,
  4711. "transfers": number of transferred files,
  4712. "deletes" : number of deleted files,
  4713. "elapsedTime": time in seconds since the start of the process,
  4714. "lastError": last occurred error,
  4715. "transferring": an array of currently active file transfers:
  4716. [
  4717. {
  4718. "bytes": total transferred bytes for this file,
  4719. "eta": estimated time in seconds until file transfer completion
  4720. "name": name of the file,
  4721. "percentage": progress of the file transfer in percent,
  4722. "speed": speed in bytes/sec,
  4723. "speedAvg": speed in bytes/sec as an exponentially weighted moving average,
  4724. "size": size of the file in bytes
  4725. }
  4726. ],
  4727. "checking": an array of names of currently active file checks
  4728. []
  4729. }
  4730. Values for “transferring”, “checking” and “lastError” are only assigned
  4731. if data is available. The value for “eta” is null if an eta cannot be
  4732. determined.
  4733. core/stats-delete: Delete stats group. {#core/stats-delete}
  4734. This deletes entire stats group
  4735. Parameters
  4736. - group - name of the stats group (string)
  4737. core/stats-reset: Reset stats. {#core/stats-reset}
  4738. This clears counters, errors and finished transfers for all stats or
  4739. specific stats group if group is provided.
  4740. Parameters
  4741. - group - name of the stats group (string)
  4742. core/transferred: Returns stats about completed transfers. {#core/transferred}
  4743. This returns stats about completed transfers:
  4744. rclone rc core/transferred
  4745. If group is not provided then completed transfers for all groups will be
  4746. returned.
  4747. Note only the last 100 completed transfers are returned.
  4748. Parameters
  4749. - group - name of the stats group (string)
  4750. Returns the following values:
  4751. {
  4752. "transferred": an array of completed transfers (including failed ones):
  4753. [
  4754. {
  4755. "name": name of the file,
  4756. "size": size of the file in bytes,
  4757. "bytes": total transferred bytes for this file,
  4758. "checked": if the transfer is only checked (skipped, deleted),
  4759. "timestamp": integer representing millisecond unix epoch,
  4760. "error": string description of the error (empty if successfull),
  4761. "jobid": id of the job that this transfer belongs to
  4762. }
  4763. ]
  4764. }
  4765. core/version: Shows the current version of rclone and the go runtime. {#core/version}
  4766. This shows the current version of go and the go runtime
  4767. - version - rclone version, eg “v1.44”
  4768. - decomposed - version number as [major, minor, patch, subpatch]
  4769. - note patch and subpatch will be 999 for a git compiled version
  4770. - isGit - boolean - true if this was compiled from the git version
  4771. - os - OS in use as according to Go
  4772. - arch - cpu architecture in use according to Go
  4773. - goVersion - version of Go runtime in use
  4774. debug/set-block-profile-rate: Set runtime.SetBlockProfileRate for blocking profiling. {#debug/set-block-profile-rate}
  4775. SetBlockProfileRate controls the fraction of goroutine blocking events
  4776. that are reported in the blocking profile. The profiler aims to sample
  4777. an average of one blocking event per rate nanoseconds spent blocked.
  4778. To include every blocking event in the profile, pass rate = 1. To turn
  4779. off profiling entirely, pass rate <= 0.
  4780. After calling this you can use this to see the blocking profile:
  4781. go tool pprof http://localhost:5572/debug/pprof/block
  4782. Parameters
  4783. - rate - int
  4784. debug/set-mutex-profile-fraction: Set runtime.SetMutexProfileFraction for mutex profiling. {#debug/set-mutex-profile-fraction}
  4785. SetMutexProfileFraction controls the fraction of mutex contention events
  4786. that are reported in the mutex profile. On average 1/rate events are
  4787. reported. The previous rate is returned.
  4788. To turn off profiling entirely, pass rate 0. To just read the current
  4789. rate, pass rate < 0. (For n>1 the details of sampling may change.)
  4790. Once this is set you can look use this to profile the mutex contention:
  4791. go tool pprof http://localhost:5572/debug/pprof/mutex
  4792. Parameters
  4793. - rate - int
  4794. Results
  4795. - previousRate - int
  4796. job/list: Lists the IDs of the running jobs {#job/list}
  4797. Parameters - None
  4798. Results
  4799. - jobids - array of integer job ids
  4800. job/status: Reads the status of the job ID {#job/status}
  4801. Parameters
  4802. - jobid - id of the job (integer)
  4803. Results
  4804. - finished - boolean
  4805. - duration - time in seconds that the job ran for
  4806. - endTime - time the job finished (eg
  4807. “2018-10-26T18:50:20.528746884+01:00”)
  4808. - error - error from the job or empty string for no error
  4809. - finished - boolean whether the job has finished or not
  4810. - id - as passed in above
  4811. - startTime - time the job started (eg
  4812. “2018-10-26T18:50:20.528336039+01:00”)
  4813. - success - boolean - true for success false otherwise
  4814. - output - output of the job as would have been returned if called
  4815. synchronously
  4816. - progress - output of the progress related to the underlying job
  4817. job/stop: Stop the running job {#job/stop}
  4818. Parameters
  4819. - jobid - id of the job (integer)
  4820. operations/about: Return the space used on the remote {#operations/about}
  4821. This takes the following parameters
  4822. - fs - a remote name string eg “drive:”
  4823. The result is as returned from rclone about –json
  4824. See the about command command for more information on the above.
  4825. Authentication is required for this call.
  4826. operations/cleanup: Remove trashed files in the remote or path {#operations/cleanup}
  4827. This takes the following parameters
  4828. - fs - a remote name string eg “drive:”
  4829. See the cleanup command command for more information on the above.
  4830. Authentication is required for this call.
  4831. operations/copyfile: Copy a file from source remote to destination remote {#operations/copyfile}
  4832. This takes the following parameters
  4833. - srcFs - a remote name string eg “drive:” for the source
  4834. - srcRemote - a path within that remote eg “file.txt” for the source
  4835. - dstFs - a remote name string eg “drive2:” for the destination
  4836. - dstRemote - a path within that remote eg “file2.txt” for the
  4837. destination
  4838. Authentication is required for this call.
  4839. operations/copyurl: Copy the URL to the object {#operations/copyurl}
  4840. This takes the following parameters
  4841. - fs - a remote name string eg “drive:”
  4842. - remote - a path within that remote eg “dir”
  4843. - url - string, URL to read from
  4844. - autoFilename - boolean, set to true to retrieve destination file
  4845. name from url See the copyurl command command for more information
  4846. on the above.
  4847. Authentication is required for this call.
  4848. operations/delete: Remove files in the path {#operations/delete}
  4849. This takes the following parameters
  4850. - fs - a remote name string eg “drive:”
  4851. See the delete command command for more information on the above.
  4852. Authentication is required for this call.
  4853. operations/deletefile: Remove the single file pointed to {#operations/deletefile}
  4854. This takes the following parameters
  4855. - fs - a remote name string eg “drive:”
  4856. - remote - a path within that remote eg “dir”
  4857. See the deletefile command command for more information on the above.
  4858. Authentication is required for this call.
  4859. operations/fsinfo: Return information about the remote {#operations/fsinfo}
  4860. This takes the following parameters
  4861. - fs - a remote name string eg “drive:”
  4862. This returns info about the remote passed in;
  4863. {
  4864. // optional features and whether they are available or not
  4865. "Features": {
  4866. "About": true,
  4867. "BucketBased": false,
  4868. "CanHaveEmptyDirectories": true,
  4869. "CaseInsensitive": false,
  4870. "ChangeNotify": false,
  4871. "CleanUp": false,
  4872. "Copy": false,
  4873. "DirCacheFlush": false,
  4874. "DirMove": true,
  4875. "DuplicateFiles": false,
  4876. "GetTier": false,
  4877. "ListR": false,
  4878. "MergeDirs": false,
  4879. "Move": true,
  4880. "OpenWriterAt": true,
  4881. "PublicLink": false,
  4882. "Purge": true,
  4883. "PutStream": true,
  4884. "PutUnchecked": false,
  4885. "ReadMimeType": false,
  4886. "ServerSideAcrossConfigs": false,
  4887. "SetTier": false,
  4888. "SetWrapper": false,
  4889. "UnWrap": false,
  4890. "WrapFs": false,
  4891. "WriteMimeType": false
  4892. },
  4893. // Names of hashes available
  4894. "Hashes": [
  4895. "MD5",
  4896. "SHA-1",
  4897. "DropboxHash",
  4898. "QuickXorHash"
  4899. ],
  4900. "Name": "local", // Name as created
  4901. "Precision": 1, // Precision of timestamps in ns
  4902. "Root": "/", // Path as created
  4903. "String": "Local file system at /" // how the remote will appear in logs
  4904. }
  4905. This command does not have a command line equivalent so use this
  4906. instead:
  4907. rclone rc --loopback operations/fsinfo fs=remote:
  4908. operations/list: List the given remote and path in JSON format {#operations/list}
  4909. This takes the following parameters
  4910. - fs - a remote name string eg “drive:”
  4911. - remote - a path within that remote eg “dir”
  4912. - opt - a dictionary of options to control the listing (optional)
  4913. - recurse - If set recurse directories
  4914. - noModTime - If set return modification time
  4915. - showEncrypted - If set show decrypted names
  4916. - showOrigIDs - If set show the IDs for each item if known
  4917. - showHash - If set return a dictionary of hashes
  4918. The result is
  4919. - list
  4920. - This is an array of objects as described in the lsjson command
  4921. See the lsjson command for more information on the above and examples.
  4922. Authentication is required for this call.
  4923. operations/mkdir: Make a destination directory or container {#operations/mkdir}
  4924. This takes the following parameters
  4925. - fs - a remote name string eg “drive:”
  4926. - remote - a path within that remote eg “dir”
  4927. See the mkdir command command for more information on the above.
  4928. Authentication is required for this call.
  4929. operations/movefile: Move a file from source remote to destination remote {#operations/movefile}
  4930. This takes the following parameters
  4931. - srcFs - a remote name string eg “drive:” for the source
  4932. - srcRemote - a path within that remote eg “file.txt” for the source
  4933. - dstFs - a remote name string eg “drive2:” for the destination
  4934. - dstRemote - a path within that remote eg “file2.txt” for the
  4935. destination
  4936. Authentication is required for this call.
  4937. operations/publiclink: Create or retrieve a public link to the given file or folder. {#operations/publiclink}
  4938. This takes the following parameters
  4939. - fs - a remote name string eg “drive:”
  4940. - remote - a path within that remote eg “dir”
  4941. Returns
  4942. - url - URL of the resource
  4943. See the link command command for more information on the above.
  4944. Authentication is required for this call.
  4945. operations/purge: Remove a directory or container and all of its contents {#operations/purge}
  4946. This takes the following parameters
  4947. - fs - a remote name string eg “drive:”
  4948. - remote - a path within that remote eg “dir”
  4949. See the purge command command for more information on the above.
  4950. Authentication is required for this call.
  4951. operations/rmdir: Remove an empty directory or container {#operations/rmdir}
  4952. This takes the following parameters
  4953. - fs - a remote name string eg “drive:”
  4954. - remote - a path within that remote eg “dir”
  4955. See the rmdir command command for more information on the above.
  4956. Authentication is required for this call.
  4957. operations/rmdirs: Remove all the empty directories in the path {#operations/rmdirs}
  4958. This takes the following parameters
  4959. - fs - a remote name string eg “drive:”
  4960. - remote - a path within that remote eg “dir”
  4961. - leaveRoot - boolean, set to true not to delete the root
  4962. See the rmdirs command command for more information on the above.
  4963. Authentication is required for this call.
  4964. operations/size: Count the number of bytes and files in remote {#operations/size}
  4965. This takes the following parameters
  4966. - fs - a remote name string eg “drive:path/to/dir”
  4967. Returns
  4968. - count - number of files
  4969. - bytes - number of bytes in those files
  4970. See the size command command for more information on the above.
  4971. Authentication is required for this call.
  4972. options/blocks: List all the option blocks {#options/blocks}
  4973. Returns - options - a list of the options block names
  4974. options/get: Get all the options {#options/get}
  4975. Returns an object where keys are option block names and values are an
  4976. object with the current option values in.
  4977. This shows the internal names of the option within rclone which should
  4978. map to the external options very easily with a few exceptions.
  4979. options/set: Set an option {#options/set}
  4980. Parameters
  4981. - option block name containing an object with
  4982. - key: value
  4983. Repeated as often as required.
  4984. Only supply the options you wish to change. If an option is unknown it
  4985. will be silently ignored. Not all options will have an effect when
  4986. changed like this.
  4987. For example:
  4988. This sets DEBUG level logs (-vv)
  4989. rclone rc options/set --json '{"main": {"LogLevel": 8}}'
  4990. And this sets INFO level logs (-v)
  4991. rclone rc options/set --json '{"main": {"LogLevel": 7}}'
  4992. And this sets NOTICE level logs (normal without -v)
  4993. rclone rc options/set --json '{"main": {"LogLevel": 6}}'
  4994. rc/error: This returns an error {#rc/error}
  4995. This returns an error with the input as part of its error string. Useful
  4996. for testing error handling.
  4997. rc/list: List all the registered remote control commands {#rc/list}
  4998. This lists all the registered remote control commands as a JSON map in
  4999. the commands response.
  5000. rc/noop: Echo the input to the output parameters {#rc/noop}
  5001. This echoes the input parameters to the output parameters for testing
  5002. purposes. It can be used to check that rclone is still alive and to
  5003. check that parameter passing is working properly.
  5004. rc/noopauth: Echo the input to the output parameters requiring auth {#rc/noopauth}
  5005. This echoes the input parameters to the output parameters for testing
  5006. purposes. It can be used to check that rclone is still alive and to
  5007. check that parameter passing is working properly.
  5008. Authentication is required for this call.
  5009. sync/copy: copy a directory from source remote to destination remote {#sync/copy}
  5010. This takes the following parameters
  5011. - srcFs - a remote name string eg “drive:src” for the source
  5012. - dstFs - a remote name string eg “drive:dst” for the destination
  5013. See the copy command command for more information on the above.
  5014. Authentication is required for this call.
  5015. sync/move: move a directory from source remote to destination remote {#sync/move}
  5016. This takes the following parameters
  5017. - srcFs - a remote name string eg “drive:src” for the source
  5018. - dstFs - a remote name string eg “drive:dst” for the destination
  5019. - deleteEmptySrcDirs - delete empty src directories if set
  5020. See the move command command for more information on the above.
  5021. Authentication is required for this call.
  5022. sync/sync: sync a directory from source remote to destination remote {#sync/sync}
  5023. This takes the following parameters
  5024. - srcFs - a remote name string eg “drive:src” for the source
  5025. - dstFs - a remote name string eg “drive:dst” for the destination
  5026. See the sync command command for more information on the above.
  5027. Authentication is required for this call.
  5028. vfs/forget: Forget files or directories in the directory cache. {#vfs/forget}
  5029. This forgets the paths in the directory cache causing them to be re-read
  5030. from the remote when needed.
  5031. If no paths are passed in then it will forget all the paths in the
  5032. directory cache.
  5033. rclone rc vfs/forget
  5034. Otherwise pass files or dirs in as file=path or dir=path. Any parameter
  5035. key starting with file will forget that file and any starting with dir
  5036. will forget that dir, eg
  5037. rclone rc vfs/forget file=hello file2=goodbye dir=home/junk
  5038. vfs/poll-interval: Get the status or update the value of the poll-interval option. {#vfs/poll-interval}
  5039. Without any parameter given this returns the current status of the
  5040. poll-interval setting.
  5041. When the interval=duration parameter is set, the poll-interval value is
  5042. updated and the polling function is notified. Setting interval=0
  5043. disables poll-interval.
  5044. rclone rc vfs/poll-interval interval=5m
  5045. The timeout=duration parameter can be used to specify a time to wait for
  5046. the current poll function to apply the new value. If timeout is less or
  5047. equal 0, which is the default, wait indefinitely.
  5048. The new poll-interval value will only be active when the timeout is not
  5049. reached.
  5050. If poll-interval is updated or disabled temporarily, some changes might
  5051. not get picked up by the polling function, depending on the used remote.
  5052. vfs/refresh: Refresh the directory cache. {#vfs/refresh}
  5053. This reads the directories for the specified paths and freshens the
  5054. directory cache.
  5055. If no paths are passed in then it will refresh the root directory.
  5056. rclone rc vfs/refresh
  5057. Otherwise pass directories in as dir=path. Any parameter key starting
  5058. with dir will refresh that directory, eg
  5059. rclone rc vfs/refresh dir=home/junk dir2=data/misc
  5060. If the parameter recursive=true is given the whole directory tree will
  5061. get refreshed. This refresh will use –fast-list if enabled.
  5062. Accessing the remote control via HTTP
  5063. Rclone implements a simple HTTP based protocol.
  5064. Each endpoint takes an JSON object and returns a JSON object or an
  5065. error. The JSON objects are essentially a map of string names to values.
  5066. All calls must made using POST.
  5067. The input objects can be supplied using URL parameters, POST parameters
  5068. or by supplying “Content-Type: application/json” and a JSON blob in the
  5069. body. There are examples of these below using curl.
  5070. The response will be a JSON blob in the body of the response. This is
  5071. formatted to be reasonably human readable.
  5072. Error returns
  5073. If an error occurs then there will be an HTTP error status (eg 500) and
  5074. the body of the response will contain a JSON encoded error object, eg
  5075. {
  5076. "error": "Expecting string value for key \"remote\" (was float64)",
  5077. "input": {
  5078. "fs": "/tmp",
  5079. "remote": 3
  5080. },
  5081. "status": 400
  5082. "path": "operations/rmdir",
  5083. }
  5084. The keys in the error response are - error - error string - input - the
  5085. input parameters to the call - status - the HTTP status code - path -
  5086. the path of the call
  5087. CORS
  5088. The sever implements basic CORS support and allows all origins for that.
  5089. The response to a preflight OPTIONS request will echo the requested
  5090. “Access-Control-Request-Headers” back.
  5091. Using POST with URL parameters only
  5092. curl -X POST 'http://localhost:5572/rc/noop?potato=1&sausage=2'
  5093. Response
  5094. {
  5095. "potato": "1",
  5096. "sausage": "2"
  5097. }
  5098. Here is what an error response looks like:
  5099. curl -X POST 'http://localhost:5572/rc/error?potato=1&sausage=2'
  5100. {
  5101. "error": "arbitrary error on input map[potato:1 sausage:2]",
  5102. "input": {
  5103. "potato": "1",
  5104. "sausage": "2"
  5105. }
  5106. }
  5107. Note that curl doesn’t return errors to the shell unless you use the -f
  5108. option
  5109. $ curl -f -X POST 'http://localhost:5572/rc/error?potato=1&sausage=2'
  5110. curl: (22) The requested URL returned error: 400 Bad Request
  5111. $ echo $?
  5112. 22
  5113. Using POST with a form
  5114. curl --data "potato=1" --data "sausage=2" http://localhost:5572/rc/noop
  5115. Response
  5116. {
  5117. "potato": "1",
  5118. "sausage": "2"
  5119. }
  5120. Note that you can combine these with URL parameters too with the POST
  5121. parameters taking precedence.
  5122. curl --data "potato=1" --data "sausage=2" "http://localhost:5572/rc/noop?rutabaga=3&sausage=4"
  5123. Response
  5124. {
  5125. "potato": "1",
  5126. "rutabaga": "3",
  5127. "sausage": "4"
  5128. }
  5129. Using POST with a JSON blob
  5130. curl -H "Content-Type: application/json" -X POST -d '{"potato":2,"sausage":1}' http://localhost:5572/rc/noop
  5131. response
  5132. {
  5133. "password": "xyz",
  5134. "username": "xyz"
  5135. }
  5136. This can be combined with URL parameters too if required. The JSON blob
  5137. takes precedence.
  5138. curl -H "Content-Type: application/json" -X POST -d '{"potato":2,"sausage":1}' 'http://localhost:5572/rc/noop?rutabaga=3&potato=4'
  5139. {
  5140. "potato": 2,
  5141. "rutabaga": "3",
  5142. "sausage": 1
  5143. }
  5144. Debugging rclone with pprof
  5145. If you use the --rc flag this will also enable the use of the go
  5146. profiling tools on the same port.
  5147. To use these, first install go.
  5148. Debugging memory use
  5149. To profile rclone’s memory use you can run:
  5150. go tool pprof -web http://localhost:5572/debug/pprof/heap
  5151. This should open a page in your browser showing what is using what
  5152. memory.
  5153. You can also use the -text flag to produce a textual summary
  5154. $ go tool pprof -text http://localhost:5572/debug/pprof/heap
  5155. Showing nodes accounting for 1537.03kB, 100% of 1537.03kB total
  5156. flat flat% sum% cum cum%
  5157. 1024.03kB 66.62% 66.62% 1024.03kB 66.62% github.com/rclone/rclone/vendor/golang.org/x/net/http2/hpack.addDecoderNode
  5158. 513kB 33.38% 100% 513kB 33.38% net/http.newBufioWriterSize
  5159. 0 0% 100% 1024.03kB 66.62% github.com/rclone/rclone/cmd/all.init
  5160. 0 0% 100% 1024.03kB 66.62% github.com/rclone/rclone/cmd/serve.init
  5161. 0 0% 100% 1024.03kB 66.62% github.com/rclone/rclone/cmd/serve/restic.init
  5162. 0 0% 100% 1024.03kB 66.62% github.com/rclone/rclone/vendor/golang.org/x/net/http2.init
  5163. 0 0% 100% 1024.03kB 66.62% github.com/rclone/rclone/vendor/golang.org/x/net/http2/hpack.init
  5164. 0 0% 100% 1024.03kB 66.62% github.com/rclone/rclone/vendor/golang.org/x/net/http2/hpack.init.0
  5165. 0 0% 100% 1024.03kB 66.62% main.init
  5166. 0 0% 100% 513kB 33.38% net/http.(*conn).readRequest
  5167. 0 0% 100% 513kB 33.38% net/http.(*conn).serve
  5168. 0 0% 100% 1024.03kB 66.62% runtime.main
  5169. Debugging go routine leaks
  5170. Memory leaks are most often caused by go routine leaks keeping memory
  5171. alive which should have been garbage collected.
  5172. See all active go routines using
  5173. curl http://localhost:5572/debug/pprof/goroutine?debug=1
  5174. Or go to http://localhost:5572/debug/pprof/goroutine?debug=1 in your
  5175. browser.
  5176. Other profiles to look at
  5177. You can see a summary of profiles available at
  5178. http://localhost:5572/debug/pprof/
  5179. Here is how to use some of them:
  5180. - Memory: go tool pprof http://localhost:5572/debug/pprof/heap
  5181. - Go routines:
  5182. curl http://localhost:5572/debug/pprof/goroutine?debug=1
  5183. - 30-second CPU profile:
  5184. go tool pprof http://localhost:5572/debug/pprof/profile
  5185. - 5-second execution trace:
  5186. wget http://localhost:5572/debug/pprof/trace?seconds=5
  5187. - Goroutine blocking profile
  5188. - Enable first with: rclone rc debug/set-block-profile-rate rate=1
  5189. (docs)
  5190. - go tool pprof http://localhost:5572/debug/pprof/block
  5191. - Contended mutexes:
  5192. - Enable first with:
  5193. rclone rc debug/set-mutex-profile-fraction rate=1 (docs)
  5194. - go tool pprof http://localhost:5572/debug/pprof/mutex
  5195. See the net/http/pprof docs for more info on how to use the profiling
  5196. and for a general overview see the Go team’s blog post on profiling go
  5197. programs.
  5198. The profiling hook is zero overhead unless it is used.
  5199. OVERVIEW OF CLOUD STORAGE SYSTEMS
  5200. Each cloud storage system is slightly different. Rclone attempts to
  5201. provide a unified interface to them, but some underlying differences
  5202. show through.
  5203. Features
  5204. Here is an overview of the major features of each cloud storage system.
  5205. Name Hash ModTime Case Insensitive Duplicate Files MIME Type
  5206. ------------------------------ -------------- --------- ------------------ ----------------- -----------
  5207. 1Fichier Whirlpool No No Yes R
  5208. Amazon Drive MD5 No Yes No R
  5209. Amazon S3 MD5 Yes No No R/W
  5210. Backblaze B2 SHA1 Yes No No R/W
  5211. Box SHA1 Yes Yes No -
  5212. Citrix ShareFile MD5 Yes Yes No -
  5213. Dropbox DBHASH † Yes Yes No -
  5214. FTP - No No No -
  5215. Google Cloud Storage MD5 Yes No No R/W
  5216. Google Drive MD5 Yes No Yes R/W
  5217. Google Photos - No No Yes R
  5218. HTTP - No No No R
  5219. Hubic MD5 Yes No No R/W
  5220. Jottacloud MD5 Yes Yes No R/W
  5221. Koofr MD5 No Yes No -
  5222. Mail.ru Cloud Mailru ‡‡‡ Yes Yes No -
  5223. Mega - No No Yes -
  5224. Memory MD5 Yes No No -
  5225. Microsoft Azure Blob Storage MD5 Yes No No R/W
  5226. Microsoft OneDrive SHA1 ‡‡ Yes Yes No R
  5227. OpenDrive MD5 Yes Yes No -
  5228. Openstack Swift MD5 Yes No No R/W
  5229. pCloud MD5, SHA1 Yes No No W
  5230. premiumize.me - No Yes No R
  5231. put.io CRC-32 Yes No Yes R
  5232. QingStor MD5 No No No R/W
  5233. SFTP MD5, SHA1 ‡ Yes Depends No -
  5234. SugarSync - No No No -
  5235. WebDAV MD5, SHA1 †† Yes ††† Depends No -
  5236. Yandex Disk MD5 Yes No No R/W
  5237. The local filesystem All Yes Depends No -
  5238. Hash
  5239. The cloud storage system supports various hash types of the objects. The
  5240. hashes are used when transferring data as an integrity check and can be
  5241. specifically used with the --checksum flag in syncs and in the check
  5242. command.
  5243. To use the verify checksums when transferring between cloud storage
  5244. systems they must support a common hash type.
  5245. † Note that Dropbox supports its own custom hash. This is an SHA256 sum
  5246. of all the 4MB block SHA256s.
  5247. ‡ SFTP supports checksums if the same login has shell access and md5sum
  5248. or sha1sum as well as echo are in the remote’s PATH.
  5249. †† WebDAV supports hashes when used with Owncloud and Nextcloud only.
  5250. ††† WebDAV supports modtimes when used with Owncloud and Nextcloud only.
  5251. ‡‡ Microsoft OneDrive Personal supports SHA1 hashes, whereas OneDrive
  5252. for business and SharePoint server support Microsoft’s own QuickXorHash.
  5253. ‡‡‡ Mail.ru uses its own modified SHA1 hash
  5254. ModTime
  5255. The cloud storage system supports setting modification times on objects.
  5256. If it does then this enables a using the modification times as part of
  5257. the sync. If not then only the size will be checked by default, though
  5258. the MD5SUM can be checked with the --checksum flag.
  5259. All cloud storage systems support some kind of date on the object and
  5260. these will be set when transferring from the cloud storage system.
  5261. Case Insensitive
  5262. If a cloud storage systems is case sensitive then it is possible to have
  5263. two files which differ only in case, eg file.txt and FILE.txt. If a
  5264. cloud storage system is case insensitive then that isn’t possible.
  5265. This can cause problems when syncing between a case insensitive system
  5266. and a case sensitive system. The symptom of this is that no matter how
  5267. many times you run the sync it never completes fully.
  5268. The local filesystem and SFTP may or may not be case sensitive depending
  5269. on OS.
  5270. - Windows - usually case insensitive, though case is preserved
  5271. - OSX - usually case insensitive, though it is possible to format case
  5272. sensitive
  5273. - Linux - usually case sensitive, but there are case insensitive file
  5274. systems (eg FAT formatted USB keys)
  5275. Most of the time this doesn’t cause any problems as people tend to avoid
  5276. files whose name differs only by case even on case sensitive systems.
  5277. Duplicate files
  5278. If a cloud storage system allows duplicate files then it can have two
  5279. objects with the same name.
  5280. This confuses rclone greatly when syncing - use the rclone dedupe
  5281. command to rename or remove duplicates.
  5282. Restricted filenames
  5283. Some cloud storage systems might have restrictions on the characters
  5284. that are usable in file or directory names. When rclone detects such a
  5285. name during a file upload, it will transparently replace the restricted
  5286. characters with similar looking Unicode characters.
  5287. This process is designed to avoid ambiguous file names as much as
  5288. possible and allow to move files between many cloud storage systems
  5289. transparently.
  5290. The name shown by rclone to the user or during log output will only
  5291. contain a minimal set of replaced characters to ensure correct
  5292. formatting and not necessarily the actual name used on the cloud
  5293. storage.
  5294. This transformation is reversed when downloading a file or parsing
  5295. rclone arguments. For example, when uploading a file named my file?.txt
  5296. to Onedrive will be displayed as my file?.txt on the console, but stored
  5297. as my file?.txt (the ? gets replaced by the similar looking ?
  5298. character) to Onedrive. The reverse transformation allows to read a
  5299. fileunusual/name.txt from Google Drive, by passing the name
  5300. unusual/name.txt (the / needs to be replaced by the similar looking /
  5301. character) on the command line.
  5302. Default restricted characters
  5303. The table below shows the characters that are replaced by default.
  5304. When a replacement character is found in a filename, this character will
  5305. be escaped with the ‛ character to avoid ambiguous file names. (e.g. a
  5306. file named ␀.txt would shown as ‛␀.txt)
  5307. Each cloud storage backend can use a different set of characters, which
  5308. will be specified in the documentation for each backend.
  5309. Character Value Replacement
  5310. ----------- ------- -------------
  5311. NUL 0x00 ␀
  5312. SOH 0x01 ␁
  5313. STX 0x02 ␂
  5314. ETX 0x03 ␃
  5315. EOT 0x04 ␄
  5316. ENQ 0x05 ␅
  5317. ACK 0x06 ␆
  5318. BEL 0x07 ␇
  5319. BS 0x08 ␈
  5320. HT 0x09 ␉
  5321. LF 0x0A ␊
  5322. VT 0x0B ␋
  5323. FF 0x0C ␌
  5324. CR 0x0D ␍
  5325. SO 0x0E ␎
  5326. SI 0x0F ␏
  5327. DLE 0x10 ␐
  5328. DC1 0x11 ␑
  5329. DC2 0x12 ␒
  5330. DC3 0x13 ␓
  5331. DC4 0x14 ␔
  5332. NAK 0x15 ␕
  5333. SYN 0x16 ␖
  5334. ETB 0x17 ␗
  5335. CAN 0x18 ␘
  5336. EM 0x19 ␙
  5337. SUB 0x1A ␚
  5338. ESC 0x1B ␛
  5339. FS 0x1C ␜
  5340. GS 0x1D ␝
  5341. RS 0x1E ␞
  5342. US 0x1F ␟
  5343. / 0x2F /
  5344. DEL 0x7F ␡
  5345. The default encoding will also encode these file names as they are
  5346. problematic with many cloud storage systems.
  5347. File name Replacement
  5348. ----------- -------------
  5349. . .
  5350. .. ..
  5351. Invalid UTF-8 bytes
  5352. Some backends only support a sequence of well formed UTF-8 bytes as file
  5353. or directory names.
  5354. In this case all invalid UTF-8 bytes will be replaced with a quoted
  5355. representation of the byte value to allow uploading a file to such a
  5356. backend. For example, the invalid byte 0xFE will be encoded as ‛FE.
  5357. A common source of invalid UTF-8 bytes are local filesystems, that store
  5358. names in a different encoding than UTF-8 or UTF-16, like latin1. See the
  5359. local filenames section for details.
  5360. Encoding option
  5361. Most backends have an encoding options, specified as a flag
  5362. --backend-encoding where backend is the name of the backend, or as a
  5363. config parameter encoding (you’ll need to select the Advanced config in
  5364. rclone config to see it).
  5365. This will have default value which encodes and decodes characters in
  5366. such a way as to preserve the maximum number of characters (see above).
  5367. However this can be incorrect in some scenarios, for example if you have
  5368. a Windows file system with characters such as * and ? that you want to
  5369. remain as those characters on the remote rather than being translated to
  5370. * and ?.
  5371. The --backend-encoding flags allow you to change that. You can disable
  5372. the encoding completely with --backend-encoding None or set
  5373. encoding = None in the config file.
  5374. Encoding takes a comma separated list of encodings. You can see the list
  5375. of all available characters by passing an invalid value to this flag, eg
  5376. --local-encoding "help" and rclone help flags encoding will show you the
  5377. defaults for the backends.
  5378. Encoding Characters
  5379. --------------- -------------------------------------------------------------
  5380. Asterisk *
  5381. BackQuote `
  5382. BackSlash \
  5383. Colon :
  5384. CrLf CR 0x0D, LF 0x0A
  5385. Ctl All control characters 0x00-0x1F
  5386. Del DEL 0x7F
  5387. Dollar $
  5388. Dot .
  5389. DoubleQuote "
  5390. Hash #
  5391. InvalidUtf8 An invalid UTF-8 character (eg latin1)
  5392. LeftCrLfHtVt CR 0x0D, LF 0x0A,HT 0x09, VT 0x0B on the left of a string
  5393. LeftPeriod . on the left of a string
  5394. LeftSpace SPACE on the left of a string
  5395. LeftTilde ~ on the left of a string
  5396. LtGt <, >
  5397. None No characters are encoded
  5398. Percent %
  5399. Pipe |
  5400. Question ?
  5401. RightCrLfHtVt CR 0x0D, LF 0x0A, HT 0x09, VT 0x0B on the right of a string
  5402. RightPeriod . on the right of a string
  5403. RightSpace SPACE on the right of a string
  5404. SingleQuote '
  5405. Slash /
  5406. To take a specific example, the FTP backend’s default encoding is
  5407. --ftp-encoding "Slash,Del,Ctl,RightSpace,Dot"
  5408. However, let’s say the FTP server is running on Windows and can’t have
  5409. any of the invalid Windows characters in file names. You are backing up
  5410. Linux servers to this FTP server which do have those characters in file
  5411. names. So you would add the Windows set which are
  5412. Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot
  5413. to the existing ones, giving:
  5414. Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot,Del,RightSpace
  5415. This can be specified using the --ftp-encoding flag or using an encoding
  5416. parameter in the config file.
  5417. Or let’s say you have a Windows server but you want to preserve * and
  5418. ?, you would then have this as the encoding (the Windows encoding minus
  5419. Asterisk and Question).
  5420. Slash,LtGt,DoubleQuote,Colon,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot
  5421. This can be specified using the --local-encoding flag or using an
  5422. encoding parameter in the config file.
  5423. MIME Type
  5424. MIME types (also known as media types) classify types of documents using
  5425. a simple text classification, eg text/html or application/pdf.
  5426. Some cloud storage systems support reading (R) the MIME type of objects
  5427. and some support writing (W) the MIME type of objects.
  5428. The MIME type can be important if you are serving files directly to HTTP
  5429. from the storage system.
  5430. If you are copying from a remote which supports reading (R) to a remote
  5431. which supports writing (W) then rclone will preserve the MIME types.
  5432. Otherwise they will be guessed from the extension, or the remote itself
  5433. may assign the MIME type.
  5434. Optional Features
  5435. All the remotes support a basic set of features, but there are some
  5436. optional features supported by some remotes used to make some operations
  5437. more efficient.
  5438. Name Purge Copy Move DirMove CleanUp ListR StreamUpload LinkSharing About EmptyDir
  5439. ------------------------------ ------- ------ ------ --------- --------- ------- -------------- ------------- ------- ----------
  5440. 1Fichier No No No No No No No No No Yes
  5441. Amazon Drive Yes No Yes Yes No #575 No No No #2178 No Yes
  5442. Amazon S3 No Yes No No No Yes Yes No #2178 No No
  5443. Backblaze B2 No Yes No No Yes Yes Yes Yes No No
  5444. Box Yes Yes Yes Yes No #575 No Yes Yes No Yes
  5445. Citrix ShareFile Yes Yes Yes Yes No No Yes No No Yes
  5446. Dropbox Yes Yes Yes Yes No #575 No Yes Yes Yes Yes
  5447. FTP No No Yes Yes No No Yes No #2178 No Yes
  5448. Google Cloud Storage Yes Yes No No No Yes Yes No #2178 No No
  5449. Google Drive Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
  5450. Google Photos No No No No No No No No No No
  5451. HTTP No No No No No No No No #2178 No Yes
  5452. Hubic Yes † Yes No No No Yes Yes No #2178 Yes No
  5453. Jottacloud Yes Yes Yes Yes No Yes No Yes Yes Yes
  5454. Mail.ru Cloud Yes Yes Yes Yes Yes No No Yes Yes Yes
  5455. Mega Yes No Yes Yes Yes No No No #2178 Yes Yes
  5456. Memory No Yes No No No Yes Yes No No No
  5457. Microsoft Azure Blob Storage Yes Yes No No No Yes No No #2178 No No
  5458. Microsoft OneDrive Yes Yes Yes Yes No #575 No No Yes Yes Yes
  5459. OpenDrive Yes Yes Yes Yes No No No No No Yes
  5460. Openstack Swift Yes † Yes No No No Yes Yes No #2178 Yes No
  5461. pCloud Yes Yes Yes Yes Yes No No No #2178 Yes Yes
  5462. premiumize.me Yes No Yes Yes No No No Yes Yes Yes
  5463. put.io Yes No Yes Yes Yes No Yes No #2178 Yes Yes
  5464. QingStor No Yes No No No Yes No No #2178 No No
  5465. SFTP No No Yes Yes No No Yes No #2178 Yes Yes
  5466. SugarSync Yes Yes Yes Yes No No Yes Yes No Yes
  5467. WebDAV Yes Yes Yes Yes No No Yes ‡ No #2178 Yes Yes
  5468. Yandex Disk Yes Yes Yes Yes Yes No Yes Yes Yes Yes
  5469. The local filesystem Yes No Yes Yes No No Yes No Yes Yes
  5470. Purge
  5471. This deletes a directory quicker than just deleting all the files in the
  5472. directory.
  5473. † Note Swift and Hubic implement this in order to delete directory
  5474. markers but they don’t actually have a quicker way of deleting files
  5475. other than deleting them individually.
  5476. ‡ StreamUpload is not supported with Nextcloud
  5477. Copy
  5478. Used when copying an object to and from the same remote. This known as a
  5479. server side copy so you can copy a file without downloading it and
  5480. uploading it again. It is used if you use rclone copy or rclone move if
  5481. the remote doesn’t support Move directly.
  5482. If the server doesn’t support Copy directly then for copy operations the
  5483. file is downloaded then re-uploaded.
  5484. Move
  5485. Used when moving/renaming an object on the same remote. This is known as
  5486. a server side move of a file. This is used in rclone move if the server
  5487. doesn’t support DirMove.
  5488. If the server isn’t capable of Move then rclone simulates it with Copy
  5489. then delete. If the server doesn’t support Copy then rclone will
  5490. download the file and re-upload it.
  5491. DirMove
  5492. This is used to implement rclone move to move a directory if possible.
  5493. If it isn’t then it will use Move on each file (which falls back to Copy
  5494. then download and upload - see Move section).
  5495. CleanUp
  5496. This is used for emptying the trash for a remote by rclone cleanup.
  5497. If the server can’t do CleanUp then rclone cleanup will return an error.
  5498. ListR
  5499. The remote supports a recursive list to list all the contents beneath a
  5500. directory quickly. This enables the --fast-list flag to work. See the
  5501. rclone docs for more details.
  5502. StreamUpload
  5503. Some remotes allow files to be uploaded without knowing the file size in
  5504. advance. This allows certain operations to work without spooling the
  5505. file to local disk first, e.g. rclone rcat.
  5506. LinkSharing
  5507. Sets the necessary permissions on a file or folder and prints a link
  5508. that allows others to access them, even if they don’t have an account on
  5509. the particular cloud provider.
  5510. About
  5511. This is used to fetch quota information from the remote, like bytes
  5512. used/free/quota and bytes used in the trash.
  5513. This is also used to return the space used, available for rclone mount.
  5514. If the server can’t do About then rclone about will return an error.
  5515. EmptyDir
  5516. The remote supports empty directories. See Limitations for details. Most
  5517. Object/Bucket based remotes do not support this.
  5518. GLOBAL FLAGS
  5519. This describes the global flags available to every rclone command split
  5520. into two groups, non backend and backend flags.
  5521. Non Backend Flags
  5522. These flags are available for every command.
  5523. --ask-password Allow prompt for password for encrypted configuration. (default true)
  5524. --auto-confirm If enabled, do not request console confirmation.
  5525. --backup-dir string Make backups into hierarchy based in DIR.
  5526. --bind string Local address to bind to for outgoing connections, IPv4, IPv6 or name.
  5527. --buffer-size SizeSuffix In memory buffer size when reading files for each --transfer. (default 16M)
  5528. --bwlimit BwTimetable Bandwidth limit in kBytes/s, or use suffix b|k|M|G or a full timetable.
  5529. --ca-cert string CA certificate used to verify servers
  5530. --cache-dir string Directory rclone will use for caching. (default "$HOME/.cache/rclone")
  5531. --checkers int Number of checkers to run in parallel. (default 8)
  5532. -c, --checksum Skip based on checksum (if available) & size, not mod-time & size
  5533. --client-cert string Client SSL certificate (PEM) for mutual TLS auth
  5534. --client-key string Client SSL private key (PEM) for mutual TLS auth
  5535. --compare-dest string Include additional server-side path during comparison.
  5536. --config string Config file. (default "$HOME/.config/rclone/rclone.conf")
  5537. --contimeout duration Connect timeout (default 1m0s)
  5538. --copy-dest string Implies --compare-dest but also copies files from path into destination.
  5539. --cpuprofile string Write cpu profile to file
  5540. --delete-after When synchronizing, delete files on destination after transferring (default)
  5541. --delete-before When synchronizing, delete files on destination before transferring
  5542. --delete-during When synchronizing, delete files during transfer
  5543. --delete-excluded Delete files on dest excluded from sync
  5544. --disable string Disable a comma separated list of features. Use help to see a list.
  5545. -n, --dry-run Do a trial run with no permanent changes
  5546. --dump DumpFlags List of items to dump from: headers,bodies,requests,responses,auth,filters,goroutines,openfiles
  5547. --dump-bodies Dump HTTP headers and bodies - may contain sensitive info
  5548. --dump-headers Dump HTTP headers - may contain sensitive info
  5549. --exclude stringArray Exclude files matching pattern
  5550. --exclude-from stringArray Read exclude patterns from file
  5551. --exclude-if-present string Exclude directories if filename is present
  5552. --expect-continue-timeout duration Timeout when using expect / 100-continue in HTTP (default 1s)
  5553. --fast-list Use recursive list if available. Uses more memory but fewer transactions.
  5554. --files-from stringArray Read list of source-file names from file
  5555. -f, --filter stringArray Add a file-filtering rule
  5556. --filter-from stringArray Read filtering patterns from a file
  5557. --ignore-case Ignore case in filters (case insensitive)
  5558. --ignore-case-sync Ignore case when synchronizing
  5559. --ignore-checksum Skip post copy check of checksums.
  5560. --ignore-errors delete even if there are I/O errors
  5561. --ignore-existing Skip all files that exist on destination
  5562. --ignore-size Ignore size when skipping use mod-time or checksum.
  5563. -I, --ignore-times Don't skip files that match size and time - transfer all files
  5564. --immutable Do not modify files. Fail if existing files have been modified.
  5565. --include stringArray Include files matching pattern
  5566. --include-from stringArray Read include patterns from file
  5567. --log-file string Log everything to this file
  5568. --log-format string Comma separated list of log format options (default "date,time")
  5569. --log-level string Log level DEBUG|INFO|NOTICE|ERROR (default "NOTICE")
  5570. --low-level-retries int Number of low level retries to do. (default 10)
  5571. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  5572. --max-backlog int Maximum number of objects in sync or check backlog. (default 10000)
  5573. --max-delete int When synchronizing, limit the number of deletes (default -1)
  5574. --max-depth int If set limits the recursion depth to this. (default -1)
  5575. --max-duration duration Maximum duration rclone will transfer data for.
  5576. --max-size SizeSuffix Only transfer files smaller than this in k or suffix b|k|M|G (default off)
  5577. --max-stats-groups int Maximum number of stats groups to keep in memory. On max oldest is discarded. (default 1000)
  5578. --max-transfer SizeSuffix Maximum size of data to transfer. (default off)
  5579. --memprofile string Write memory profile to file
  5580. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  5581. --min-size SizeSuffix Only transfer files bigger than this in k or suffix b|k|M|G (default off)
  5582. --modify-window duration Max time diff to be considered the same (default 1ns)
  5583. --multi-thread-cutoff SizeSuffix Use multi-thread downloads for files above this size. (default 250M)
  5584. --multi-thread-streams int Max number of streams to use for multi-thread downloads. (default 4)
  5585. --no-check-certificate Do not verify the server SSL certificate. Insecure.
  5586. --no-check-dest Don't check the destination, copy regardless.
  5587. --no-gzip-encoding Don't set Accept-Encoding: gzip.
  5588. --no-traverse Don't traverse destination file system on copy.
  5589. --no-update-modtime Don't update destination mod-time if files identical.
  5590. --order-by string Instructions on how to order the transfers, eg 'size,descending'
  5591. --password-command SpaceSepList Command for supplying password for encrypted configuration.
  5592. -P, --progress Show progress during transfer.
  5593. -q, --quiet Print as little stuff as possible
  5594. --rc Enable the remote control server.
  5595. --rc-addr string IPaddress:Port or :Port to bind server to. (default "localhost:5572")
  5596. --rc-allow-origin string Set the allowed origin for CORS.
  5597. --rc-baseurl string Prefix for URLs - leave blank for root.
  5598. --rc-cert string SSL PEM key (concatenation of certificate and CA certificate)
  5599. --rc-client-ca string Client certificate authority to verify clients with
  5600. --rc-files string Path to local files to serve on the HTTP server.
  5601. --rc-htpasswd string htpasswd file - if not provided no authentication is done
  5602. --rc-job-expire-duration duration expire finished async jobs older than this value (default 1m0s)
  5603. --rc-job-expire-interval duration interval to check for expired async jobs (default 10s)
  5604. --rc-key string SSL PEM Private key
  5605. --rc-max-header-bytes int Maximum size of request header (default 4096)
  5606. --rc-no-auth Don't require auth for certain methods.
  5607. --rc-pass string Password for authentication.
  5608. --rc-realm string realm for authentication (default "rclone")
  5609. --rc-serve Enable the serving of remote objects.
  5610. --rc-server-read-timeout duration Timeout for server reading data (default 1h0m0s)
  5611. --rc-server-write-timeout duration Timeout for server writing data (default 1h0m0s)
  5612. --rc-user string User name for authentication.
  5613. --rc-web-fetch-url string URL to fetch the releases for webgui. (default "https://api.github.com/repos/rclone/rclone-webui-react/releases/latest")
  5614. --rc-web-gui Launch WebGUI on localhost
  5615. --rc-web-gui-force-update Force update to latest version of web gui
  5616. --rc-web-gui-no-open-browser Don't open the browser automatically
  5617. --rc-web-gui-update Check and update to latest version of web gui
  5618. --retries int Retry operations this many times if they fail (default 3)
  5619. --retries-sleep duration Interval between retrying operations if they fail, e.g 500ms, 60s, 5m. (0 to disable)
  5620. --size-only Skip based on size only, not mod-time or checksum
  5621. --stats duration Interval between printing stats, e.g 500ms, 60s, 5m. (0 to disable) (default 1m0s)
  5622. --stats-file-name-length int Max file name length in stats. 0 for no limit (default 45)
  5623. --stats-log-level string Log level to show --stats output DEBUG|INFO|NOTICE|ERROR (default "INFO")
  5624. --stats-one-line Make the stats fit on one line.
  5625. --stats-one-line-date Enables --stats-one-line and add current date/time prefix.
  5626. --stats-one-line-date-format string Enables --stats-one-line-date and uses custom formatted date. Enclose date string in double quotes ("). See https://golang.org/pkg/time/#Time.Format
  5627. --stats-unit string Show data rate in stats as either 'bits' or 'bytes'/s (default "bytes")
  5628. --streaming-upload-cutoff SizeSuffix Cutoff for switching to chunked upload if file size is unknown. Upload starts after reaching cutoff or when file ends. (default 100k)
  5629. --suffix string Suffix to add to changed files.
  5630. --suffix-keep-extension Preserve the extension when using --suffix.
  5631. --syslog Use Syslog for logging
  5632. --syslog-facility string Facility for syslog, eg KERN,USER,... (default "DAEMON")
  5633. --timeout duration IO idle timeout (default 5m0s)
  5634. --tpslimit float Limit HTTP transactions per second to this.
  5635. --tpslimit-burst int Max burst of transactions for --tpslimit. (default 1)
  5636. --track-renames When synchronizing, track file renames and do a server side move if possible
  5637. --transfers int Number of file transfers to run in parallel. (default 4)
  5638. -u, --update Skip files that are newer on the destination.
  5639. --use-cookies Enable session cookiejar.
  5640. --use-json-log Use json log format.
  5641. --use-mmap Use mmap allocator (see docs).
  5642. --use-server-modtime Use server modified time instead of object metadata
  5643. --user-agent string Set the user-agent to a specified string. The default is rclone/ version (default "rclone/v1.51.0")
  5644. -v, --verbose count Print lots more stuff (repeat for more)
  5645. Backend Flags
  5646. These flags are available for every command. They control the backends
  5647. and may be set in the config file.
  5648. --acd-auth-url string Auth server URL.
  5649. --acd-client-id string Amazon Application Client ID.
  5650. --acd-client-secret string Amazon Application Client Secret.
  5651. --acd-encoding MultiEncoder This sets the encoding for the backend. (default Slash,InvalidUtf8,Dot)
  5652. --acd-templink-threshold SizeSuffix Files >= this size will be downloaded via their tempLink. (default 9G)
  5653. --acd-token-url string Token server url.
  5654. --acd-upload-wait-per-gb Duration Additional time per GB to wait after a failed complete upload to see if it appears. (default 3m0s)
  5655. --alias-remote string Remote or path to alias.
  5656. --azureblob-access-tier string Access tier of blob: hot, cool or archive.
  5657. --azureblob-account string Storage Account Name (leave blank to use SAS URL or Emulator)
  5658. --azureblob-chunk-size SizeSuffix Upload chunk size (<= 100MB). (default 4M)
  5659. --azureblob-encoding MultiEncoder This sets the encoding for the backend. (default Slash,BackSlash,Del,Ctl,RightPeriod,InvalidUtf8)
  5660. --azureblob-endpoint string Endpoint for the service
  5661. --azureblob-key string Storage Account Key (leave blank to use SAS URL or Emulator)
  5662. --azureblob-list-chunk int Size of blob list. (default 5000)
  5663. --azureblob-sas-url string SAS URL for container level access only
  5664. --azureblob-upload-cutoff SizeSuffix Cutoff for switching to chunked upload (<= 256MB). (default 256M)
  5665. --azureblob-use-emulator Uses local storage emulator if provided as 'true' (leave blank if using real azure storage endpoint)
  5666. --b2-account string Account ID or Application Key ID
  5667. --b2-chunk-size SizeSuffix Upload chunk size. Must fit in memory. (default 96M)
  5668. --b2-disable-checksum Disable checksums for large (> upload cutoff) files
  5669. --b2-download-auth-duration Duration Time before the authorization token will expire in s or suffix ms|s|m|h|d. (default 1w)
  5670. --b2-download-url string Custom endpoint for downloads.
  5671. --b2-encoding MultiEncoder This sets the encoding for the backend. (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot)
  5672. --b2-endpoint string Endpoint for the service.
  5673. --b2-hard-delete Permanently delete files on remote removal, otherwise hide files.
  5674. --b2-key string Application Key
  5675. --b2-test-mode string A flag string for X-Bz-Test-Mode header for debugging.
  5676. --b2-upload-cutoff SizeSuffix Cutoff for switching to chunked upload. (default 200M)
  5677. --b2-versions Include old versions in directory listings.
  5678. --box-box-config-file string Box App config.json location
  5679. --box-box-sub-type string (default "user")
  5680. --box-client-id string Box App Client Id.
  5681. --box-client-secret string Box App Client Secret
  5682. --box-commit-retries int Max number of times to try committing a multipart file. (default 100)
  5683. --box-encoding MultiEncoder This sets the encoding for the backend. (default Slash,BackSlash,Del,Ctl,RightSpace,InvalidUtf8,Dot)
  5684. --box-upload-cutoff SizeSuffix Cutoff for switching to multipart upload (>= 50MB). (default 50M)
  5685. --cache-chunk-clean-interval Duration How often should the cache perform cleanups of the chunk storage. (default 1m0s)
  5686. --cache-chunk-no-memory Disable the in-memory cache for storing chunks during streaming.
  5687. --cache-chunk-path string Directory to cache chunk files. (default "$HOME/.cache/rclone/cache-backend")
  5688. --cache-chunk-size SizeSuffix The size of a chunk (partial file data). (default 5M)
  5689. --cache-chunk-total-size SizeSuffix The total size that the chunks can take up on the local disk. (default 10G)
  5690. --cache-db-path string Directory to store file structure metadata DB. (default "$HOME/.cache/rclone/cache-backend")
  5691. --cache-db-purge Clear all the cached data for this remote on start.
  5692. --cache-db-wait-time Duration How long to wait for the DB to be available - 0 is unlimited (default 1s)
  5693. --cache-info-age Duration How long to cache file structure information (directory listings, file size, times etc). (default 6h0m0s)
  5694. --cache-plex-insecure string Skip all certificate verifications when connecting to the Plex server
  5695. --cache-plex-password string The password of the Plex user
  5696. --cache-plex-url string The URL of the Plex server
  5697. --cache-plex-username string The username of the Plex user
  5698. --cache-read-retries int How many times to retry a read from a cache storage. (default 10)
  5699. --cache-remote string Remote to cache.
  5700. --cache-rps int Limits the number of requests per second to the source FS (-1 to disable) (default -1)
  5701. --cache-tmp-upload-path string Directory to keep temporary files until they are uploaded.
  5702. --cache-tmp-wait-time Duration How long should files be stored in local cache before being uploaded (default 15s)
  5703. --cache-workers int How many workers should run in parallel to download chunks. (default 4)
  5704. --cache-writes Cache file data on writes through the FS
  5705. --chunker-chunk-size SizeSuffix Files larger than chunk size will be split in chunks. (default 2G)
  5706. --chunker-fail-hard Choose how chunker should handle files with missing or invalid chunks.
  5707. --chunker-hash-type string Choose how chunker handles hash sums. All modes but "none" require metadata. (default "md5")
  5708. --chunker-meta-format string Format of the metadata object or "none". By default "simplejson". (default "simplejson")
  5709. --chunker-name-format string String format of chunk file names. (default "*.rclone_chunk.###")
  5710. --chunker-remote string Remote to chunk/unchunk.
  5711. --chunker-start-from int Minimum valid chunk number. Usually 0 or 1. (default 1)
  5712. -L, --copy-links Follow symlinks and copy the pointed to item.
  5713. --crypt-directory-name-encryption Option to either encrypt directory names or leave them intact. (default true)
  5714. --crypt-filename-encryption string How to encrypt the filenames. (default "standard")
  5715. --crypt-password string Password or pass phrase for encryption.
  5716. --crypt-password2 string Password or pass phrase for salt. Optional but recommended.
  5717. --crypt-remote string Remote to encrypt/decrypt.
  5718. --crypt-show-mapping For all files listed show how the names encrypt.
  5719. --drive-acknowledge-abuse Set to allow files which return cannotDownloadAbusiveFile to be downloaded.
  5720. --drive-allow-import-name-change Allow the filetype to change when uploading Google docs (e.g. file.doc to file.docx). This will confuse sync and reupload every time.
  5721. --drive-alternate-export Use alternate export URLs for google documents export.,
  5722. --drive-auth-owner-only Only consider files owned by the authenticated user.
  5723. --drive-chunk-size SizeSuffix Upload chunk size. Must a power of 2 >= 256k. (default 8M)
  5724. --drive-client-id string Google Application Client Id
  5725. --drive-client-secret string Google Application Client Secret
  5726. --drive-disable-http2 Disable drive using http2 (default true)
  5727. --drive-encoding MultiEncoder This sets the encoding for the backend. (default InvalidUtf8)
  5728. --drive-export-formats string Comma separated list of preferred formats for downloading Google docs. (default "docx,xlsx,pptx,svg")
  5729. --drive-formats string Deprecated: see export_formats
  5730. --drive-impersonate string Impersonate this user when using a service account.
  5731. --drive-import-formats string Comma separated list of preferred formats for uploading Google docs.
  5732. --drive-keep-revision-forever Keep new head revision of each file forever.
  5733. --drive-list-chunk int Size of listing chunk 100-1000. 0 to disable. (default 1000)
  5734. --drive-pacer-burst int Number of API calls to allow without sleeping. (default 100)
  5735. --drive-pacer-min-sleep Duration Minimum time to sleep between API calls. (default 100ms)
  5736. --drive-root-folder-id string ID of the root folder
  5737. --drive-scope string Scope that rclone should use when requesting access from drive.
  5738. --drive-server-side-across-configs Allow server side operations (eg copy) to work across different drive configs.
  5739. --drive-service-account-credentials string Service Account Credentials JSON blob
  5740. --drive-service-account-file string Service Account Credentials JSON file path
  5741. --drive-shared-with-me Only show files that are shared with me.
  5742. --drive-size-as-quota Show sizes as storage quota usage, not actual size.
  5743. --drive-skip-checksum-gphotos Skip MD5 checksum on Google photos and videos only.
  5744. --drive-skip-gdocs Skip google documents in all listings.
  5745. --drive-stop-on-upload-limit Make upload limit errors be fatal
  5746. --drive-team-drive string ID of the Team Drive
  5747. --drive-trashed-only Only show files that are in the trash.
  5748. --drive-upload-cutoff SizeSuffix Cutoff for switching to chunked upload (default 8M)
  5749. --drive-use-created-date Use file created date instead of modified date.,
  5750. --drive-use-shared-date Use date file was shared instead of modified date.
  5751. --drive-use-trash Send files to the trash instead of deleting permanently. (default true)
  5752. --drive-v2-download-min-size SizeSuffix If Object's are greater, use drive v2 API to download. (default off)
  5753. --dropbox-chunk-size SizeSuffix Upload chunk size. (< 150M). (default 48M)
  5754. --dropbox-client-id string Dropbox App Client Id
  5755. --dropbox-client-secret string Dropbox App Client Secret
  5756. --dropbox-encoding MultiEncoder This sets the encoding for the backend. (default Slash,BackSlash,Del,RightSpace,InvalidUtf8,Dot)
  5757. --dropbox-impersonate string Impersonate this user when using a business account.
  5758. --fichier-api-key string Your API Key, get it from https://1fichier.com/console/params.pl
  5759. --fichier-encoding MultiEncoder This sets the encoding for the backend. (default Slash,LtGt,DoubleQuote,SingleQuote,BackQuote,Dollar,BackSlash,Del,Ctl,LeftSpace,RightSpace,InvalidUtf8,Dot)
  5760. --fichier-shared-folder string If you want to download a shared folder, add this parameter
  5761. --ftp-concurrency int Maximum number of FTP simultaneous connections, 0 for unlimited
  5762. --ftp-disable-epsv Disable using EPSV even if server advertises support
  5763. --ftp-encoding MultiEncoder This sets the encoding for the backend. (default Slash,Del,Ctl,RightSpace,Dot)
  5764. --ftp-host string FTP host to connect to
  5765. --ftp-no-check-certificate Do not verify the TLS certificate of the server
  5766. --ftp-pass string FTP password
  5767. --ftp-port string FTP port, leave blank to use default (21)
  5768. --ftp-tls Use FTP over TLS (Implicit)
  5769. --ftp-user string FTP username, leave blank for current username, $USER
  5770. --gcs-bucket-acl string Access Control List for new buckets.
  5771. --gcs-bucket-policy-only Access checks should use bucket-level IAM policies.
  5772. --gcs-client-id string Google Application Client Id
  5773. --gcs-client-secret string Google Application Client Secret
  5774. --gcs-encoding MultiEncoder This sets the encoding for the backend. (default Slash,CrLf,InvalidUtf8,Dot)
  5775. --gcs-location string Location for the newly created buckets.
  5776. --gcs-object-acl string Access Control List for new objects.
  5777. --gcs-project-number string Project number.
  5778. --gcs-service-account-file string Service Account Credentials JSON file path
  5779. --gcs-storage-class string The storage class to use when storing objects in Google Cloud Storage.
  5780. --gphotos-client-id string Google Application Client Id
  5781. --gphotos-client-secret string Google Application Client Secret
  5782. --gphotos-read-only Set to make the Google Photos backend read only.
  5783. --gphotos-read-size Set to read the size of media items.
  5784. --http-headers CommaSepList Set HTTP headers for all transactions
  5785. --http-no-head Don't use HEAD requests to find file sizes in dir listing
  5786. --http-no-slash Set this if the site doesn't end directories with /
  5787. --http-url string URL of http host to connect to
  5788. --hubic-chunk-size SizeSuffix Above this size files will be chunked into a _segments container. (default 5G)
  5789. --hubic-client-id string Hubic Client Id
  5790. --hubic-client-secret string Hubic Client Secret
  5791. --hubic-encoding MultiEncoder This sets the encoding for the backend. (default Slash,InvalidUtf8)
  5792. --hubic-no-chunk Don't chunk files during streaming upload.
  5793. --jottacloud-encoding MultiEncoder This sets the encoding for the backend. (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Del,Ctl,InvalidUtf8,Dot)
  5794. --jottacloud-hard-delete Delete files permanently rather than putting them into the trash.
  5795. --jottacloud-md5-memory-limit SizeSuffix Files bigger than this will be cached on disk to calculate the MD5 if required. (default 10M)
  5796. --jottacloud-unlink Remove existing public link to file/folder with link command rather than creating.
  5797. --jottacloud-upload-resume-limit SizeSuffix Files bigger than this can be resumed if the upload fail's. (default 10M)
  5798. --koofr-encoding MultiEncoder This sets the encoding for the backend. (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot)
  5799. --koofr-endpoint string The Koofr API endpoint to use (default "https://app.koofr.net")
  5800. --koofr-mountid string Mount ID of the mount to use. If omitted, the primary mount is used.
  5801. --koofr-password string Your Koofr password for rclone (generate one at https://app.koofr.net/app/admin/preferences/password)
  5802. --koofr-setmtime Does the backend support setting modification time. Set this to false if you use a mount ID that points to a Dropbox or Amazon Drive backend. (default true)
  5803. --koofr-user string Your Koofr user name
  5804. -l, --links Translate symlinks to/from regular files with a '.rclonelink' extension
  5805. --local-case-insensitive Force the filesystem to report itself as case insensitive
  5806. --local-case-sensitive Force the filesystem to report itself as case sensitive.
  5807. --local-encoding MultiEncoder This sets the encoding for the backend. (default Slash,Dot)
  5808. --local-no-check-updated Don't check to see if the files change during upload
  5809. --local-no-unicode-normalization Don't apply unicode normalization to paths and filenames (Deprecated)
  5810. --local-nounc string Disable UNC (long path names) conversion on Windows
  5811. --mailru-check-hash What should copy do if file checksum is mismatched or invalid (default true)
  5812. --mailru-encoding MultiEncoder This sets the encoding for the backend. (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,InvalidUtf8,Dot)
  5813. --mailru-pass string Password
  5814. --mailru-speedup-enable Skip full upload if there is another file with same data hash. (default true)
  5815. --mailru-speedup-file-patterns string Comma separated list of file name patterns eligible for speedup (put by hash). (default "*.mkv,*.avi,*.mp4,*.mp3,*.zip,*.gz,*.rar,*.pdf")
  5816. --mailru-speedup-max-disk SizeSuffix This option allows you to disable speedup (put by hash) for large files (default 3G)
  5817. --mailru-speedup-max-memory SizeSuffix Files larger than the size given below will always be hashed on disk. (default 32M)
  5818. --mailru-user string User name (usually email)
  5819. --mega-debug Output more debug from Mega.
  5820. --mega-encoding MultiEncoder This sets the encoding for the backend. (default Slash,InvalidUtf8,Dot)
  5821. --mega-hard-delete Delete files permanently rather than putting them into the trash.
  5822. --mega-pass string Password.
  5823. --mega-user string User name
  5824. -x, --one-file-system Don't cross filesystem boundaries (unix/macOS only).
  5825. --onedrive-chunk-size SizeSuffix Chunk size to upload files with - must be multiple of 320k (327,680 bytes). (default 10M)
  5826. --onedrive-client-id string Microsoft App Client Id
  5827. --onedrive-client-secret string Microsoft App Client Secret
  5828. --onedrive-drive-id string The ID of the drive to use
  5829. --onedrive-drive-type string The type of the drive ( personal | business | documentLibrary )
  5830. --onedrive-encoding MultiEncoder This sets the encoding for the backend. (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Hash,Percent,BackSlash,Del,Ctl,LeftSpace,LeftTilde,RightSpace,RightPeriod,InvalidUtf8,Dot)
  5831. --onedrive-expose-onenote-files Set to make OneNote files show up in directory listings.
  5832. --opendrive-chunk-size SizeSuffix Files will be uploaded in chunks this size. (default 10M)
  5833. --opendrive-encoding MultiEncoder This sets the encoding for the backend. (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,LeftSpace,LeftCrLfHtVt,RightSpace,RightCrLfHtVt,InvalidUtf8,Dot)
  5834. --opendrive-password string Password.
  5835. --opendrive-username string Username
  5836. --pcloud-client-id string Pcloud App Client Id
  5837. --pcloud-client-secret string Pcloud App Client Secret
  5838. --pcloud-encoding MultiEncoder This sets the encoding for the backend. (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot)
  5839. --premiumizeme-encoding MultiEncoder This sets the encoding for the backend. (default Slash,DoubleQuote,BackSlash,Del,Ctl,InvalidUtf8,Dot)
  5840. --putio-encoding MultiEncoder This sets the encoding for the backend. (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot)
  5841. --qingstor-access-key-id string QingStor Access Key ID
  5842. --qingstor-chunk-size SizeSuffix Chunk size to use for uploading. (default 4M)
  5843. --qingstor-connection-retries int Number of connection retries. (default 3)
  5844. --qingstor-encoding MultiEncoder This sets the encoding for the backend. (default Slash,Ctl,InvalidUtf8)
  5845. --qingstor-endpoint string Enter a endpoint URL to connection QingStor API.
  5846. --qingstor-env-auth Get QingStor credentials from runtime. Only applies if access_key_id and secret_access_key is blank.
  5847. --qingstor-secret-access-key string QingStor Secret Access Key (password)
  5848. --qingstor-upload-concurrency int Concurrency for multipart uploads. (default 1)
  5849. --qingstor-upload-cutoff SizeSuffix Cutoff for switching to chunked upload (default 200M)
  5850. --qingstor-zone string Zone to connect to.
  5851. --s3-access-key-id string AWS Access Key ID.
  5852. --s3-acl string Canned ACL used when creating buckets and storing or copying objects.
  5853. --s3-bucket-acl string Canned ACL used when creating buckets.
  5854. --s3-chunk-size SizeSuffix Chunk size to use for uploading. (default 5M)
  5855. --s3-copy-cutoff SizeSuffix Cutoff for switching to multipart copy (default 5G)
  5856. --s3-disable-checksum Don't store MD5 checksum with object metadata
  5857. --s3-encoding MultiEncoder This sets the encoding for the backend. (default Slash,InvalidUtf8,Dot)
  5858. --s3-endpoint string Endpoint for S3 API.
  5859. --s3-env-auth Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
  5860. --s3-force-path-style If true use path style access if false use virtual hosted style. (default true)
  5861. --s3-leave-parts-on-error If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery.
  5862. --s3-list-chunk int Size of listing chunk (response list for each ListObject S3 request). (default 1000)
  5863. --s3-location-constraint string Location constraint - must be set to match the Region.
  5864. --s3-provider string Choose your S3 provider.
  5865. --s3-region string Region to connect to.
  5866. --s3-secret-access-key string AWS Secret Access Key (password)
  5867. --s3-server-side-encryption string The server-side encryption algorithm used when storing this object in S3.
  5868. --s3-session-token string An AWS session token
  5869. --s3-sse-kms-key-id string If using KMS ID you must provide the ARN of Key.
  5870. --s3-storage-class string The storage class to use when storing new objects in S3.
  5871. --s3-upload-concurrency int Concurrency for multipart uploads. (default 4)
  5872. --s3-upload-cutoff SizeSuffix Cutoff for switching to chunked upload (default 200M)
  5873. --s3-use-accelerate-endpoint If true use the AWS S3 accelerated endpoint.
  5874. --s3-v2-auth If true use v2 authentication.
  5875. --sftp-ask-password Allow asking for SFTP password when needed.
  5876. --sftp-disable-hashcheck Disable the execution of SSH commands to determine if remote file hashing is available.
  5877. --sftp-host string SSH host to connect to
  5878. --sftp-key-file string Path to PEM-encoded private key file, leave blank or set key-use-agent to use ssh-agent.
  5879. --sftp-key-file-pass string The passphrase to decrypt the PEM-encoded private key file.
  5880. --sftp-key-use-agent When set forces the usage of the ssh-agent.
  5881. --sftp-md5sum-command string The command used to read md5 hashes. Leave blank for autodetect.
  5882. --sftp-pass string SSH password, leave blank to use ssh-agent.
  5883. --sftp-path-override string Override path used by SSH connection.
  5884. --sftp-port string SSH port, leave blank to use default (22)
  5885. --sftp-set-modtime Set the modified time on the remote if set. (default true)
  5886. --sftp-sha1sum-command string The command used to read sha1 hashes. Leave blank for autodetect.
  5887. --sftp-skip-links Set to skip any symlinks and any other non regular files.
  5888. --sftp-use-insecure-cipher Enable the use of insecure ciphers and key exchange methods.
  5889. --sftp-user string SSH username, leave blank for current username, ncw
  5890. --sharefile-chunk-size SizeSuffix Upload chunk size. Must a power of 2 >= 256k. (default 64M)
  5891. --sharefile-encoding MultiEncoder This sets the encoding for the backend. (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,LeftSpace,LeftPeriod,RightSpace,RightPeriod,InvalidUtf8,Dot)
  5892. --sharefile-endpoint string Endpoint for API calls.
  5893. --sharefile-root-folder-id string ID of the root folder
  5894. --sharefile-upload-cutoff SizeSuffix Cutoff for switching to multipart upload. (default 128M)
  5895. --skip-links Don't warn about skipped symlinks.
  5896. --sugarsync-access-key-id string Sugarsync Access Key ID.
  5897. --sugarsync-app-id string Sugarsync App ID.
  5898. --sugarsync-authorization string Sugarsync authorization
  5899. --sugarsync-authorization-expiry string Sugarsync authorization expiry
  5900. --sugarsync-deleted-id string Sugarsync deleted folder id
  5901. --sugarsync-encoding MultiEncoder This sets the encoding for the backend. (default Slash,Ctl,InvalidUtf8,Dot)
  5902. --sugarsync-hard-delete Permanently delete files if true
  5903. --sugarsync-private-access-key string Sugarsync Private Access Key
  5904. --sugarsync-refresh-token string Sugarsync refresh token
  5905. --sugarsync-root-id string Sugarsync root id
  5906. --sugarsync-user string Sugarsync user
  5907. --swift-application-credential-id string Application Credential ID (OS_APPLICATION_CREDENTIAL_ID)
  5908. --swift-application-credential-name string Application Credential Name (OS_APPLICATION_CREDENTIAL_NAME)
  5909. --swift-application-credential-secret string Application Credential Secret (OS_APPLICATION_CREDENTIAL_SECRET)
  5910. --swift-auth string Authentication URL for server (OS_AUTH_URL).
  5911. --swift-auth-token string Auth Token from alternate authentication - optional (OS_AUTH_TOKEN)
  5912. --swift-auth-version int AuthVersion - optional - set to (1,2,3) if your auth URL has no version (ST_AUTH_VERSION)
  5913. --swift-chunk-size SizeSuffix Above this size files will be chunked into a _segments container. (default 5G)
  5914. --swift-domain string User domain - optional (v3 auth) (OS_USER_DOMAIN_NAME)
  5915. --swift-encoding MultiEncoder This sets the encoding for the backend. (default Slash,InvalidUtf8)
  5916. --swift-endpoint-type string Endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE) (default "public")
  5917. --swift-env-auth Get swift credentials from environment variables in standard OpenStack form.
  5918. --swift-key string API key or password (OS_PASSWORD).
  5919. --swift-no-chunk Don't chunk files during streaming upload.
  5920. --swift-region string Region name - optional (OS_REGION_NAME)
  5921. --swift-storage-policy string The storage policy to use when creating a new container
  5922. --swift-storage-url string Storage URL - optional (OS_STORAGE_URL)
  5923. --swift-tenant string Tenant name - optional for v1 auth, this or tenant_id required otherwise (OS_TENANT_NAME or OS_PROJECT_NAME)
  5924. --swift-tenant-domain string Tenant domain - optional (v3 auth) (OS_PROJECT_DOMAIN_NAME)
  5925. --swift-tenant-id string Tenant ID - optional for v1 auth, this or tenant required otherwise (OS_TENANT_ID)
  5926. --swift-user string User name to log in (OS_USERNAME).
  5927. --swift-user-id string User ID to log in - optional - most swift systems use user and leave this blank (v3 auth) (OS_USER_ID).
  5928. --union-remotes string List of space separated remotes.
  5929. --webdav-bearer-token string Bearer token instead of user/pass (eg a Macaroon)
  5930. --webdav-bearer-token-command string Command to run to get a bearer token
  5931. --webdav-pass string Password.
  5932. --webdav-url string URL of http host to connect to
  5933. --webdav-user string User name
  5934. --webdav-vendor string Name of the Webdav site/service/software you are using
  5935. --yandex-client-id string Yandex Client Id
  5936. --yandex-client-secret string Yandex Client Secret
  5937. --yandex-encoding MultiEncoder This sets the encoding for the backend. (default Slash,Del,Ctl,InvalidUtf8,Dot)
  5938. --yandex-unlink Remove existing public link to file/folder with link command rather than creating.
  5939. 1Fichier
  5940. This is a backend for the 1ficher cloud storage service. Note that a
  5941. Premium subscription is required to use the API.
  5942. Paths are specified as remote:path
  5943. Paths may be as deep as required, eg remote:directory/subdirectory.
  5944. The initial setup for 1Fichier involves getting the API key from the
  5945. website which you need to do in your browser.
  5946. Here is an example of how to make a remote called remote. First run:
  5947. rclone config
  5948. This will guide you through an interactive setup process:
  5949. No remotes found - make a new one
  5950. n) New remote
  5951. s) Set configuration password
  5952. q) Quit config
  5953. n/s/q> n
  5954. name> remote
  5955. Type of storage to configure.
  5956. Enter a string value. Press Enter for the default ("").
  5957. Choose a number from below, or type in your own value
  5958. [snip]
  5959. XX / 1Fichier
  5960. \ "fichier"
  5961. [snip]
  5962. Storage> fichier
  5963. ** See help for fichier backend at: https://rclone.org/fichier/ **
  5964. Your API Key, get it from https://1fichier.com/console/params.pl
  5965. Enter a string value. Press Enter for the default ("").
  5966. api_key> example_key
  5967. Edit advanced config? (y/n)
  5968. y) Yes
  5969. n) No
  5970. y/n>
  5971. Remote config
  5972. --------------------
  5973. [remote]
  5974. type = fichier
  5975. api_key = example_key
  5976. --------------------
  5977. y) Yes this is OK
  5978. e) Edit this remote
  5979. d) Delete this remote
  5980. y/e/d> y
  5981. Once configured you can then use rclone like this,
  5982. List directories in top level of your 1Fichier account
  5983. rclone lsd remote:
  5984. List all the files in your 1Fichier account
  5985. rclone ls remote:
  5986. To copy a local directory to a 1Fichier directory called backup
  5987. rclone copy /home/source remote:backup
  5988. Modified time and hashes
  5989. 1Fichier does not support modification times. It supports the Whirlpool
  5990. hash algorithm.
  5991. Duplicated files
  5992. 1Fichier can have two files with exactly the same name and path (unlike
  5993. a normal file system).
  5994. Duplicated files cause problems with the syncing and you will see
  5995. messages in the log about duplicates.
  5996. Restricted filename characters
  5997. In addition to the default restricted characters set the following
  5998. characters are also replaced:
  5999. Character Value Replacement
  6000. ----------- ------- -------------
  6001. \ 0x5C \
  6002. < 0x3C <
  6003. > 0x3E >
  6004. " 0x22 "
  6005. $ 0x24 $
  6006. ` 0x60 `
  6007. ’ 0x27 '
  6008. File names can also not start or end with the following characters.
  6009. These only get replaced if they are first or last character in the name:
  6010. Character Value Replacement
  6011. ----------- ------- -------------
  6012. SP 0x20 ␠
  6013. Invalid UTF-8 bytes will also be replaced, as they can’t be used in JSON
  6014. strings.
  6015. Standard Options
  6016. Here are the standard options specific to fichier (1Fichier).
  6017. –fichier-api-key
  6018. Your API Key, get it from https://1fichier.com/console/params.pl
  6019. - Config: api_key
  6020. - Env Var: RCLONE_FICHIER_API_KEY
  6021. - Type: string
  6022. - Default: ""
  6023. Advanced Options
  6024. Here are the advanced options specific to fichier (1Fichier).
  6025. –fichier-shared-folder
  6026. If you want to download a shared folder, add this parameter
  6027. - Config: shared_folder
  6028. - Env Var: RCLONE_FICHIER_SHARED_FOLDER
  6029. - Type: string
  6030. - Default: ""
  6031. –fichier-encoding
  6032. This sets the encoding for the backend.
  6033. See: the encoding section in the overview for more info.
  6034. - Config: encoding
  6035. - Env Var: RCLONE_FICHIER_ENCODING
  6036. - Type: MultiEncoder
  6037. - Default:
  6038. Slash,LtGt,DoubleQuote,SingleQuote,BackQuote,Dollar,BackSlash,Del,Ctl,LeftSpace,RightSpace,InvalidUtf8,Dot
  6039. Alias
  6040. The alias remote provides a new name for another remote.
  6041. Paths may be as deep as required or a local path, eg
  6042. remote:directory/subdirectory or /directory/subdirectory.
  6043. During the initial setup with rclone config you will specify the target
  6044. remote. The target remote can either be a local path or another remote.
  6045. Subfolders can be used in target remote. Assume a alias remote named
  6046. backup with the target mydrive:private/backup. Invoking
  6047. rclone mkdir backup:desktop is exactly the same as invoking
  6048. rclone mkdir mydrive:private/backup/desktop.
  6049. There will be no special handling of paths containing .. segments.
  6050. Invoking rclone mkdir backup:../desktop is exactly the same as invoking
  6051. rclone mkdir mydrive:private/backup/../desktop. The empty path is not
  6052. allowed as a remote. To alias the current directory use . instead.
  6053. Here is an example of how to make a alias called remote for local
  6054. folder. First run:
  6055. rclone config
  6056. This will guide you through an interactive setup process:
  6057. No remotes found - make a new one
  6058. n) New remote
  6059. s) Set configuration password
  6060. q) Quit config
  6061. n/s/q> n
  6062. name> remote
  6063. Type of storage to configure.
  6064. Choose a number from below, or type in your own value
  6065. [snip]
  6066. XX / Alias for an existing remote
  6067. \ "alias"
  6068. [snip]
  6069. Storage> alias
  6070. Remote or path to alias.
  6071. Can be "myremote:path/to/dir", "myremote:bucket", "myremote:" or "/local/path".
  6072. remote> /mnt/storage/backup
  6073. Remote config
  6074. --------------------
  6075. [remote]
  6076. remote = /mnt/storage/backup
  6077. --------------------
  6078. y) Yes this is OK
  6079. e) Edit this remote
  6080. d) Delete this remote
  6081. y/e/d> y
  6082. Current remotes:
  6083. Name Type
  6084. ==== ====
  6085. remote alias
  6086. e) Edit existing remote
  6087. n) New remote
  6088. d) Delete remote
  6089. r) Rename remote
  6090. c) Copy remote
  6091. s) Set configuration password
  6092. q) Quit config
  6093. e/n/d/r/c/s/q> q
  6094. Once configured you can then use rclone like this,
  6095. List directories in top level in /mnt/storage/backup
  6096. rclone lsd remote:
  6097. List all the files in /mnt/storage/backup
  6098. rclone ls remote:
  6099. Copy another local directory to the alias directory called source
  6100. rclone copy /home/source remote:source
  6101. Standard Options
  6102. Here are the standard options specific to alias (Alias for an existing
  6103. remote).
  6104. –alias-remote
  6105. Remote or path to alias. Can be “myremote:path/to/dir”,
  6106. “myremote:bucket”, “myremote:” or “/local/path”.
  6107. - Config: remote
  6108. - Env Var: RCLONE_ALIAS_REMOTE
  6109. - Type: string
  6110. - Default: ""
  6111. Amazon Drive
  6112. Amazon Drive, formerly known as Amazon Cloud Drive, is a cloud storage
  6113. service run by Amazon for consumers.
  6114. Status
  6115. IMPORTANT: rclone supports Amazon Drive only if you have your own set of
  6116. API keys. Unfortunately the Amazon Drive developer program is now closed
  6117. to new entries so if you don’t already have your own set of keys you
  6118. will not be able to use rclone with Amazon Drive.
  6119. For the history on why rclone no longer has a set of Amazon Drive API
  6120. keys see the forum.
  6121. If you happen to know anyone who works at Amazon then please ask them to
  6122. re-instate rclone into the Amazon Drive developer program - thanks!
  6123. Setup
  6124. The initial setup for Amazon Drive involves getting a token from Amazon
  6125. which you need to do in your browser. rclone config walks you through
  6126. it.
  6127. The configuration process for Amazon Drive may involve using an oauth
  6128. proxy. This is used to keep the Amazon credentials out of the source
  6129. code. The proxy runs in Google’s very secure App Engine environment and
  6130. doesn’t store any credentials which pass through it.
  6131. Since rclone doesn’t currently have its own Amazon Drive credentials so
  6132. you will either need to have your own client_id and client_secret with
  6133. Amazon Drive, or use a a third party ouath proxy in which case you will
  6134. need to enter client_id, client_secret, auth_url and token_url.
  6135. Note also if you are not using Amazon’s auth_url and token_url, (ie you
  6136. filled in something for those) then if setting up on a remote machine
  6137. you can only use the copying the config method of configuration -
  6138. rclone authorize will not work.
  6139. Here is an example of how to make a remote called remote. First run:
  6140. rclone config
  6141. This will guide you through an interactive setup process:
  6142. No remotes found - make a new one
  6143. n) New remote
  6144. r) Rename remote
  6145. c) Copy remote
  6146. s) Set configuration password
  6147. q) Quit config
  6148. n/r/c/s/q> n
  6149. name> remote
  6150. Type of storage to configure.
  6151. Choose a number from below, or type in your own value
  6152. [snip]
  6153. XX / Amazon Drive
  6154. \ "amazon cloud drive"
  6155. [snip]
  6156. Storage> amazon cloud drive
  6157. Amazon Application Client Id - required.
  6158. client_id> your client ID goes here
  6159. Amazon Application Client Secret - required.
  6160. client_secret> your client secret goes here
  6161. Auth server URL - leave blank to use Amazon's.
  6162. auth_url> Optional auth URL
  6163. Token server url - leave blank to use Amazon's.
  6164. token_url> Optional token URL
  6165. Remote config
  6166. Make sure your Redirect URL is set to "http://127.0.0.1:53682/" in your custom config.
  6167. Use auto config?
  6168. * Say Y if not sure
  6169. * Say N if you are working on a remote or headless machine
  6170. y) Yes
  6171. n) No
  6172. y/n> y
  6173. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  6174. Log in and authorize rclone for access
  6175. Waiting for code...
  6176. Got code
  6177. --------------------
  6178. [remote]
  6179. client_id = your client ID goes here
  6180. client_secret = your client secret goes here
  6181. auth_url = Optional auth URL
  6182. token_url = Optional token URL
  6183. token = {"access_token":"xxxxxxxxxxxxxxxxxxxxxxx","token_type":"bearer","refresh_token":"xxxxxxxxxxxxxxxxxx","expiry":"2015-09-06T16:07:39.658438471+01:00"}
  6184. --------------------
  6185. y) Yes this is OK
  6186. e) Edit this remote
  6187. d) Delete this remote
  6188. y/e/d> y
  6189. See the remote setup docs for how to set it up on a machine with no
  6190. Internet browser available.
  6191. Note that rclone runs a webserver on your local machine to collect the
  6192. token as returned from Amazon. This only runs from the moment it opens
  6193. your browser to the moment you get back the verification code. This is
  6194. on http://127.0.0.1:53682/ and this it may require you to unblock it
  6195. temporarily if you are running a host firewall.
  6196. Once configured you can then use rclone like this,
  6197. List directories in top level of your Amazon Drive
  6198. rclone lsd remote:
  6199. List all the files in your Amazon Drive
  6200. rclone ls remote:
  6201. To copy a local directory to an Amazon Drive directory called backup
  6202. rclone copy /home/source remote:backup
  6203. Modified time and MD5SUMs
  6204. Amazon Drive doesn’t allow modification times to be changed via the API
  6205. so these won’t be accurate or used for syncing.
  6206. It does store MD5SUMs so for a more accurate sync, you can use the
  6207. --checksum flag.
  6208. Restricted filename characters
  6209. Character Value Replacement
  6210. ----------- ------- -------------
  6211. NUL 0x00 ␀
  6212. / 0x2F /
  6213. Invalid UTF-8 bytes will also be replaced, as they can’t be used in JSON
  6214. strings.
  6215. Deleting files
  6216. Any files you delete with rclone will end up in the trash. Amazon don’t
  6217. provide an API to permanently delete files, nor to empty the trash, so
  6218. you will have to do that with one of Amazon’s apps or via the Amazon
  6219. Drive website. As of November 17, 2016, files are automatically deleted
  6220. by Amazon from the trash after 30 days.
  6221. Using with non .com Amazon accounts
  6222. Let’s say you usually use amazon.co.uk. When you authenticate with
  6223. rclone it will take you to an amazon.com page to log in. Your
  6224. amazon.co.uk email and password should work here just fine.
  6225. Standard Options
  6226. Here are the standard options specific to amazon cloud drive (Amazon
  6227. Drive).
  6228. –acd-client-id
  6229. Amazon Application Client ID.
  6230. - Config: client_id
  6231. - Env Var: RCLONE_ACD_CLIENT_ID
  6232. - Type: string
  6233. - Default: ""
  6234. –acd-client-secret
  6235. Amazon Application Client Secret.
  6236. - Config: client_secret
  6237. - Env Var: RCLONE_ACD_CLIENT_SECRET
  6238. - Type: string
  6239. - Default: ""
  6240. Advanced Options
  6241. Here are the advanced options specific to amazon cloud drive (Amazon
  6242. Drive).
  6243. –acd-auth-url
  6244. Auth server URL. Leave blank to use Amazon’s.
  6245. - Config: auth_url
  6246. - Env Var: RCLONE_ACD_AUTH_URL
  6247. - Type: string
  6248. - Default: ""
  6249. –acd-token-url
  6250. Token server url. leave blank to use Amazon’s.
  6251. - Config: token_url
  6252. - Env Var: RCLONE_ACD_TOKEN_URL
  6253. - Type: string
  6254. - Default: ""
  6255. –acd-checkpoint
  6256. Checkpoint for internal polling (debug).
  6257. - Config: checkpoint
  6258. - Env Var: RCLONE_ACD_CHECKPOINT
  6259. - Type: string
  6260. - Default: ""
  6261. –acd-upload-wait-per-gb
  6262. Additional time per GB to wait after a failed complete upload to see if
  6263. it appears.
  6264. Sometimes Amazon Drive gives an error when a file has been fully
  6265. uploaded but the file appears anyway after a little while. This happens
  6266. sometimes for files over 1GB in size and nearly every time for files
  6267. bigger than 10GB. This parameter controls the time rclone waits for the
  6268. file to appear.
  6269. The default value for this parameter is 3 minutes per GB, so by default
  6270. it will wait 3 minutes for every GB uploaded to see if the file appears.
  6271. You can disable this feature by setting it to 0. This may cause conflict
  6272. errors as rclone retries the failed upload but the file will most likely
  6273. appear correctly eventually.
  6274. These values were determined empirically by observing lots of uploads of
  6275. big files for a range of file sizes.
  6276. Upload with the “-v” flag to see more info about what rclone is doing in
  6277. this situation.
  6278. - Config: upload_wait_per_gb
  6279. - Env Var: RCLONE_ACD_UPLOAD_WAIT_PER_GB
  6280. - Type: Duration
  6281. - Default: 3m0s
  6282. –acd-templink-threshold
  6283. Files >= this size will be downloaded via their tempLink.
  6284. Files this size or more will be downloaded via their “tempLink”. This is
  6285. to work around a problem with Amazon Drive which blocks downloads of
  6286. files bigger than about 10GB. The default for this is 9GB which
  6287. shouldn’t need to be changed.
  6288. To download files above this threshold, rclone requests a “tempLink”
  6289. which downloads the file through a temporary URL directly from the
  6290. underlying S3 storage.
  6291. - Config: templink_threshold
  6292. - Env Var: RCLONE_ACD_TEMPLINK_THRESHOLD
  6293. - Type: SizeSuffix
  6294. - Default: 9G
  6295. –acd-encoding
  6296. This sets the encoding for the backend.
  6297. See: the encoding section in the overview for more info.
  6298. - Config: encoding
  6299. - Env Var: RCLONE_ACD_ENCODING
  6300. - Type: MultiEncoder
  6301. - Default: Slash,InvalidUtf8,Dot
  6302. Limitations
  6303. Note that Amazon Drive is case insensitive so you can’t have a file
  6304. called “Hello.doc” and one called “hello.doc”.
  6305. Amazon Drive has rate limiting so you may notice errors in the sync (429
  6306. errors). rclone will automatically retry the sync up to 3 times by
  6307. default (see --retries flag) which should hopefully work around this
  6308. problem.
  6309. Amazon Drive has an internal limit of file sizes that can be uploaded to
  6310. the service. This limit is not officially published, but all files
  6311. larger than this will fail.
  6312. At the time of writing (Jan 2016) is in the area of 50GB per file. This
  6313. means that larger files are likely to fail.
  6314. Unfortunately there is no way for rclone to see that this failure is
  6315. because of file size, so it will retry the operation, as any other
  6316. failure. To avoid this problem, use --max-size 50000M option to limit
  6317. the maximum size of uploaded files. Note that --max-size does not split
  6318. files into segments, it only ignores files over this size.
  6319. Amazon S3 Storage Providers
  6320. The S3 backend can be used with a number of different providers:
  6321. - AWS S3
  6322. - Alibaba Cloud (Aliyun) Object Storage System (OSS)
  6323. - Ceph
  6324. - DigitalOcean Spaces
  6325. - Dreamhost
  6326. - IBM COS S3
  6327. - Minio
  6328. - Scaleway
  6329. - Wasabi
  6330. Paths are specified as remote:bucket (or remote: for the lsd command.)
  6331. You may put subdirectories in too, eg remote:bucket/path/to/dir.
  6332. Once you have made a remote (see the provider specific section above)
  6333. you can use it like this:
  6334. See all buckets
  6335. rclone lsd remote:
  6336. Make a new bucket
  6337. rclone mkdir remote:bucket
  6338. List the contents of a bucket
  6339. rclone ls remote:bucket
  6340. Sync /home/local/directory to the remote bucket, deleting any excess
  6341. files in the bucket.
  6342. rclone sync /home/local/directory remote:bucket
  6343. AWS S3
  6344. Here is an example of making an s3 configuration. First run
  6345. rclone config
  6346. This will guide you through an interactive setup process.
  6347. No remotes found - make a new one
  6348. n) New remote
  6349. s) Set configuration password
  6350. q) Quit config
  6351. n/s/q> n
  6352. name> remote
  6353. Type of storage to configure.
  6354. Choose a number from below, or type in your own value
  6355. [snip]
  6356. XX / Amazon S3 Compliant Storage Providers (AWS, Ceph, Dreamhost, IBM COS, Minio)
  6357. \ "s3"
  6358. [snip]
  6359. Storage> s3
  6360. Choose your S3 provider.
  6361. Choose a number from below, or type in your own value
  6362. 1 / Amazon Web Services (AWS) S3
  6363. \ "AWS"
  6364. 2 / Ceph Object Storage
  6365. \ "Ceph"
  6366. 3 / Digital Ocean Spaces
  6367. \ "DigitalOcean"
  6368. 4 / Dreamhost DreamObjects
  6369. \ "Dreamhost"
  6370. 5 / IBM COS S3
  6371. \ "IBMCOS"
  6372. 6 / Minio Object Storage
  6373. \ "Minio"
  6374. 7 / Wasabi Object Storage
  6375. \ "Wasabi"
  6376. 8 / Any other S3 compatible provider
  6377. \ "Other"
  6378. provider> 1
  6379. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). Only applies if access_key_id and secret_access_key is blank.
  6380. Choose a number from below, or type in your own value
  6381. 1 / Enter AWS credentials in the next step
  6382. \ "false"
  6383. 2 / Get AWS credentials from the environment (env vars or IAM)
  6384. \ "true"
  6385. env_auth> 1
  6386. AWS Access Key ID - leave blank for anonymous access or runtime credentials.
  6387. access_key_id> XXX
  6388. AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
  6389. secret_access_key> YYY
  6390. Region to connect to.
  6391. Choose a number from below, or type in your own value
  6392. / The default endpoint - a good choice if you are unsure.
  6393. 1 | US Region, Northern Virginia or Pacific Northwest.
  6394. | Leave location constraint empty.
  6395. \ "us-east-1"
  6396. / US East (Ohio) Region
  6397. 2 | Needs location constraint us-east-2.
  6398. \ "us-east-2"
  6399. / US West (Oregon) Region
  6400. 3 | Needs location constraint us-west-2.
  6401. \ "us-west-2"
  6402. / US West (Northern California) Region
  6403. 4 | Needs location constraint us-west-1.
  6404. \ "us-west-1"
  6405. / Canada (Central) Region
  6406. 5 | Needs location constraint ca-central-1.
  6407. \ "ca-central-1"
  6408. / EU (Ireland) Region
  6409. 6 | Needs location constraint EU or eu-west-1.
  6410. \ "eu-west-1"
  6411. / EU (London) Region
  6412. 7 | Needs location constraint eu-west-2.
  6413. \ "eu-west-2"
  6414. / EU (Frankfurt) Region
  6415. 8 | Needs location constraint eu-central-1.
  6416. \ "eu-central-1"
  6417. / Asia Pacific (Singapore) Region
  6418. 9 | Needs location constraint ap-southeast-1.
  6419. \ "ap-southeast-1"
  6420. / Asia Pacific (Sydney) Region
  6421. 10 | Needs location constraint ap-southeast-2.
  6422. \ "ap-southeast-2"
  6423. / Asia Pacific (Tokyo) Region
  6424. 11 | Needs location constraint ap-northeast-1.
  6425. \ "ap-northeast-1"
  6426. / Asia Pacific (Seoul)
  6427. 12 | Needs location constraint ap-northeast-2.
  6428. \ "ap-northeast-2"
  6429. / Asia Pacific (Mumbai)
  6430. 13 | Needs location constraint ap-south-1.
  6431. \ "ap-south-1"
  6432. / Asia Patific (Hong Kong) Region
  6433. 14 | Needs location constraint ap-east-1.
  6434. \ "ap-east-1"
  6435. / South America (Sao Paulo) Region
  6436. 15 | Needs location constraint sa-east-1.
  6437. \ "sa-east-1"
  6438. region> 1
  6439. Endpoint for S3 API.
  6440. Leave blank if using AWS to use the default endpoint for the region.
  6441. endpoint>
  6442. Location constraint - must be set to match the Region. Used when creating buckets only.
  6443. Choose a number from below, or type in your own value
  6444. 1 / Empty for US Region, Northern Virginia or Pacific Northwest.
  6445. \ ""
  6446. 2 / US East (Ohio) Region.
  6447. \ "us-east-2"
  6448. 3 / US West (Oregon) Region.
  6449. \ "us-west-2"
  6450. 4 / US West (Northern California) Region.
  6451. \ "us-west-1"
  6452. 5 / Canada (Central) Region.
  6453. \ "ca-central-1"
  6454. 6 / EU (Ireland) Region.
  6455. \ "eu-west-1"
  6456. 7 / EU (London) Region.
  6457. \ "eu-west-2"
  6458. 8 / EU Region.
  6459. \ "EU"
  6460. 9 / Asia Pacific (Singapore) Region.
  6461. \ "ap-southeast-1"
  6462. 10 / Asia Pacific (Sydney) Region.
  6463. \ "ap-southeast-2"
  6464. 11 / Asia Pacific (Tokyo) Region.
  6465. \ "ap-northeast-1"
  6466. 12 / Asia Pacific (Seoul)
  6467. \ "ap-northeast-2"
  6468. 13 / Asia Pacific (Mumbai)
  6469. \ "ap-south-1"
  6470. 14 / Asia Pacific (Hong Kong)
  6471. \ "ap-east-1"
  6472. 15 / South America (Sao Paulo) Region.
  6473. \ "sa-east-1"
  6474. location_constraint> 1
  6475. Canned ACL used when creating buckets and/or storing objects in S3.
  6476. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  6477. Choose a number from below, or type in your own value
  6478. 1 / Owner gets FULL_CONTROL. No one else has access rights (default).
  6479. \ "private"
  6480. 2 / Owner gets FULL_CONTROL. The AllUsers group gets READ access.
  6481. \ "public-read"
  6482. / Owner gets FULL_CONTROL. The AllUsers group gets READ and WRITE access.
  6483. 3 | Granting this on a bucket is generally not recommended.
  6484. \ "public-read-write"
  6485. 4 / Owner gets FULL_CONTROL. The AuthenticatedUsers group gets READ access.
  6486. \ "authenticated-read"
  6487. / Object owner gets FULL_CONTROL. Bucket owner gets READ access.
  6488. 5 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
  6489. \ "bucket-owner-read"
  6490. / Both the object owner and the bucket owner get FULL_CONTROL over the object.
  6491. 6 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
  6492. \ "bucket-owner-full-control"
  6493. acl> 1
  6494. The server-side encryption algorithm used when storing this object in S3.
  6495. Choose a number from below, or type in your own value
  6496. 1 / None
  6497. \ ""
  6498. 2 / AES256
  6499. \ "AES256"
  6500. server_side_encryption> 1
  6501. The storage class to use when storing objects in S3.
  6502. Choose a number from below, or type in your own value
  6503. 1 / Default
  6504. \ ""
  6505. 2 / Standard storage class
  6506. \ "STANDARD"
  6507. 3 / Reduced redundancy storage class
  6508. \ "REDUCED_REDUNDANCY"
  6509. 4 / Standard Infrequent Access storage class
  6510. \ "STANDARD_IA"
  6511. 5 / One Zone Infrequent Access storage class
  6512. \ "ONEZONE_IA"
  6513. 6 / Glacier storage class
  6514. \ "GLACIER"
  6515. 7 / Glacier Deep Archive storage class
  6516. \ "DEEP_ARCHIVE"
  6517. 8 / Intelligent-Tiering storage class
  6518. \ "INTELLIGENT_TIERING"
  6519. storage_class> 1
  6520. Remote config
  6521. --------------------
  6522. [remote]
  6523. type = s3
  6524. provider = AWS
  6525. env_auth = false
  6526. access_key_id = XXX
  6527. secret_access_key = YYY
  6528. region = us-east-1
  6529. endpoint =
  6530. location_constraint =
  6531. acl = private
  6532. server_side_encryption =
  6533. storage_class =
  6534. --------------------
  6535. y) Yes this is OK
  6536. e) Edit this remote
  6537. d) Delete this remote
  6538. y/e/d>
  6539. –fast-list
  6540. This remote supports --fast-list which allows you to use fewer
  6541. transactions in exchange for more memory. See the rclone docs for more
  6542. details.
  6543. –update and –use-server-modtime
  6544. As noted below, the modified time is stored on metadata on the object.
  6545. It is used by default for all operations that require checking the time
  6546. a file was last updated. It allows rclone to treat the remote more like
  6547. a true filesystem, but it is inefficient because it requires an extra
  6548. API call to retrieve the metadata.
  6549. For many operations, the time the object was last uploaded to the remote
  6550. is sufficient to determine if it is “dirty”. By using --update along
  6551. with --use-server-modtime, you can avoid the extra API call and simply
  6552. upload files whose local modtime is newer than the time it was last
  6553. uploaded.
  6554. Modified time
  6555. The modified time is stored as metadata on the object as
  6556. X-Amz-Meta-Mtime as floating point since the epoch accurate to 1 ns.
  6557. If the modification time needs to be updated rclone will attempt to
  6558. perform a server side copy to update the modification if the object can
  6559. be copied in a single part. In the case the object is larger than 5Gb or
  6560. is in Glacier or Glacier Deep Archive storage the object will be
  6561. uploaded rather than copied.
  6562. Restricted filename characters
  6563. S3 allows any valid UTF-8 string as a key.
  6564. Invalid UTF-8 bytes will be replaced, as they can’t be used in XML.
  6565. The following characters are replaced since these are problematic when
  6566. dealing with the REST API:
  6567. Character Value Replacement
  6568. ----------- ------- -------------
  6569. NUL 0x00 ␀
  6570. / 0x2F /
  6571. The encoding will also encode these file names as they don’t seem to
  6572. work with the SDK properly:
  6573. File name Replacement
  6574. ----------- -------------
  6575. . .
  6576. .. ..
  6577. Multipart uploads
  6578. rclone supports multipart uploads with S3 which means that it can upload
  6579. files bigger than 5GB.
  6580. Note that files uploaded _both_ with multipart upload _and_ through
  6581. crypt remotes do not have MD5 sums.
  6582. rclone switches from single part uploads to multipart uploads at the
  6583. point specified by --s3-upload-cutoff. This can be a maximum of 5GB and
  6584. a minimum of 0 (ie always upload multipart files).
  6585. The chunk sizes used in the multipart upload are specified by
  6586. --s3-chunk-size and the number of chunks uploaded concurrently is
  6587. specified by --s3-upload-concurrency.
  6588. Multipart uploads will use --transfers * --s3-upload-concurrency *
  6589. --s3-chunk-size extra memory. Single part uploads to not use extra
  6590. memory.
  6591. Single part transfers can be faster than multipart transfers or slower
  6592. depending on your latency from S3 - the more latency, the more likely
  6593. single part transfers will be faster.
  6594. Increasing --s3-upload-concurrency will increase throughput (8 would be
  6595. a sensible value) and increasing --s3-chunk-size also increases
  6596. throughput (16M would be sensible). Increasing either of these will use
  6597. more memory. The default values are high enough to gain most of the
  6598. possible performance without using too much memory.
  6599. Buckets and Regions
  6600. With Amazon S3 you can list buckets (rclone lsd) using any region, but
  6601. you can only access the content of a bucket from the region it was
  6602. created in. If you attempt to access a bucket from the wrong region, you
  6603. will get an error, incorrect region, the bucket is not in 'XXX' region.
  6604. Authentication
  6605. There are a number of ways to supply rclone with a set of AWS
  6606. credentials, with and without using the environment.
  6607. The different authentication methods are tried in this order:
  6608. - Directly in the rclone configuration file (env_auth = false in the
  6609. config file):
  6610. - access_key_id and secret_access_key are required.
  6611. - session_token can be optionally set when using AWS STS.
  6612. - Runtime configuration (env_auth = true in the config file):
  6613. - Export the following environment variables before running
  6614. rclone:
  6615. - Access Key ID: AWS_ACCESS_KEY_ID or AWS_ACCESS_KEY
  6616. - Secret Access Key: AWS_SECRET_ACCESS_KEY or AWS_SECRET_KEY
  6617. - Session Token: AWS_SESSION_TOKEN (optional)
  6618. - Or, use a named profile:
  6619. - Profile files are standard files used by AWS CLI tools
  6620. - By default it will use the profile in your home directory
  6621. (eg ~/.aws/credentials on unix based systems) file and the
  6622. “default” profile, to change set these environment
  6623. variables:
  6624. - AWS_SHARED_CREDENTIALS_FILE to control which file.
  6625. - AWS_PROFILE to control which profile to use.
  6626. - Or, run rclone in an ECS task with an IAM role (AWS only).
  6627. - Or, run rclone on an EC2 instance with an IAM role (AWS only).
  6628. - Or, run rclone in an EKS pod with an IAM role that is associated
  6629. with a service account (AWS only).
  6630. If none of these option actually end up providing rclone with AWS
  6631. credentials then S3 interaction will be non-authenticated (see below).
  6632. S3 Permissions
  6633. When using the sync subcommand of rclone the following minimum
  6634. permissions are required to be available on the bucket being written to:
  6635. - ListBucket
  6636. - DeleteObject
  6637. - GetObject
  6638. - PutObject
  6639. - PutObjectACL
  6640. When using the lsd subcommand, the ListAllMyBuckets permission is
  6641. required.
  6642. Example policy:
  6643. {
  6644. "Version": "2012-10-17",
  6645. "Statement": [
  6646. {
  6647. "Effect": "Allow",
  6648. "Principal": {
  6649. "AWS": "arn:aws:iam::USER_SID:user/USER_NAME"
  6650. },
  6651. "Action": [
  6652. "s3:ListBucket",
  6653. "s3:DeleteObject",
  6654. "s3:GetObject",
  6655. "s3:PutObject",
  6656. "s3:PutObjectAcl"
  6657. ],
  6658. "Resource": [
  6659. "arn:aws:s3:::BUCKET_NAME/*",
  6660. "arn:aws:s3:::BUCKET_NAME"
  6661. ]
  6662. },
  6663. {
  6664. "Effect": "Allow",
  6665. "Action": "s3:ListAllMyBuckets",
  6666. "Resource": "arn:aws:s3:::*"
  6667. }
  6668. ]
  6669. }
  6670. Notes on above:
  6671. 1. This is a policy that can be used when creating bucket. It assumes
  6672. that USER_NAME has been created.
  6673. 2. The Resource entry must include both resource ARNs, as one implies
  6674. the bucket and the other implies the bucket’s objects.
  6675. For reference, here’s an Ansible script that will generate one or more
  6676. buckets that will work with rclone sync.
  6677. Key Management System (KMS)
  6678. If you are using server side encryption with KMS then you will find you
  6679. can’t transfer small objects. As a work-around you can use the
  6680. --ignore-checksum flag.
  6681. A proper fix is being worked on in issue #1824.
  6682. Glacier and Glacier Deep Archive
  6683. You can upload objects using the glacier storage class or transition
  6684. them to glacier using a lifecycle policy. The bucket can still be synced
  6685. or copied into normally, but if rclone tries to access data from the
  6686. glacier storage class you will see an error like below.
  6687. 2017/09/11 19:07:43 Failed to sync: failed to open source object: Object in GLACIER, restore first: path/to/file
  6688. In this case you need to restore the object(s) in question before using
  6689. rclone.
  6690. Note that rclone only speaks the S3 API it does not speak the Glacier
  6691. Vault API, so rclone cannot directly access Glacier Vaults.
  6692. Standard Options
  6693. Here are the standard options specific to s3 (Amazon S3 Compliant
  6694. Storage Provider (AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS,
  6695. Minio, etc)).
  6696. –s3-provider
  6697. Choose your S3 provider.
  6698. - Config: provider
  6699. - Env Var: RCLONE_S3_PROVIDER
  6700. - Type: string
  6701. - Default: ""
  6702. - Examples:
  6703. - “AWS”
  6704. - Amazon Web Services (AWS) S3
  6705. - “Alibaba”
  6706. - Alibaba Cloud Object Storage System (OSS) formerly Aliyun
  6707. - “Ceph”
  6708. - Ceph Object Storage
  6709. - “DigitalOcean”
  6710. - Digital Ocean Spaces
  6711. - “Dreamhost”
  6712. - Dreamhost DreamObjects
  6713. - “IBMCOS”
  6714. - IBM COS S3
  6715. - “Minio”
  6716. - Minio Object Storage
  6717. - “Netease”
  6718. - Netease Object Storage (NOS)
  6719. - “Wasabi”
  6720. - Wasabi Object Storage
  6721. - “Other”
  6722. - Any other S3 compatible provider
  6723. –s3-env-auth
  6724. Get AWS credentials from runtime (environment variables or EC2/ECS meta
  6725. data if no env vars). Only applies if access_key_id and
  6726. secret_access_key is blank.
  6727. - Config: env_auth
  6728. - Env Var: RCLONE_S3_ENV_AUTH
  6729. - Type: bool
  6730. - Default: false
  6731. - Examples:
  6732. - “false”
  6733. - Enter AWS credentials in the next step
  6734. - “true”
  6735. - Get AWS credentials from the environment (env vars or IAM)
  6736. –s3-access-key-id
  6737. AWS Access Key ID. Leave blank for anonymous access or runtime
  6738. credentials.
  6739. - Config: access_key_id
  6740. - Env Var: RCLONE_S3_ACCESS_KEY_ID
  6741. - Type: string
  6742. - Default: ""
  6743. –s3-secret-access-key
  6744. AWS Secret Access Key (password) Leave blank for anonymous access or
  6745. runtime credentials.
  6746. - Config: secret_access_key
  6747. - Env Var: RCLONE_S3_SECRET_ACCESS_KEY
  6748. - Type: string
  6749. - Default: ""
  6750. –s3-region
  6751. Region to connect to.
  6752. - Config: region
  6753. - Env Var: RCLONE_S3_REGION
  6754. - Type: string
  6755. - Default: ""
  6756. - Examples:
  6757. - “us-east-1”
  6758. - The default endpoint - a good choice if you are unsure.
  6759. - US Region, Northern Virginia or Pacific Northwest.
  6760. - Leave location constraint empty.
  6761. - “us-east-2”
  6762. - US East (Ohio) Region
  6763. - Needs location constraint us-east-2.
  6764. - “us-west-2”
  6765. - US West (Oregon) Region
  6766. - Needs location constraint us-west-2.
  6767. - “us-west-1”
  6768. - US West (Northern California) Region
  6769. - Needs location constraint us-west-1.
  6770. - “ca-central-1”
  6771. - Canada (Central) Region
  6772. - Needs location constraint ca-central-1.
  6773. - “eu-west-1”
  6774. - EU (Ireland) Region
  6775. - Needs location constraint EU or eu-west-1.
  6776. - “eu-west-2”
  6777. - EU (London) Region
  6778. - Needs location constraint eu-west-2.
  6779. - “eu-north-1”
  6780. - EU (Stockholm) Region
  6781. - Needs location constraint eu-north-1.
  6782. - “eu-central-1”
  6783. - EU (Frankfurt) Region
  6784. - Needs location constraint eu-central-1.
  6785. - “ap-southeast-1”
  6786. - Asia Pacific (Singapore) Region
  6787. - Needs location constraint ap-southeast-1.
  6788. - “ap-southeast-2”
  6789. - Asia Pacific (Sydney) Region
  6790. - Needs location constraint ap-southeast-2.
  6791. - “ap-northeast-1”
  6792. - Asia Pacific (Tokyo) Region
  6793. - Needs location constraint ap-northeast-1.
  6794. - “ap-northeast-2”
  6795. - Asia Pacific (Seoul)
  6796. - Needs location constraint ap-northeast-2.
  6797. - “ap-south-1”
  6798. - Asia Pacific (Mumbai)
  6799. - Needs location constraint ap-south-1.
  6800. - “ap-east-1”
  6801. - Asia Patific (Hong Kong) Region
  6802. - Needs location constraint ap-east-1.
  6803. - “sa-east-1”
  6804. - South America (Sao Paulo) Region
  6805. - Needs location constraint sa-east-1.
  6806. –s3-region
  6807. Region to connect to. Leave blank if you are using an S3 clone and you
  6808. don’t have a region.
  6809. - Config: region
  6810. - Env Var: RCLONE_S3_REGION
  6811. - Type: string
  6812. - Default: ""
  6813. - Examples:
  6814. - ""
  6815. - Use this if unsure. Will use v4 signatures and an empty
  6816. region.
  6817. - “other-v2-signature”
  6818. - Use this only if v4 signatures don’t work, eg pre Jewel/v10
  6819. CEPH.
  6820. –s3-endpoint
  6821. Endpoint for S3 API. Leave blank if using AWS to use the default
  6822. endpoint for the region.
  6823. - Config: endpoint
  6824. - Env Var: RCLONE_S3_ENDPOINT
  6825. - Type: string
  6826. - Default: ""
  6827. –s3-endpoint
  6828. Endpoint for IBM COS S3 API. Specify if using an IBM COS On Premise.
  6829. - Config: endpoint
  6830. - Env Var: RCLONE_S3_ENDPOINT
  6831. - Type: string
  6832. - Default: ""
  6833. - Examples:
  6834. - “s3-api.us-geo.objectstorage.softlayer.net”
  6835. - US Cross Region Endpoint
  6836. - “s3-api.dal.us-geo.objectstorage.softlayer.net”
  6837. - US Cross Region Dallas Endpoint
  6838. - “s3-api.wdc-us-geo.objectstorage.softlayer.net”
  6839. - US Cross Region Washington DC Endpoint
  6840. - “s3-api.sjc-us-geo.objectstorage.softlayer.net”
  6841. - US Cross Region San Jose Endpoint
  6842. - “s3-api.us-geo.objectstorage.service.networklayer.com”
  6843. - US Cross Region Private Endpoint
  6844. - “s3-api.dal-us-geo.objectstorage.service.networklayer.com”
  6845. - US Cross Region Dallas Private Endpoint
  6846. - “s3-api.wdc-us-geo.objectstorage.service.networklayer.com”
  6847. - US Cross Region Washington DC Private Endpoint
  6848. - “s3-api.sjc-us-geo.objectstorage.service.networklayer.com”
  6849. - US Cross Region San Jose Private Endpoint
  6850. - “s3.us-east.objectstorage.softlayer.net”
  6851. - US Region East Endpoint
  6852. - “s3.us-east.objectstorage.service.networklayer.com”
  6853. - US Region East Private Endpoint
  6854. - “s3.us-south.objectstorage.softlayer.net”
  6855. - US Region South Endpoint
  6856. - “s3.us-south.objectstorage.service.networklayer.com”
  6857. - US Region South Private Endpoint
  6858. - “s3.eu-geo.objectstorage.softlayer.net”
  6859. - EU Cross Region Endpoint
  6860. - “s3.fra-eu-geo.objectstorage.softlayer.net”
  6861. - EU Cross Region Frankfurt Endpoint
  6862. - “s3.mil-eu-geo.objectstorage.softlayer.net”
  6863. - EU Cross Region Milan Endpoint
  6864. - “s3.ams-eu-geo.objectstorage.softlayer.net”
  6865. - EU Cross Region Amsterdam Endpoint
  6866. - “s3.eu-geo.objectstorage.service.networklayer.com”
  6867. - EU Cross Region Private Endpoint
  6868. - “s3.fra-eu-geo.objectstorage.service.networklayer.com”
  6869. - EU Cross Region Frankfurt Private Endpoint
  6870. - “s3.mil-eu-geo.objectstorage.service.networklayer.com”
  6871. - EU Cross Region Milan Private Endpoint
  6872. - “s3.ams-eu-geo.objectstorage.service.networklayer.com”
  6873. - EU Cross Region Amsterdam Private Endpoint
  6874. - “s3.eu-gb.objectstorage.softlayer.net”
  6875. - Great Britain Endpoint
  6876. - “s3.eu-gb.objectstorage.service.networklayer.com”
  6877. - Great Britain Private Endpoint
  6878. - “s3.ap-geo.objectstorage.softlayer.net”
  6879. - APAC Cross Regional Endpoint
  6880. - “s3.tok-ap-geo.objectstorage.softlayer.net”
  6881. - APAC Cross Regional Tokyo Endpoint
  6882. - “s3.hkg-ap-geo.objectstorage.softlayer.net”
  6883. - APAC Cross Regional HongKong Endpoint
  6884. - “s3.seo-ap-geo.objectstorage.softlayer.net”
  6885. - APAC Cross Regional Seoul Endpoint
  6886. - “s3.ap-geo.objectstorage.service.networklayer.com”
  6887. - APAC Cross Regional Private Endpoint
  6888. - “s3.tok-ap-geo.objectstorage.service.networklayer.com”
  6889. - APAC Cross Regional Tokyo Private Endpoint
  6890. - “s3.hkg-ap-geo.objectstorage.service.networklayer.com”
  6891. - APAC Cross Regional HongKong Private Endpoint
  6892. - “s3.seo-ap-geo.objectstorage.service.networklayer.com”
  6893. - APAC Cross Regional Seoul Private Endpoint
  6894. - “s3.mel01.objectstorage.softlayer.net”
  6895. - Melbourne Single Site Endpoint
  6896. - “s3.mel01.objectstorage.service.networklayer.com”
  6897. - Melbourne Single Site Private Endpoint
  6898. - “s3.tor01.objectstorage.softlayer.net”
  6899. - Toronto Single Site Endpoint
  6900. - “s3.tor01.objectstorage.service.networklayer.com”
  6901. - Toronto Single Site Private Endpoint
  6902. –s3-endpoint
  6903. Endpoint for OSS API.
  6904. - Config: endpoint
  6905. - Env Var: RCLONE_S3_ENDPOINT
  6906. - Type: string
  6907. - Default: ""
  6908. - Examples:
  6909. - “oss-cn-hangzhou.aliyuncs.com”
  6910. - East China 1 (Hangzhou)
  6911. - “oss-cn-shanghai.aliyuncs.com”
  6912. - East China 2 (Shanghai)
  6913. - “oss-cn-qingdao.aliyuncs.com”
  6914. - North China 1 (Qingdao)
  6915. - “oss-cn-beijing.aliyuncs.com”
  6916. - North China 2 (Beijing)
  6917. - “oss-cn-zhangjiakou.aliyuncs.com”
  6918. - North China 3 (Zhangjiakou)
  6919. - “oss-cn-huhehaote.aliyuncs.com”
  6920. - North China 5 (Huhehaote)
  6921. - “oss-cn-shenzhen.aliyuncs.com”
  6922. - South China 1 (Shenzhen)
  6923. - “oss-cn-hongkong.aliyuncs.com”
  6924. - Hong Kong (Hong Kong)
  6925. - “oss-us-west-1.aliyuncs.com”
  6926. - US West 1 (Silicon Valley)
  6927. - “oss-us-east-1.aliyuncs.com”
  6928. - US East 1 (Virginia)
  6929. - “oss-ap-southeast-1.aliyuncs.com”
  6930. - Southeast Asia Southeast 1 (Singapore)
  6931. - “oss-ap-southeast-2.aliyuncs.com”
  6932. - Asia Pacific Southeast 2 (Sydney)
  6933. - “oss-ap-southeast-3.aliyuncs.com”
  6934. - Southeast Asia Southeast 3 (Kuala Lumpur)
  6935. - “oss-ap-southeast-5.aliyuncs.com”
  6936. - Asia Pacific Southeast 5 (Jakarta)
  6937. - “oss-ap-northeast-1.aliyuncs.com”
  6938. - Asia Pacific Northeast 1 (Japan)
  6939. - “oss-ap-south-1.aliyuncs.com”
  6940. - Asia Pacific South 1 (Mumbai)
  6941. - “oss-eu-central-1.aliyuncs.com”
  6942. - Central Europe 1 (Frankfurt)
  6943. - “oss-eu-west-1.aliyuncs.com”
  6944. - West Europe (London)
  6945. - “oss-me-east-1.aliyuncs.com”
  6946. - Middle East 1 (Dubai)
  6947. –s3-endpoint
  6948. Endpoint for S3 API. Required when using an S3 clone.
  6949. - Config: endpoint
  6950. - Env Var: RCLONE_S3_ENDPOINT
  6951. - Type: string
  6952. - Default: ""
  6953. - Examples:
  6954. - “objects-us-east-1.dream.io”
  6955. - Dream Objects endpoint
  6956. - “nyc3.digitaloceanspaces.com”
  6957. - Digital Ocean Spaces New York 3
  6958. - “ams3.digitaloceanspaces.com”
  6959. - Digital Ocean Spaces Amsterdam 3
  6960. - “sgp1.digitaloceanspaces.com”
  6961. - Digital Ocean Spaces Singapore 1
  6962. - “s3.wasabisys.com”
  6963. - Wasabi US East endpoint
  6964. - “s3.us-west-1.wasabisys.com”
  6965. - Wasabi US West endpoint
  6966. - “s3.eu-central-1.wasabisys.com”
  6967. - Wasabi EU Central endpoint
  6968. –s3-location-constraint
  6969. Location constraint - must be set to match the Region. Used when
  6970. creating buckets only.
  6971. - Config: location_constraint
  6972. - Env Var: RCLONE_S3_LOCATION_CONSTRAINT
  6973. - Type: string
  6974. - Default: ""
  6975. - Examples:
  6976. - ""
  6977. - Empty for US Region, Northern Virginia or Pacific Northwest.
  6978. - “us-east-2”
  6979. - US East (Ohio) Region.
  6980. - “us-west-2”
  6981. - US West (Oregon) Region.
  6982. - “us-west-1”
  6983. - US West (Northern California) Region.
  6984. - “ca-central-1”
  6985. - Canada (Central) Region.
  6986. - “eu-west-1”
  6987. - EU (Ireland) Region.
  6988. - “eu-west-2”
  6989. - EU (London) Region.
  6990. - “eu-north-1”
  6991. - EU (Stockholm) Region.
  6992. - “EU”
  6993. - EU Region.
  6994. - “ap-southeast-1”
  6995. - Asia Pacific (Singapore) Region.
  6996. - “ap-southeast-2”
  6997. - Asia Pacific (Sydney) Region.
  6998. - “ap-northeast-1”
  6999. - Asia Pacific (Tokyo) Region.
  7000. - “ap-northeast-2”
  7001. - Asia Pacific (Seoul)
  7002. - “ap-south-1”
  7003. - Asia Pacific (Mumbai)
  7004. - “ap-east-1”
  7005. - Asia Pacific (Hong Kong)
  7006. - “sa-east-1”
  7007. - South America (Sao Paulo) Region.
  7008. –s3-location-constraint
  7009. Location constraint - must match endpoint when using IBM Cloud Public.
  7010. For on-prem COS, do not make a selection from this list, hit enter
  7011. - Config: location_constraint
  7012. - Env Var: RCLONE_S3_LOCATION_CONSTRAINT
  7013. - Type: string
  7014. - Default: ""
  7015. - Examples:
  7016. - “us-standard”
  7017. - US Cross Region Standard
  7018. - “us-vault”
  7019. - US Cross Region Vault
  7020. - “us-cold”
  7021. - US Cross Region Cold
  7022. - “us-flex”
  7023. - US Cross Region Flex
  7024. - “us-east-standard”
  7025. - US East Region Standard
  7026. - “us-east-vault”
  7027. - US East Region Vault
  7028. - “us-east-cold”
  7029. - US East Region Cold
  7030. - “us-east-flex”
  7031. - US East Region Flex
  7032. - “us-south-standard”
  7033. - US South Region Standard
  7034. - “us-south-vault”
  7035. - US South Region Vault
  7036. - “us-south-cold”
  7037. - US South Region Cold
  7038. - “us-south-flex”
  7039. - US South Region Flex
  7040. - “eu-standard”
  7041. - EU Cross Region Standard
  7042. - “eu-vault”
  7043. - EU Cross Region Vault
  7044. - “eu-cold”
  7045. - EU Cross Region Cold
  7046. - “eu-flex”
  7047. - EU Cross Region Flex
  7048. - “eu-gb-standard”
  7049. - Great Britain Standard
  7050. - “eu-gb-vault”
  7051. - Great Britain Vault
  7052. - “eu-gb-cold”
  7053. - Great Britain Cold
  7054. - “eu-gb-flex”
  7055. - Great Britain Flex
  7056. - “ap-standard”
  7057. - APAC Standard
  7058. - “ap-vault”
  7059. - APAC Vault
  7060. - “ap-cold”
  7061. - APAC Cold
  7062. - “ap-flex”
  7063. - APAC Flex
  7064. - “mel01-standard”
  7065. - Melbourne Standard
  7066. - “mel01-vault”
  7067. - Melbourne Vault
  7068. - “mel01-cold”
  7069. - Melbourne Cold
  7070. - “mel01-flex”
  7071. - Melbourne Flex
  7072. - “tor01-standard”
  7073. - Toronto Standard
  7074. - “tor01-vault”
  7075. - Toronto Vault
  7076. - “tor01-cold”
  7077. - Toronto Cold
  7078. - “tor01-flex”
  7079. - Toronto Flex
  7080. –s3-location-constraint
  7081. Location constraint - must be set to match the Region. Leave blank if
  7082. not sure. Used when creating buckets only.
  7083. - Config: location_constraint
  7084. - Env Var: RCLONE_S3_LOCATION_CONSTRAINT
  7085. - Type: string
  7086. - Default: ""
  7087. –s3-acl
  7088. Canned ACL used when creating buckets and storing or copying objects.
  7089. This ACL is used for creating objects and if bucket_acl isn’t set, for
  7090. creating buckets too.
  7091. For more info visit
  7092. https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  7093. Note that this ACL is applied when server side copying objects as S3
  7094. doesn’t copy the ACL from the source but rather writes a fresh one.
  7095. - Config: acl
  7096. - Env Var: RCLONE_S3_ACL
  7097. - Type: string
  7098. - Default: ""
  7099. - Examples:
  7100. - “private”
  7101. - Owner gets FULL_CONTROL. No one else has access rights
  7102. (default).
  7103. - “public-read”
  7104. - Owner gets FULL_CONTROL. The AllUsers group gets READ
  7105. access.
  7106. - “public-read-write”
  7107. - Owner gets FULL_CONTROL. The AllUsers group gets READ and
  7108. WRITE access.
  7109. - Granting this on a bucket is generally not recommended.
  7110. - “authenticated-read”
  7111. - Owner gets FULL_CONTROL. The AuthenticatedUsers group gets
  7112. READ access.
  7113. - “bucket-owner-read”
  7114. - Object owner gets FULL_CONTROL. Bucket owner gets READ
  7115. access.
  7116. - If you specify this canned ACL when creating a bucket,
  7117. Amazon S3 ignores it.
  7118. - “bucket-owner-full-control”
  7119. - Both the object owner and the bucket owner get FULL_CONTROL
  7120. over the object.
  7121. - If you specify this canned ACL when creating a bucket,
  7122. Amazon S3 ignores it.
  7123. - “private”
  7124. - Owner gets FULL_CONTROL. No one else has access rights
  7125. (default). This acl is available on IBM Cloud (Infra), IBM
  7126. Cloud (Storage), On-Premise COS
  7127. - “public-read”
  7128. - Owner gets FULL_CONTROL. The AllUsers group gets READ
  7129. access. This acl is available on IBM Cloud (Infra), IBM
  7130. Cloud (Storage), On-Premise IBM COS
  7131. - “public-read-write”
  7132. - Owner gets FULL_CONTROL. The AllUsers group gets READ and
  7133. WRITE access. This acl is available on IBM Cloud (Infra),
  7134. On-Premise IBM COS
  7135. - “authenticated-read”
  7136. - Owner gets FULL_CONTROL. The AuthenticatedUsers group gets
  7137. READ access. Not supported on Buckets. This acl is available
  7138. on IBM Cloud (Infra) and On-Premise IBM COS
  7139. –s3-server-side-encryption
  7140. The server-side encryption algorithm used when storing this object in
  7141. S3.
  7142. - Config: server_side_encryption
  7143. - Env Var: RCLONE_S3_SERVER_SIDE_ENCRYPTION
  7144. - Type: string
  7145. - Default: ""
  7146. - Examples:
  7147. - ""
  7148. - None
  7149. - “AES256”
  7150. - AES256
  7151. - “aws:kms”
  7152. - aws:kms
  7153. –s3-sse-kms-key-id
  7154. If using KMS ID you must provide the ARN of Key.
  7155. - Config: sse_kms_key_id
  7156. - Env Var: RCLONE_S3_SSE_KMS_KEY_ID
  7157. - Type: string
  7158. - Default: ""
  7159. - Examples:
  7160. - ""
  7161. - None
  7162. - "arn:aws:kms:us-east-1:*"
  7163. - arn:aws:kms:*
  7164. –s3-storage-class
  7165. The storage class to use when storing new objects in S3.
  7166. - Config: storage_class
  7167. - Env Var: RCLONE_S3_STORAGE_CLASS
  7168. - Type: string
  7169. - Default: ""
  7170. - Examples:
  7171. - ""
  7172. - Default
  7173. - “STANDARD”
  7174. - Standard storage class
  7175. - “REDUCED_REDUNDANCY”
  7176. - Reduced redundancy storage class
  7177. - “STANDARD_IA”
  7178. - Standard Infrequent Access storage class
  7179. - “ONEZONE_IA”
  7180. - One Zone Infrequent Access storage class
  7181. - “GLACIER”
  7182. - Glacier storage class
  7183. - “DEEP_ARCHIVE”
  7184. - Glacier Deep Archive storage class
  7185. - “INTELLIGENT_TIERING”
  7186. - Intelligent-Tiering storage class
  7187. –s3-storage-class
  7188. The storage class to use when storing new objects in OSS.
  7189. - Config: storage_class
  7190. - Env Var: RCLONE_S3_STORAGE_CLASS
  7191. - Type: string
  7192. - Default: ""
  7193. - Examples:
  7194. - ""
  7195. - Default
  7196. - “STANDARD”
  7197. - Standard storage class
  7198. - “GLACIER”
  7199. - Archive storage mode.
  7200. - “STANDARD_IA”
  7201. - Infrequent access storage mode.
  7202. Advanced Options
  7203. Here are the advanced options specific to s3 (Amazon S3 Compliant
  7204. Storage Provider (AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS,
  7205. Minio, etc)).
  7206. –s3-bucket-acl
  7207. Canned ACL used when creating buckets.
  7208. For more info visit
  7209. https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  7210. Note that this ACL is applied when only when creating buckets. If it
  7211. isn’t set then “acl” is used instead.
  7212. - Config: bucket_acl
  7213. - Env Var: RCLONE_S3_BUCKET_ACL
  7214. - Type: string
  7215. - Default: ""
  7216. - Examples:
  7217. - “private”
  7218. - Owner gets FULL_CONTROL. No one else has access rights
  7219. (default).
  7220. - “public-read”
  7221. - Owner gets FULL_CONTROL. The AllUsers group gets READ
  7222. access.
  7223. - “public-read-write”
  7224. - Owner gets FULL_CONTROL. The AllUsers group gets READ and
  7225. WRITE access.
  7226. - Granting this on a bucket is generally not recommended.
  7227. - “authenticated-read”
  7228. - Owner gets FULL_CONTROL. The AuthenticatedUsers group gets
  7229. READ access.
  7230. –s3-upload-cutoff
  7231. Cutoff for switching to chunked upload
  7232. Any files larger than this will be uploaded in chunks of chunk_size. The
  7233. minimum is 0 and the maximum is 5GB.
  7234. - Config: upload_cutoff
  7235. - Env Var: RCLONE_S3_UPLOAD_CUTOFF
  7236. - Type: SizeSuffix
  7237. - Default: 200M
  7238. –s3-chunk-size
  7239. Chunk size to use for uploading.
  7240. When uploading files larger than upload_cutoff or files with unknown
  7241. size (eg from “rclone rcat” or uploaded with “rclone mount” or google
  7242. photos or google docs) they will be uploaded as multipart uploads using
  7243. this chunk size.
  7244. Note that “–s3-upload-concurrency” chunks of this size are buffered in
  7245. memory per transfer.
  7246. If you are transferring large files over high speed links and you have
  7247. enough memory, then increasing this will speed up the transfers.
  7248. Rclone will automatically increase the chunk size when uploading a large
  7249. file of known size to stay below the 10,000 chunks limit.
  7250. Files of unknown size are uploaded with the configured chunk_size. Since
  7251. the default chunk size is 5MB and there can be at most 10,000 chunks,
  7252. this means that by default the maximum size of file you can stream
  7253. upload is 48GB. If you wish to stream upload larger files then you will
  7254. need to increase chunk_size.
  7255. - Config: chunk_size
  7256. - Env Var: RCLONE_S3_CHUNK_SIZE
  7257. - Type: SizeSuffix
  7258. - Default: 5M
  7259. –s3-copy-cutoff
  7260. Cutoff for switching to multipart copy
  7261. Any files larger than this that need to be server side copied will be
  7262. copied in chunks of this size.
  7263. The minimum is 0 and the maximum is 5GB.
  7264. - Config: copy_cutoff
  7265. - Env Var: RCLONE_S3_COPY_CUTOFF
  7266. - Type: SizeSuffix
  7267. - Default: 5G
  7268. –s3-disable-checksum
  7269. Don’t store MD5 checksum with object metadata
  7270. - Config: disable_checksum
  7271. - Env Var: RCLONE_S3_DISABLE_CHECKSUM
  7272. - Type: bool
  7273. - Default: false
  7274. –s3-session-token
  7275. An AWS session token
  7276. - Config: session_token
  7277. - Env Var: RCLONE_S3_SESSION_TOKEN
  7278. - Type: string
  7279. - Default: ""
  7280. –s3-upload-concurrency
  7281. Concurrency for multipart uploads.
  7282. This is the number of chunks of the same file that are uploaded
  7283. concurrently.
  7284. If you are uploading small numbers of large file over high speed link
  7285. and these uploads do not fully utilize your bandwidth, then increasing
  7286. this may help to speed up the transfers.
  7287. - Config: upload_concurrency
  7288. - Env Var: RCLONE_S3_UPLOAD_CONCURRENCY
  7289. - Type: int
  7290. - Default: 4
  7291. –s3-force-path-style
  7292. If true use path style access if false use virtual hosted style.
  7293. If this is true (the default) then rclone will use path style access, if
  7294. false then rclone will use virtual path style. See the AWS S3 docs for
  7295. more info.
  7296. Some providers (eg AWS, Aliyun OSS or Netease COS) require this set to
  7297. false - rclone will do this automatically based on the provider setting.
  7298. - Config: force_path_style
  7299. - Env Var: RCLONE_S3_FORCE_PATH_STYLE
  7300. - Type: bool
  7301. - Default: true
  7302. –s3-v2-auth
  7303. If true use v2 authentication.
  7304. If this is false (the default) then rclone will use v4 authentication.
  7305. If it is set then rclone will use v2 authentication.
  7306. Use this only if v4 signatures don’t work, eg pre Jewel/v10 CEPH.
  7307. - Config: v2_auth
  7308. - Env Var: RCLONE_S3_V2_AUTH
  7309. - Type: bool
  7310. - Default: false
  7311. –s3-use-accelerate-endpoint
  7312. If true use the AWS S3 accelerated endpoint.
  7313. See: AWS S3 Transfer acceleration
  7314. - Config: use_accelerate_endpoint
  7315. - Env Var: RCLONE_S3_USE_ACCELERATE_ENDPOINT
  7316. - Type: bool
  7317. - Default: false
  7318. –s3-leave-parts-on-error
  7319. If true avoid calling abort upload on a failure, leaving all
  7320. successfully uploaded parts on S3 for manual recovery.
  7321. It should be set to true for resuming uploads across different sessions.
  7322. WARNING: Storing parts of an incomplete multipart upload counts towards
  7323. space usage on S3 and will add additional costs if not cleaned up.
  7324. - Config: leave_parts_on_error
  7325. - Env Var: RCLONE_S3_LEAVE_PARTS_ON_ERROR
  7326. - Type: bool
  7327. - Default: false
  7328. –s3-list-chunk
  7329. Size of listing chunk (response list for each ListObject S3 request).
  7330. This option is also known as “MaxKeys”, “max-items”, or “page-size” from
  7331. the AWS S3 specification. Most services truncate the response list to
  7332. 1000 objects even if requested more than that. In AWS S3 this is a
  7333. global maximum and cannot be changed, see AWS S3. In Ceph, this can be
  7334. increased with the “rgw list buckets max chunk” option.
  7335. - Config: list_chunk
  7336. - Env Var: RCLONE_S3_LIST_CHUNK
  7337. - Type: int
  7338. - Default: 1000
  7339. –s3-encoding
  7340. This sets the encoding for the backend.
  7341. See: the encoding section in the overview for more info.
  7342. - Config: encoding
  7343. - Env Var: RCLONE_S3_ENCODING
  7344. - Type: MultiEncoder
  7345. - Default: Slash,InvalidUtf8,Dot
  7346. Anonymous access to public buckets
  7347. If you want to use rclone to access a public bucket, configure with a
  7348. blank access_key_id and secret_access_key. Your config should end up
  7349. looking like this:
  7350. [anons3]
  7351. type = s3
  7352. provider = AWS
  7353. env_auth = false
  7354. access_key_id =
  7355. secret_access_key =
  7356. region = us-east-1
  7357. endpoint =
  7358. location_constraint =
  7359. acl = private
  7360. server_side_encryption =
  7361. storage_class =
  7362. Then use it as normal with the name of the public bucket, eg
  7363. rclone lsd anons3:1000genomes
  7364. You will be able to list and copy data but not upload it.
  7365. Ceph
  7366. Ceph is an open source unified, distributed storage system designed for
  7367. excellent performance, reliability and scalability. It has an S3
  7368. compatible object storage interface.
  7369. To use rclone with Ceph, configure as above but leave the region blank
  7370. and set the endpoint. You should end up with something like this in your
  7371. config:
  7372. [ceph]
  7373. type = s3
  7374. provider = Ceph
  7375. env_auth = false
  7376. access_key_id = XXX
  7377. secret_access_key = YYY
  7378. region =
  7379. endpoint = https://ceph.endpoint.example.com
  7380. location_constraint =
  7381. acl =
  7382. server_side_encryption =
  7383. storage_class =
  7384. If you are using an older version of CEPH, eg 10.2.x Jewel, then you may
  7385. need to supply the parameter --s3-upload-cutoff 0 or put this in the
  7386. config file as upload_cutoff 0 to work around a bug which causes
  7387. uploading of small files to fail.
  7388. Note also that Ceph sometimes puts / in the passwords it gives users. If
  7389. you read the secret access key using the command line tools you will get
  7390. a JSON blob with the / escaped as \/. Make sure you only write / in the
  7391. secret access key.
  7392. Eg the dump from Ceph looks something like this (irrelevant keys
  7393. removed).
  7394. {
  7395. "user_id": "xxx",
  7396. "display_name": "xxxx",
  7397. "keys": [
  7398. {
  7399. "user": "xxx",
  7400. "access_key": "xxxxxx",
  7401. "secret_key": "xxxxxx\/xxxx"
  7402. }
  7403. ],
  7404. }
  7405. Because this is a json dump, it is encoding the / as \/, so if you use
  7406. the secret key as xxxxxx/xxxx it will work fine.
  7407. Dreamhost
  7408. Dreamhost DreamObjects is an object storage system based on CEPH.
  7409. To use rclone with Dreamhost, configure as above but leave the region
  7410. blank and set the endpoint. You should end up with something like this
  7411. in your config:
  7412. [dreamobjects]
  7413. type = s3
  7414. provider = DreamHost
  7415. env_auth = false
  7416. access_key_id = your_access_key
  7417. secret_access_key = your_secret_key
  7418. region =
  7419. endpoint = objects-us-west-1.dream.io
  7420. location_constraint =
  7421. acl = private
  7422. server_side_encryption =
  7423. storage_class =
  7424. DigitalOcean Spaces
  7425. Spaces is an S3-interoperable object storage service from cloud provider
  7426. DigitalOcean.
  7427. To connect to DigitalOcean Spaces you will need an access key and secret
  7428. key. These can be retrieved on the “Applications & API” page of the
  7429. DigitalOcean control panel. They will be needed when promted by
  7430. rclone config for your access_key_id and secret_access_key.
  7431. When prompted for a region or location_constraint, press enter to use
  7432. the default value. The region must be included in the endpoint setting
  7433. (e.g. nyc3.digitaloceanspaces.com). The default values can be used for
  7434. other settings.
  7435. Going through the whole process of creating a new remote by running
  7436. rclone config, each prompt should be answered as shown below:
  7437. Storage> s3
  7438. env_auth> 1
  7439. access_key_id> YOUR_ACCESS_KEY
  7440. secret_access_key> YOUR_SECRET_KEY
  7441. region>
  7442. endpoint> nyc3.digitaloceanspaces.com
  7443. location_constraint>
  7444. acl>
  7445. storage_class>
  7446. The resulting configuration file should look like:
  7447. [spaces]
  7448. type = s3
  7449. provider = DigitalOcean
  7450. env_auth = false
  7451. access_key_id = YOUR_ACCESS_KEY
  7452. secret_access_key = YOUR_SECRET_KEY
  7453. region =
  7454. endpoint = nyc3.digitaloceanspaces.com
  7455. location_constraint =
  7456. acl =
  7457. server_side_encryption =
  7458. storage_class =
  7459. Once configured, you can create a new Space and begin copying files. For
  7460. example:
  7461. rclone mkdir spaces:my-new-space
  7462. rclone copy /path/to/files spaces:my-new-space
  7463. IBM COS (S3)
  7464. Information stored with IBM Cloud Object Storage is encrypted and
  7465. dispersed across multiple geographic locations, and accessed through an
  7466. implementation of the S3 API. This service makes use of the distributed
  7467. storage technologies provided by IBM’s Cloud Object Storage System
  7468. (formerly Cleversafe). For more information visit:
  7469. (http://www.ibm.com/cloud/object-storage)
  7470. To configure access to IBM COS S3, follow the steps below:
  7471. 1. Run rclone config and select n for a new remote.
  7472. 2018/02/14 14:13:11 NOTICE: Config file "C:\\Users\\a\\.config\\rclone\\rclone.conf" not found - using defaults
  7473. No remotes found - make a new one
  7474. n) New remote
  7475. s) Set configuration password
  7476. q) Quit config
  7477. n/s/q> n
  7478. 2. Enter the name for the configuration
  7479. name> <YOUR NAME>
  7480. 3. Select “s3” storage.
  7481. Choose a number from below, or type in your own value
  7482. 1 / Alias for an existing remote
  7483. \ "alias"
  7484. 2 / Amazon Drive
  7485. \ "amazon cloud drive"
  7486. 3 / Amazon S3 Complaint Storage Providers (Dreamhost, Ceph, Minio, IBM COS)
  7487. \ "s3"
  7488. 4 / Backblaze B2
  7489. \ "b2"
  7490. [snip]
  7491. 23 / http Connection
  7492. \ "http"
  7493. Storage> 3
  7494. 4. Select IBM COS as the S3 Storage Provider.
  7495. Choose the S3 provider.
  7496. Choose a number from below, or type in your own value
  7497. 1 / Choose this option to configure Storage to AWS S3
  7498. \ "AWS"
  7499. 2 / Choose this option to configure Storage to Ceph Systems
  7500. \ "Ceph"
  7501. 3 / Choose this option to configure Storage to Dreamhost
  7502. \ "Dreamhost"
  7503. 4 / Choose this option to the configure Storage to IBM COS S3
  7504. \ "IBMCOS"
  7505. 5 / Choose this option to the configure Storage to Minio
  7506. \ "Minio"
  7507. Provider>4
  7508. 5. Enter the Access Key and Secret.
  7509. AWS Access Key ID - leave blank for anonymous access or runtime credentials.
  7510. access_key_id> <>
  7511. AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
  7512. secret_access_key> <>
  7513. 6. Specify the endpoint for IBM COS. For Public IBM COS, choose from
  7514. the option below. For On Premise IBM COS, enter an enpoint address.
  7515. Endpoint for IBM COS S3 API.
  7516. Specify if using an IBM COS On Premise.
  7517. Choose a number from below, or type in your own value
  7518. 1 / US Cross Region Endpoint
  7519. \ "s3-api.us-geo.objectstorage.softlayer.net"
  7520. 2 / US Cross Region Dallas Endpoint
  7521. \ "s3-api.dal.us-geo.objectstorage.softlayer.net"
  7522. 3 / US Cross Region Washington DC Endpoint
  7523. \ "s3-api.wdc-us-geo.objectstorage.softlayer.net"
  7524. 4 / US Cross Region San Jose Endpoint
  7525. \ "s3-api.sjc-us-geo.objectstorage.softlayer.net"
  7526. 5 / US Cross Region Private Endpoint
  7527. \ "s3-api.us-geo.objectstorage.service.networklayer.com"
  7528. 6 / US Cross Region Dallas Private Endpoint
  7529. \ "s3-api.dal-us-geo.objectstorage.service.networklayer.com"
  7530. 7 / US Cross Region Washington DC Private Endpoint
  7531. \ "s3-api.wdc-us-geo.objectstorage.service.networklayer.com"
  7532. 8 / US Cross Region San Jose Private Endpoint
  7533. \ "s3-api.sjc-us-geo.objectstorage.service.networklayer.com"
  7534. 9 / US Region East Endpoint
  7535. \ "s3.us-east.objectstorage.softlayer.net"
  7536. 10 / US Region East Private Endpoint
  7537. \ "s3.us-east.objectstorage.service.networklayer.com"
  7538. 11 / US Region South Endpoint
  7539. [snip]
  7540. 34 / Toronto Single Site Private Endpoint
  7541. \ "s3.tor01.objectstorage.service.networklayer.com"
  7542. endpoint>1
  7543. 7. Specify a IBM COS Location Constraint. The location constraint must
  7544. match endpoint when using IBM Cloud Public. For on-prem COS, do not
  7545. make a selection from this list, hit enter
  7546. 1 / US Cross Region Standard
  7547. \ "us-standard"
  7548. 2 / US Cross Region Vault
  7549. \ "us-vault"
  7550. 3 / US Cross Region Cold
  7551. \ "us-cold"
  7552. 4 / US Cross Region Flex
  7553. \ "us-flex"
  7554. 5 / US East Region Standard
  7555. \ "us-east-standard"
  7556. 6 / US East Region Vault
  7557. \ "us-east-vault"
  7558. 7 / US East Region Cold
  7559. \ "us-east-cold"
  7560. 8 / US East Region Flex
  7561. \ "us-east-flex"
  7562. 9 / US South Region Standard
  7563. \ "us-south-standard"
  7564. 10 / US South Region Vault
  7565. \ "us-south-vault"
  7566. [snip]
  7567. 32 / Toronto Flex
  7568. \ "tor01-flex"
  7569. location_constraint>1
  7570. 9. Specify a canned ACL. IBM Cloud (Strorage) supports “public-read”
  7571. and “private”. IBM Cloud(Infra) supports all the canned ACLs.
  7572. On-Premise COS supports all the canned ACLs.
  7573. Canned ACL used when creating buckets and/or storing objects in S3.
  7574. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  7575. Choose a number from below, or type in your own value
  7576. 1 / Owner gets FULL_CONTROL. No one else has access rights (default). This acl is available on IBM Cloud (Infra), IBM Cloud (Storage), On-Premise COS
  7577. \ "private"
  7578. 2 / Owner gets FULL_CONTROL. The AllUsers group gets READ access. This acl is available on IBM Cloud (Infra), IBM Cloud (Storage), On-Premise IBM COS
  7579. \ "public-read"
  7580. 3 / Owner gets FULL_CONTROL. The AllUsers group gets READ and WRITE access. This acl is available on IBM Cloud (Infra), On-Premise IBM COS
  7581. \ "public-read-write"
  7582. 4 / Owner gets FULL_CONTROL. The AuthenticatedUsers group gets READ access. Not supported on Buckets. This acl is available on IBM Cloud (Infra) and On-Premise IBM COS
  7583. \ "authenticated-read"
  7584. acl> 1
  7585. 12. Review the displayed configuration and accept to save the “remote”
  7586. then quit. The config file should look like this
  7587. [xxx]
  7588. type = s3
  7589. Provider = IBMCOS
  7590. access_key_id = xxx
  7591. secret_access_key = yyy
  7592. endpoint = s3-api.us-geo.objectstorage.softlayer.net
  7593. location_constraint = us-standard
  7594. acl = private
  7595. 13. Execute rclone commands
  7596. 1) Create a bucket.
  7597. rclone mkdir IBM-COS-XREGION:newbucket
  7598. 2) List available buckets.
  7599. rclone lsd IBM-COS-XREGION:
  7600. -1 2017-11-08 21:16:22 -1 test
  7601. -1 2018-02-14 20:16:39 -1 newbucket
  7602. 3) List contents of a bucket.
  7603. rclone ls IBM-COS-XREGION:newbucket
  7604. 18685952 test.exe
  7605. 4) Copy a file from local to remote.
  7606. rclone copy /Users/file.txt IBM-COS-XREGION:newbucket
  7607. 5) Copy a file from remote to local.
  7608. rclone copy IBM-COS-XREGION:newbucket/file.txt .
  7609. 6) Delete a file on remote.
  7610. rclone delete IBM-COS-XREGION:newbucket/file.txt
  7611. Minio
  7612. Minio is an object storage server built for cloud application developers
  7613. and devops.
  7614. It is very easy to install and provides an S3 compatible server which
  7615. can be used by rclone.
  7616. To use it, install Minio following the instructions here.
  7617. When it configures itself Minio will print something like this
  7618. Endpoint: http://192.168.1.106:9000 http://172.23.0.1:9000
  7619. AccessKey: USWUXHGYZQYFYFFIT3RE
  7620. SecretKey: MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
  7621. Region: us-east-1
  7622. SQS ARNs: arn:minio:sqs:us-east-1:1:redis arn:minio:sqs:us-east-1:2:redis
  7623. Browser Access:
  7624. http://192.168.1.106:9000 http://172.23.0.1:9000
  7625. Command-line Access: https://docs.minio.io/docs/minio-client-quickstart-guide
  7626. $ mc config host add myminio http://192.168.1.106:9000 USWUXHGYZQYFYFFIT3RE MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
  7627. Object API (Amazon S3 compatible):
  7628. Go: https://docs.minio.io/docs/golang-client-quickstart-guide
  7629. Java: https://docs.minio.io/docs/java-client-quickstart-guide
  7630. Python: https://docs.minio.io/docs/python-client-quickstart-guide
  7631. JavaScript: https://docs.minio.io/docs/javascript-client-quickstart-guide
  7632. .NET: https://docs.minio.io/docs/dotnet-client-quickstart-guide
  7633. Drive Capacity: 26 GiB Free, 165 GiB Total
  7634. These details need to go into rclone config like this. Note that it is
  7635. important to put the region in as stated above.
  7636. env_auth> 1
  7637. access_key_id> USWUXHGYZQYFYFFIT3RE
  7638. secret_access_key> MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
  7639. region> us-east-1
  7640. endpoint> http://192.168.1.106:9000
  7641. location_constraint>
  7642. server_side_encryption>
  7643. Which makes the config file look like this
  7644. [minio]
  7645. type = s3
  7646. provider = Minio
  7647. env_auth = false
  7648. access_key_id = USWUXHGYZQYFYFFIT3RE
  7649. secret_access_key = MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
  7650. region = us-east-1
  7651. endpoint = http://192.168.1.106:9000
  7652. location_constraint =
  7653. server_side_encryption =
  7654. So once set up, for example to copy files into a bucket
  7655. rclone copy /path/to/files minio:bucket
  7656. Scaleway
  7657. Scaleway The Object Storage platform allows you to store anything from
  7658. backups, logs and web assets to documents and photos. Files can be
  7659. dropped from the Scaleway console or transferred through our API and CLI
  7660. or using any S3-compatible tool.
  7661. Scaleway provides an S3 interface which can be configured for use with
  7662. rclone like this:
  7663. [scaleway]
  7664. type = s3
  7665. env_auth = false
  7666. endpoint = s3.nl-ams.scw.cloud
  7667. access_key_id = SCWXXXXXXXXXXXXXX
  7668. secret_access_key = 1111111-2222-3333-44444-55555555555555
  7669. region = nl-ams
  7670. location_constraint =
  7671. acl = private
  7672. force_path_style = false
  7673. server_side_encryption =
  7674. storage_class =
  7675. Wasabi
  7676. Wasabi is a cloud-based object storage service for a broad range of
  7677. applications and use cases. Wasabi is designed for individuals and
  7678. organizations that require a high-performance, reliable, and secure data
  7679. storage infrastructure at minimal cost.
  7680. Wasabi provides an S3 interface which can be configured for use with
  7681. rclone like this.
  7682. No remotes found - make a new one
  7683. n) New remote
  7684. s) Set configuration password
  7685. n/s> n
  7686. name> wasabi
  7687. Type of storage to configure.
  7688. Choose a number from below, or type in your own value
  7689. [snip]
  7690. XX / Amazon S3 (also Dreamhost, Ceph, Minio)
  7691. \ "s3"
  7692. [snip]
  7693. Storage> s3
  7694. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). Only applies if access_key_id and secret_access_key is blank.
  7695. Choose a number from below, or type in your own value
  7696. 1 / Enter AWS credentials in the next step
  7697. \ "false"
  7698. 2 / Get AWS credentials from the environment (env vars or IAM)
  7699. \ "true"
  7700. env_auth> 1
  7701. AWS Access Key ID - leave blank for anonymous access or runtime credentials.
  7702. access_key_id> YOURACCESSKEY
  7703. AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
  7704. secret_access_key> YOURSECRETACCESSKEY
  7705. Region to connect to.
  7706. Choose a number from below, or type in your own value
  7707. / The default endpoint - a good choice if you are unsure.
  7708. 1 | US Region, Northern Virginia or Pacific Northwest.
  7709. | Leave location constraint empty.
  7710. \ "us-east-1"
  7711. [snip]
  7712. region> us-east-1
  7713. Endpoint for S3 API.
  7714. Leave blank if using AWS to use the default endpoint for the region.
  7715. Specify if using an S3 clone such as Ceph.
  7716. endpoint> s3.wasabisys.com
  7717. Location constraint - must be set to match the Region. Used when creating buckets only.
  7718. Choose a number from below, or type in your own value
  7719. 1 / Empty for US Region, Northern Virginia or Pacific Northwest.
  7720. \ ""
  7721. [snip]
  7722. location_constraint>
  7723. Canned ACL used when creating buckets and/or storing objects in S3.
  7724. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  7725. Choose a number from below, or type in your own value
  7726. 1 / Owner gets FULL_CONTROL. No one else has access rights (default).
  7727. \ "private"
  7728. [snip]
  7729. acl>
  7730. The server-side encryption algorithm used when storing this object in S3.
  7731. Choose a number from below, or type in your own value
  7732. 1 / None
  7733. \ ""
  7734. 2 / AES256
  7735. \ "AES256"
  7736. server_side_encryption>
  7737. The storage class to use when storing objects in S3.
  7738. Choose a number from below, or type in your own value
  7739. 1 / Default
  7740. \ ""
  7741. 2 / Standard storage class
  7742. \ "STANDARD"
  7743. 3 / Reduced redundancy storage class
  7744. \ "REDUCED_REDUNDANCY"
  7745. 4 / Standard Infrequent Access storage class
  7746. \ "STANDARD_IA"
  7747. storage_class>
  7748. Remote config
  7749. --------------------
  7750. [wasabi]
  7751. env_auth = false
  7752. access_key_id = YOURACCESSKEY
  7753. secret_access_key = YOURSECRETACCESSKEY
  7754. region = us-east-1
  7755. endpoint = s3.wasabisys.com
  7756. location_constraint =
  7757. acl =
  7758. server_side_encryption =
  7759. storage_class =
  7760. --------------------
  7761. y) Yes this is OK
  7762. e) Edit this remote
  7763. d) Delete this remote
  7764. y/e/d> y
  7765. This will leave the config file looking like this.
  7766. [wasabi]
  7767. type = s3
  7768. provider = Wasabi
  7769. env_auth = false
  7770. access_key_id = YOURACCESSKEY
  7771. secret_access_key = YOURSECRETACCESSKEY
  7772. region =
  7773. endpoint = s3.wasabisys.com
  7774. location_constraint =
  7775. acl =
  7776. server_side_encryption =
  7777. storage_class =
  7778. Alibaba OSS
  7779. Here is an example of making an Alibaba Cloud (Aliyun) OSS
  7780. configuration. First run:
  7781. rclone config
  7782. This will guide you through an interactive setup process.
  7783. No remotes found - make a new one
  7784. n) New remote
  7785. s) Set configuration password
  7786. q) Quit config
  7787. n/s/q> n
  7788. name> oss
  7789. Type of storage to configure.
  7790. Enter a string value. Press Enter for the default ("").
  7791. Choose a number from below, or type in your own value
  7792. [snip]
  7793. 4 / Amazon S3 Compliant Storage Provider (AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, etc)
  7794. \ "s3"
  7795. [snip]
  7796. Storage> s3
  7797. Choose your S3 provider.
  7798. Enter a string value. Press Enter for the default ("").
  7799. Choose a number from below, or type in your own value
  7800. 1 / Amazon Web Services (AWS) S3
  7801. \ "AWS"
  7802. 2 / Alibaba Cloud Object Storage System (OSS) formerly Aliyun
  7803. \ "Alibaba"
  7804. 3 / Ceph Object Storage
  7805. \ "Ceph"
  7806. [snip]
  7807. provider> Alibaba
  7808. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
  7809. Only applies if access_key_id and secret_access_key is blank.
  7810. Enter a boolean value (true or false). Press Enter for the default ("false").
  7811. Choose a number from below, or type in your own value
  7812. 1 / Enter AWS credentials in the next step
  7813. \ "false"
  7814. 2 / Get AWS credentials from the environment (env vars or IAM)
  7815. \ "true"
  7816. env_auth> 1
  7817. AWS Access Key ID.
  7818. Leave blank for anonymous access or runtime credentials.
  7819. Enter a string value. Press Enter for the default ("").
  7820. access_key_id> accesskeyid
  7821. AWS Secret Access Key (password)
  7822. Leave blank for anonymous access or runtime credentials.
  7823. Enter a string value. Press Enter for the default ("").
  7824. secret_access_key> secretaccesskey
  7825. Endpoint for OSS API.
  7826. Enter a string value. Press Enter for the default ("").
  7827. Choose a number from below, or type in your own value
  7828. 1 / East China 1 (Hangzhou)
  7829. \ "oss-cn-hangzhou.aliyuncs.com"
  7830. 2 / East China 2 (Shanghai)
  7831. \ "oss-cn-shanghai.aliyuncs.com"
  7832. 3 / North China 1 (Qingdao)
  7833. \ "oss-cn-qingdao.aliyuncs.com"
  7834. [snip]
  7835. endpoint> 1
  7836. Canned ACL used when creating buckets and storing or copying objects.
  7837. Note that this ACL is applied when server side copying objects as S3
  7838. doesn't copy the ACL from the source but rather writes a fresh one.
  7839. Enter a string value. Press Enter for the default ("").
  7840. Choose a number from below, or type in your own value
  7841. 1 / Owner gets FULL_CONTROL. No one else has access rights (default).
  7842. \ "private"
  7843. 2 / Owner gets FULL_CONTROL. The AllUsers group gets READ access.
  7844. \ "public-read"
  7845. / Owner gets FULL_CONTROL. The AllUsers group gets READ and WRITE access.
  7846. [snip]
  7847. acl> 1
  7848. The storage class to use when storing new objects in OSS.
  7849. Enter a string value. Press Enter for the default ("").
  7850. Choose a number from below, or type in your own value
  7851. 1 / Default
  7852. \ ""
  7853. 2 / Standard storage class
  7854. \ "STANDARD"
  7855. 3 / Archive storage mode.
  7856. \ "GLACIER"
  7857. 4 / Infrequent access storage mode.
  7858. \ "STANDARD_IA"
  7859. storage_class> 1
  7860. Edit advanced config? (y/n)
  7861. y) Yes
  7862. n) No
  7863. y/n> n
  7864. Remote config
  7865. --------------------
  7866. [oss]
  7867. type = s3
  7868. provider = Alibaba
  7869. env_auth = false
  7870. access_key_id = accesskeyid
  7871. secret_access_key = secretaccesskey
  7872. endpoint = oss-cn-hangzhou.aliyuncs.com
  7873. acl = private
  7874. storage_class = Standard
  7875. --------------------
  7876. y) Yes this is OK
  7877. e) Edit this remote
  7878. d) Delete this remote
  7879. y/e/d> y
  7880. Netease NOS
  7881. For Netease NOS configure as per the configurator rclone config setting
  7882. the provider Netease. This will automatically set
  7883. force_path_style = false which is necessary for it to run properly.
  7884. Backblaze B2
  7885. B2 is Backblaze’s cloud storage system.
  7886. Paths are specified as remote:bucket (or remote: for the lsd command.)
  7887. You may put subdirectories in too, eg remote:bucket/path/to/dir.
  7888. Here is an example of making a b2 configuration. First run
  7889. rclone config
  7890. This will guide you through an interactive setup process. To
  7891. authenticate you will either need your Account ID (a short hex number)
  7892. and Master Application Key (a long hex number) OR an Application Key,
  7893. which is the recommended method. See below for further details on
  7894. generating and using an Application Key.
  7895. No remotes found - make a new one
  7896. n) New remote
  7897. q) Quit config
  7898. n/q> n
  7899. name> remote
  7900. Type of storage to configure.
  7901. Choose a number from below, or type in your own value
  7902. [snip]
  7903. XX / Backblaze B2
  7904. \ "b2"
  7905. [snip]
  7906. Storage> b2
  7907. Account ID or Application Key ID
  7908. account> 123456789abc
  7909. Application Key
  7910. key> 0123456789abcdef0123456789abcdef0123456789
  7911. Endpoint for the service - leave blank normally.
  7912. endpoint>
  7913. Remote config
  7914. --------------------
  7915. [remote]
  7916. account = 123456789abc
  7917. key = 0123456789abcdef0123456789abcdef0123456789
  7918. endpoint =
  7919. --------------------
  7920. y) Yes this is OK
  7921. e) Edit this remote
  7922. d) Delete this remote
  7923. y/e/d> y
  7924. This remote is called remote and can now be used like this
  7925. See all buckets
  7926. rclone lsd remote:
  7927. Create a new bucket
  7928. rclone mkdir remote:bucket
  7929. List the contents of a bucket
  7930. rclone ls remote:bucket
  7931. Sync /home/local/directory to the remote bucket, deleting any excess
  7932. files in the bucket.
  7933. rclone sync /home/local/directory remote:bucket
  7934. Application Keys
  7935. B2 supports multiple Application Keys for different access permission to
  7936. B2 Buckets.
  7937. You can use these with rclone too; you will need to use rclone version
  7938. 1.43 or later.
  7939. Follow Backblaze’s docs to create an Application Key with the required
  7940. permission and add the applicationKeyId as the account and the
  7941. Application Key itself as the key.
  7942. Note that you must put the _applicationKeyId_ as the account – you can’t
  7943. use the master Account ID. If you try then B2 will return 401 errors.
  7944. –fast-list
  7945. This remote supports --fast-list which allows you to use fewer
  7946. transactions in exchange for more memory. See the rclone docs for more
  7947. details.
  7948. Modified time
  7949. The modified time is stored as metadata on the object as
  7950. X-Bz-Info-src_last_modified_millis as milliseconds since 1970-01-01 in
  7951. the Backblaze standard. Other tools should be able to use this as a
  7952. modified time.
  7953. Modified times are used in syncing and are fully supported. Note that if
  7954. a modification time needs to be updated on an object then it will create
  7955. a new version of the object.
  7956. Restricted filename characters
  7957. In addition to the default restricted characters set the following
  7958. characters are also replaced:
  7959. Character Value Replacement
  7960. ----------- ------- -------------
  7961. \ 0x5C \
  7962. Invalid UTF-8 bytes will also be replaced, as they can’t be used in JSON
  7963. strings.
  7964. SHA1 checksums
  7965. The SHA1 checksums of the files are checked on upload and download and
  7966. will be used in the syncing process.
  7967. Large files (bigger than the limit in --b2-upload-cutoff) which are
  7968. uploaded in chunks will store their SHA1 on the object as
  7969. X-Bz-Info-large_file_sha1 as recommended by Backblaze.
  7970. For a large file to be uploaded with an SHA1 checksum, the source needs
  7971. to support SHA1 checksums. The local disk supports SHA1 checksums so
  7972. large file transfers from local disk will have an SHA1. See the overview
  7973. for exactly which remotes support SHA1.
  7974. Sources which don’t support SHA1, in particular crypt will upload large
  7975. files without SHA1 checksums. This may be fixed in the future (see
  7976. #1767).
  7977. Files sizes below --b2-upload-cutoff will always have an SHA1 regardless
  7978. of the source.
  7979. Transfers
  7980. Backblaze recommends that you do lots of transfers simultaneously for
  7981. maximum speed. In tests from my SSD equipped laptop the optimum setting
  7982. is about --transfers 32 though higher numbers may be used for a slight
  7983. speed improvement. The optimum number for you may vary depending on your
  7984. hardware, how big the files are, how much you want to load your
  7985. computer, etc. The default of --transfers 4 is definitely too low for
  7986. Backblaze B2 though.
  7987. Note that uploading big files (bigger than 200 MB by default) will use a
  7988. 96 MB RAM buffer by default. There can be at most --transfers of these
  7989. in use at any moment, so this sets the upper limit on the memory used.
  7990. Versions
  7991. When rclone uploads a new version of a file it creates a new version of
  7992. it. Likewise when you delete a file, the old version will be marked
  7993. hidden and still be available. Conversely, you may opt in to a “hard
  7994. delete” of files with the --b2-hard-delete flag which would permanently
  7995. remove the file instead of hiding it.
  7996. Old versions of files, where available, are visible using the
  7997. --b2-versions flag.
  7998. NB Note that --b2-versions does not work with crypt at the moment #1627.
  7999. Using –backup-dir with rclone is the recommended way of working around
  8000. this.
  8001. If you wish to remove all the old versions then you can use the
  8002. rclone cleanup remote:bucket command which will delete all the old
  8003. versions of files, leaving the current ones intact. You can also supply
  8004. a path and only old versions under that path will be deleted, eg
  8005. rclone cleanup remote:bucket/path/to/stuff.
  8006. Note that cleanup will remove partially uploaded files from the bucket
  8007. if they are more than a day old.
  8008. When you purge a bucket, the current and the old versions will be
  8009. deleted then the bucket will be deleted.
  8010. However delete will cause the current versions of the files to become
  8011. hidden old versions.
  8012. Here is a session showing the listing and retrieval of an old version
  8013. followed by a cleanup of the old versions.
  8014. Show current version and all the versions with --b2-versions flag.
  8015. $ rclone -q ls b2:cleanup-test
  8016. 9 one.txt
  8017. $ rclone -q --b2-versions ls b2:cleanup-test
  8018. 9 one.txt
  8019. 8 one-v2016-07-04-141032-000.txt
  8020. 16 one-v2016-07-04-141003-000.txt
  8021. 15 one-v2016-07-02-155621-000.txt
  8022. Retrieve an old version
  8023. $ rclone -q --b2-versions copy b2:cleanup-test/one-v2016-07-04-141003-000.txt /tmp
  8024. $ ls -l /tmp/one-v2016-07-04-141003-000.txt
  8025. -rw-rw-r-- 1 ncw ncw 16 Jul 2 17:46 /tmp/one-v2016-07-04-141003-000.txt
  8026. Clean up all the old versions and show that they’ve gone.
  8027. $ rclone -q cleanup b2:cleanup-test
  8028. $ rclone -q ls b2:cleanup-test
  8029. 9 one.txt
  8030. $ rclone -q --b2-versions ls b2:cleanup-test
  8031. 9 one.txt
  8032. Data usage
  8033. It is useful to know how many requests are sent to the server in
  8034. different scenarios.
  8035. All copy commands send the following 4 requests:
  8036. /b2api/v1/b2_authorize_account
  8037. /b2api/v1/b2_create_bucket
  8038. /b2api/v1/b2_list_buckets
  8039. /b2api/v1/b2_list_file_names
  8040. The b2_list_file_names request will be sent once for every 1k files in
  8041. the remote path, providing the checksum and modification time of the
  8042. listed files. As of version 1.33 issue #818 causes extra requests to be
  8043. sent when using B2 with Crypt. When a copy operation does not require
  8044. any files to be uploaded, no more requests will be sent.
  8045. Uploading files that do not require chunking, will send 2 requests per
  8046. file upload:
  8047. /b2api/v1/b2_get_upload_url
  8048. /b2api/v1/b2_upload_file/
  8049. Uploading files requiring chunking, will send 2 requests (one each to
  8050. start and finish the upload) and another 2 requests for each chunk:
  8051. /b2api/v1/b2_start_large_file
  8052. /b2api/v1/b2_get_upload_part_url
  8053. /b2api/v1/b2_upload_part/
  8054. /b2api/v1/b2_finish_large_file
  8055. Versions
  8056. Versions can be viewed with the --b2-versions flag. When it is set
  8057. rclone will show and act on older versions of files. For example
  8058. Listing without --b2-versions
  8059. $ rclone -q ls b2:cleanup-test
  8060. 9 one.txt
  8061. And with
  8062. $ rclone -q --b2-versions ls b2:cleanup-test
  8063. 9 one.txt
  8064. 8 one-v2016-07-04-141032-000.txt
  8065. 16 one-v2016-07-04-141003-000.txt
  8066. 15 one-v2016-07-02-155621-000.txt
  8067. Showing that the current version is unchanged but older versions can be
  8068. seen. These have the UTC date that they were uploaded to the server to
  8069. the nearest millisecond appended to them.
  8070. Note that when using --b2-versions no file write operations are
  8071. permitted, so you can’t upload files or delete them.
  8072. B2 and rclone link
  8073. Rclone supports generating file share links for private B2 buckets. They
  8074. can either be for a file for example:
  8075. ./rclone link B2:bucket/path/to/file.txt
  8076. https://f002.backblazeb2.com/file/bucket/path/to/file.txt?Authorization=xxxxxxxx
  8077. or if run on a directory you will get:
  8078. ./rclone link B2:bucket/path
  8079. https://f002.backblazeb2.com/file/bucket/path?Authorization=xxxxxxxx
  8080. you can then use the authorization token (the part of the url from the
  8081. ?Authorization= on) on any file path under that directory. For example:
  8082. https://f002.backblazeb2.com/file/bucket/path/to/file1?Authorization=xxxxxxxx
  8083. https://f002.backblazeb2.com/file/bucket/path/file2?Authorization=xxxxxxxx
  8084. https://f002.backblazeb2.com/file/bucket/path/folder/file3?Authorization=xxxxxxxx
  8085. Standard Options
  8086. Here are the standard options specific to b2 (Backblaze B2).
  8087. –b2-account
  8088. Account ID or Application Key ID
  8089. - Config: account
  8090. - Env Var: RCLONE_B2_ACCOUNT
  8091. - Type: string
  8092. - Default: ""
  8093. –b2-key
  8094. Application Key
  8095. - Config: key
  8096. - Env Var: RCLONE_B2_KEY
  8097. - Type: string
  8098. - Default: ""
  8099. –b2-hard-delete
  8100. Permanently delete files on remote removal, otherwise hide files.
  8101. - Config: hard_delete
  8102. - Env Var: RCLONE_B2_HARD_DELETE
  8103. - Type: bool
  8104. - Default: false
  8105. Advanced Options
  8106. Here are the advanced options specific to b2 (Backblaze B2).
  8107. –b2-endpoint
  8108. Endpoint for the service. Leave blank normally.
  8109. - Config: endpoint
  8110. - Env Var: RCLONE_B2_ENDPOINT
  8111. - Type: string
  8112. - Default: ""
  8113. –b2-test-mode
  8114. A flag string for X-Bz-Test-Mode header for debugging.
  8115. This is for debugging purposes only. Setting it to one of the strings
  8116. below will cause b2 to return specific errors:
  8117. - “fail_some_uploads”
  8118. - “expire_some_account_authorization_tokens”
  8119. - “force_cap_exceeded”
  8120. These will be set in the “X-Bz-Test-Mode” header which is documented in
  8121. the b2 integrations checklist.
  8122. - Config: test_mode
  8123. - Env Var: RCLONE_B2_TEST_MODE
  8124. - Type: string
  8125. - Default: ""
  8126. –b2-versions
  8127. Include old versions in directory listings. Note that when using this no
  8128. file write operations are permitted, so you can’t upload files or delete
  8129. them.
  8130. - Config: versions
  8131. - Env Var: RCLONE_B2_VERSIONS
  8132. - Type: bool
  8133. - Default: false
  8134. –b2-upload-cutoff
  8135. Cutoff for switching to chunked upload.
  8136. Files above this size will be uploaded in chunks of “–b2-chunk-size”.
  8137. This value should be set no larger than 4.657GiB (== 5GB).
  8138. - Config: upload_cutoff
  8139. - Env Var: RCLONE_B2_UPLOAD_CUTOFF
  8140. - Type: SizeSuffix
  8141. - Default: 200M
  8142. –b2-chunk-size
  8143. Upload chunk size. Must fit in memory.
  8144. When uploading large files, chunk the file into this size. Note that
  8145. these chunks are buffered in memory and there might a maximum of
  8146. “–transfers” chunks in progress at once. 5,000,000 Bytes is the minimum
  8147. size.
  8148. - Config: chunk_size
  8149. - Env Var: RCLONE_B2_CHUNK_SIZE
  8150. - Type: SizeSuffix
  8151. - Default: 96M
  8152. –b2-disable-checksum
  8153. Disable checksums for large (> upload cutoff) files
  8154. - Config: disable_checksum
  8155. - Env Var: RCLONE_B2_DISABLE_CHECKSUM
  8156. - Type: bool
  8157. - Default: false
  8158. –b2-download-url
  8159. Custom endpoint for downloads.
  8160. This is usually set to a Cloudflare CDN URL as Backblaze offers free
  8161. egress for data downloaded through the Cloudflare network. This is
  8162. probably only useful for a public bucket. Leave blank if you want to use
  8163. the endpoint provided by Backblaze.
  8164. - Config: download_url
  8165. - Env Var: RCLONE_B2_DOWNLOAD_URL
  8166. - Type: string
  8167. - Default: ""
  8168. –b2-download-auth-duration
  8169. Time before the authorization token will expire in s or suffix
  8170. ms|s|m|h|d.
  8171. The duration before the download authorization token will expire. The
  8172. minimum value is 1 second. The maximum value is one week.
  8173. - Config: download_auth_duration
  8174. - Env Var: RCLONE_B2_DOWNLOAD_AUTH_DURATION
  8175. - Type: Duration
  8176. - Default: 1w
  8177. –b2-encoding
  8178. This sets the encoding for the backend.
  8179. See: the encoding section in the overview for more info.
  8180. - Config: encoding
  8181. - Env Var: RCLONE_B2_ENCODING
  8182. - Type: MultiEncoder
  8183. - Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
  8184. Box
  8185. Paths are specified as remote:path
  8186. Paths may be as deep as required, eg remote:directory/subdirectory.
  8187. The initial setup for Box involves getting a token from Box which you
  8188. can do either in your browser, or with a config.json downloaded from Box
  8189. to use JWT authentication. rclone config walks you through it.
  8190. Here is an example of how to make a remote called remote. First run:
  8191. rclone config
  8192. This will guide you through an interactive setup process:
  8193. No remotes found - make a new one
  8194. n) New remote
  8195. s) Set configuration password
  8196. q) Quit config
  8197. n/s/q> n
  8198. name> remote
  8199. Type of storage to configure.
  8200. Choose a number from below, or type in your own value
  8201. [snip]
  8202. XX / Box
  8203. \ "box"
  8204. [snip]
  8205. Storage> box
  8206. Box App Client Id - leave blank normally.
  8207. client_id>
  8208. Box App Client Secret - leave blank normally.
  8209. client_secret>
  8210. Box App config.json location
  8211. Leave blank normally.
  8212. Enter a string value. Press Enter for the default ("").
  8213. config_json>
  8214. 'enterprise' or 'user' depending on the type of token being requested.
  8215. Enter a string value. Press Enter for the default ("user").
  8216. box_sub_type>
  8217. Remote config
  8218. Use auto config?
  8219. * Say Y if not sure
  8220. * Say N if you are working on a remote or headless machine
  8221. y) Yes
  8222. n) No
  8223. y/n> y
  8224. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  8225. Log in and authorize rclone for access
  8226. Waiting for code...
  8227. Got code
  8228. --------------------
  8229. [remote]
  8230. client_id =
  8231. client_secret =
  8232. token = {"access_token":"XXX","token_type":"bearer","refresh_token":"XXX","expiry":"XXX"}
  8233. --------------------
  8234. y) Yes this is OK
  8235. e) Edit this remote
  8236. d) Delete this remote
  8237. y/e/d> y
  8238. See the remote setup docs for how to set it up on a machine with no
  8239. Internet browser available.
  8240. Note that rclone runs a webserver on your local machine to collect the
  8241. token as returned from Box. This only runs from the moment it opens your
  8242. browser to the moment you get back the verification code. This is on
  8243. http://127.0.0.1:53682/ and this it may require you to unblock it
  8244. temporarily if you are running a host firewall.
  8245. Once configured you can then use rclone like this,
  8246. List directories in top level of your Box
  8247. rclone lsd remote:
  8248. List all the files in your Box
  8249. rclone ls remote:
  8250. To copy a local directory to an Box directory called backup
  8251. rclone copy /home/source remote:backup
  8252. Using rclone with an Enterprise account with SSO
  8253. If you have an “Enterprise” account type with Box with single sign on
  8254. (SSO), you need to create a password to use Box with rclone. This can be
  8255. done at your Enterprise Box account by going to Settings, “Account” Tab,
  8256. and then set the password in the “Authentication” field.
  8257. Once you have done this, you can setup your Enterprise Box account using
  8258. the same procedure detailed above in the, using the password you have
  8259. just set.
  8260. Invalid refresh token
  8261. According to the box docs:
  8262. Each refresh_token is valid for one use in 60 days.
  8263. This means that if you
  8264. - Don’t use the box remote for 60 days
  8265. - Copy the config file with a box refresh token in and use it in two
  8266. places
  8267. - Get an error on a token refresh
  8268. then rclone will return an error which includes the text
  8269. Invalid refresh token.
  8270. To fix this you will need to use oauth2 again to update the refresh
  8271. token. You can use the methods in the remote setup docs, bearing in mind
  8272. that if you use the copy the config file method, you should not use that
  8273. remote on the computer you did the authentication on.
  8274. Here is how to do it.
  8275. $ rclone config
  8276. Current remotes:
  8277. Name Type
  8278. ==== ====
  8279. remote box
  8280. e) Edit existing remote
  8281. n) New remote
  8282. d) Delete remote
  8283. r) Rename remote
  8284. c) Copy remote
  8285. s) Set configuration password
  8286. q) Quit config
  8287. e/n/d/r/c/s/q> e
  8288. Choose a number from below, or type in an existing value
  8289. 1 > remote
  8290. remote> remote
  8291. --------------------
  8292. [remote]
  8293. type = box
  8294. token = {"access_token":"XXX","token_type":"bearer","refresh_token":"XXX","expiry":"2017-07-08T23:40:08.059167677+01:00"}
  8295. --------------------
  8296. Edit remote
  8297. Value "client_id" = ""
  8298. Edit? (y/n)>
  8299. y) Yes
  8300. n) No
  8301. y/n> n
  8302. Value "client_secret" = ""
  8303. Edit? (y/n)>
  8304. y) Yes
  8305. n) No
  8306. y/n> n
  8307. Remote config
  8308. Already have a token - refresh?
  8309. y) Yes
  8310. n) No
  8311. y/n> y
  8312. Use auto config?
  8313. * Say Y if not sure
  8314. * Say N if you are working on a remote or headless machine
  8315. y) Yes
  8316. n) No
  8317. y/n> y
  8318. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  8319. Log in and authorize rclone for access
  8320. Waiting for code...
  8321. Got code
  8322. --------------------
  8323. [remote]
  8324. type = box
  8325. token = {"access_token":"YYY","token_type":"bearer","refresh_token":"YYY","expiry":"2017-07-23T12:22:29.259137901+01:00"}
  8326. --------------------
  8327. y) Yes this is OK
  8328. e) Edit this remote
  8329. d) Delete this remote
  8330. y/e/d> y
  8331. Modified time and hashes
  8332. Box allows modification times to be set on objects accurate to 1 second.
  8333. These will be used to detect whether objects need syncing or not.
  8334. Box supports SHA1 type hashes, so you can use the --checksum flag.
  8335. Restricted filename characters
  8336. In addition to the default restricted characters set the following
  8337. characters are also replaced:
  8338. Character Value Replacement
  8339. ----------- ------- -------------
  8340. \ 0x5C \
  8341. File names can also not end with the following characters. These only
  8342. get replaced if they are last character in the name:
  8343. Character Value Replacement
  8344. ----------- ------- -------------
  8345. SP 0x20 ␠
  8346. Invalid UTF-8 bytes will also be replaced, as they can’t be used in JSON
  8347. strings.
  8348. Transfers
  8349. For files above 50MB rclone will use a chunked transfer. Rclone will
  8350. upload up to --transfers chunks at the same time (shared among all the
  8351. multipart uploads). Chunks are buffered in memory and are normally 8MB
  8352. so increasing --transfers will increase memory use.
  8353. Deleting files
  8354. Depending on the enterprise settings for your user, the item will either
  8355. be actually deleted from Box or moved to the trash.
  8356. Standard Options
  8357. Here are the standard options specific to box (Box).
  8358. –box-client-id
  8359. Box App Client Id. Leave blank normally.
  8360. - Config: client_id
  8361. - Env Var: RCLONE_BOX_CLIENT_ID
  8362. - Type: string
  8363. - Default: ""
  8364. –box-client-secret
  8365. Box App Client Secret Leave blank normally.
  8366. - Config: client_secret
  8367. - Env Var: RCLONE_BOX_CLIENT_SECRET
  8368. - Type: string
  8369. - Default: ""
  8370. –box-box-config-file
  8371. Box App config.json location Leave blank normally.
  8372. - Config: box_config_file
  8373. - Env Var: RCLONE_BOX_BOX_CONFIG_FILE
  8374. - Type: string
  8375. - Default: ""
  8376. –box-box-sub-type
  8377. - Config: box_sub_type
  8378. - Env Var: RCLONE_BOX_BOX_SUB_TYPE
  8379. - Type: string
  8380. - Default: “user”
  8381. - Examples:
  8382. - “user”
  8383. - Rclone should act on behalf of a user
  8384. - “enterprise”
  8385. - Rclone should act on behalf of a service account
  8386. Advanced Options
  8387. Here are the advanced options specific to box (Box).
  8388. –box-upload-cutoff
  8389. Cutoff for switching to multipart upload (>= 50MB).
  8390. - Config: upload_cutoff
  8391. - Env Var: RCLONE_BOX_UPLOAD_CUTOFF
  8392. - Type: SizeSuffix
  8393. - Default: 50M
  8394. –box-commit-retries
  8395. Max number of times to try committing a multipart file.
  8396. - Config: commit_retries
  8397. - Env Var: RCLONE_BOX_COMMIT_RETRIES
  8398. - Type: int
  8399. - Default: 100
  8400. –box-encoding
  8401. This sets the encoding for the backend.
  8402. See: the encoding section in the overview for more info.
  8403. - Config: encoding
  8404. - Env Var: RCLONE_BOX_ENCODING
  8405. - Type: MultiEncoder
  8406. - Default: Slash,BackSlash,Del,Ctl,RightSpace,InvalidUtf8,Dot
  8407. Limitations
  8408. Note that Box is case insensitive so you can’t have a file called
  8409. “Hello.doc” and one called “hello.doc”.
  8410. Box file names can’t have the \ character in. rclone maps this to and
  8411. from an identical looking unicode equivalent \.
  8412. Box only supports filenames up to 255 characters in length.
  8413. Cache (BETA)
  8414. The cache remote wraps another existing remote and stores file structure
  8415. and its data for long running tasks like rclone mount.
  8416. To get started you just need to have an existing remote which can be
  8417. configured with cache.
  8418. Here is an example of how to make a remote called test-cache. First run:
  8419. rclone config
  8420. This will guide you through an interactive setup process:
  8421. No remotes found - make a new one
  8422. n) New remote
  8423. r) Rename remote
  8424. c) Copy remote
  8425. s) Set configuration password
  8426. q) Quit config
  8427. n/r/c/s/q> n
  8428. name> test-cache
  8429. Type of storage to configure.
  8430. Choose a number from below, or type in your own value
  8431. [snip]
  8432. XX / Cache a remote
  8433. \ "cache"
  8434. [snip]
  8435. Storage> cache
  8436. Remote to cache.
  8437. Normally should contain a ':' and a path, eg "myremote:path/to/dir",
  8438. "myremote:bucket" or maybe "myremote:" (not recommended).
  8439. remote> local:/test
  8440. Optional: The URL of the Plex server
  8441. plex_url> http://127.0.0.1:32400
  8442. Optional: The username of the Plex user
  8443. plex_username> dummyusername
  8444. Optional: The password of the Plex user
  8445. y) Yes type in my own password
  8446. g) Generate random password
  8447. n) No leave this optional password blank
  8448. y/g/n> y
  8449. Enter the password:
  8450. password:
  8451. Confirm the password:
  8452. password:
  8453. The size of a chunk. Lower value good for slow connections but can affect seamless reading.
  8454. Default: 5M
  8455. Choose a number from below, or type in your own value
  8456. 1 / 1MB
  8457. \ "1m"
  8458. 2 / 5 MB
  8459. \ "5M"
  8460. 3 / 10 MB
  8461. \ "10M"
  8462. chunk_size> 2
  8463. How much time should object info (file size, file hashes etc) be stored in cache. Use a very high value if you don't plan on changing the source FS from outside the cache.
  8464. Accepted units are: "s", "m", "h".
  8465. Default: 5m
  8466. Choose a number from below, or type in your own value
  8467. 1 / 1 hour
  8468. \ "1h"
  8469. 2 / 24 hours
  8470. \ "24h"
  8471. 3 / 24 hours
  8472. \ "48h"
  8473. info_age> 2
  8474. The maximum size of stored chunks. When the storage grows beyond this size, the oldest chunks will be deleted.
  8475. Default: 10G
  8476. Choose a number from below, or type in your own value
  8477. 1 / 500 MB
  8478. \ "500M"
  8479. 2 / 1 GB
  8480. \ "1G"
  8481. 3 / 10 GB
  8482. \ "10G"
  8483. chunk_total_size> 3
  8484. Remote config
  8485. --------------------
  8486. [test-cache]
  8487. remote = local:/test
  8488. plex_url = http://127.0.0.1:32400
  8489. plex_username = dummyusername
  8490. plex_password = *** ENCRYPTED ***
  8491. chunk_size = 5M
  8492. info_age = 48h
  8493. chunk_total_size = 10G
  8494. You can then use it like this,
  8495. List directories in top level of your drive
  8496. rclone lsd test-cache:
  8497. List all the files in your drive
  8498. rclone ls test-cache:
  8499. To start a cached mount
  8500. rclone mount --allow-other test-cache: /var/tmp/test-cache
  8501. Write Features
  8502. Offline uploading
  8503. In an effort to make writing through cache more reliable, the backend
  8504. now supports this feature which can be activated by specifying a
  8505. cache-tmp-upload-path.
  8506. A files goes through these states when using this feature:
  8507. 1. An upload is started (usually by copying a file on the cache remote)
  8508. 2. When the copy to the temporary location is complete the file is part
  8509. of the cached remote and looks and behaves like any other file
  8510. (reading included)
  8511. 3. After cache-tmp-wait-time passes and the file is next in line,
  8512. rclone move is used to move the file to the cloud provider
  8513. 4. Reading the file still works during the upload but most
  8514. modifications on it will be prohibited
  8515. 5. Once the move is complete the file is unlocked for modifications as
  8516. it becomes as any other regular file
  8517. 6. If the file is being read through cache when it’s actually deleted
  8518. from the temporary path then cache will simply swap the source to
  8519. the cloud provider without interrupting the reading (small blip can
  8520. happen though)
  8521. Files are uploaded in sequence and only one file is uploaded at a time.
  8522. Uploads will be stored in a queue and be processed based on the order
  8523. they were added. The queue and the temporary storage is persistent
  8524. across restarts but can be cleared on startup with the --cache-db-purge
  8525. flag.
  8526. Write Support
  8527. Writes are supported through cache. One caveat is that a mounted cache
  8528. remote does not add any retry or fallback mechanism to the upload
  8529. operation. This will depend on the implementation of the wrapped remote.
  8530. Consider using Offline uploading for reliable writes.
  8531. One special case is covered with cache-writes which will cache the file
  8532. data at the same time as the upload when it is enabled making it
  8533. available from the cache store immediately once the upload is finished.
  8534. Read Features
  8535. Multiple connections
  8536. To counter the high latency between a local PC where rclone is running
  8537. and cloud providers, the cache remote can split multiple requests to the
  8538. cloud provider for smaller file chunks and combines them together
  8539. locally where they can be available almost immediately before the reader
  8540. usually needs them.
  8541. This is similar to buffering when media files are played online. Rclone
  8542. will stay around the current marker but always try its best to stay
  8543. ahead and prepare the data before.
  8544. Plex Integration
  8545. There is a direct integration with Plex which allows cache to detect
  8546. during reading if the file is in playback or not. This helps cache to
  8547. adapt how it queries the cloud provider depending on what is needed for.
  8548. Scans will have a minimum amount of workers (1) while in a confirmed
  8549. playback cache will deploy the configured number of workers.
  8550. This integration opens the doorway to additional performance
  8551. improvements which will be explored in the near future.
  8552. NOTE: If Plex options are not configured, cache will function with its
  8553. configured options without adapting any of its settings.
  8554. How to enable? Run rclone config and add all the Plex options (endpoint,
  8555. username and password) in your remote and it will be automatically
  8556. enabled.
  8557. Affected settings: - cache-workers: _Configured value_ during confirmed
  8558. playback or _1_ all the other times
  8559. Certificate Validation
  8560. When the Plex server is configured to only accept secure connections, it
  8561. is possible to use .plex.direct URL’s to ensure certificate validation
  8562. succeeds. These URL’s are used by Plex internally to connect to the Plex
  8563. server securely.
  8564. The format for this URL’s is the following:
  8565. https://ip-with-dots-replaced.server-hash.plex.direct:32400/
  8566. The ip-with-dots-replaced part can be any IPv4 address, where the dots
  8567. have been replaced with dashes, e.g. 127.0.0.1 becomes 127-0-0-1.
  8568. To get the server-hash part, the easiest way is to visit
  8569. https://plex.tv/api/resources?includeHttps=1&X-Plex-Token=your-plex-token
  8570. This page will list all the available Plex servers for your account with
  8571. at least one .plex.direct link for each. Copy one URL and replace the IP
  8572. address with the desired address. This can be used as the plex_url
  8573. value.
  8574. Known issues
  8575. Mount and –dir-cache-time
  8576. –dir-cache-time controls the first layer of directory caching which
  8577. works at the mount layer. Being an independent caching mechanism from
  8578. the cache backend, it will manage its own entries based on the
  8579. configured time.
  8580. To avoid getting in a scenario where dir cache has obsolete data and
  8581. cache would have the correct one, try to set --dir-cache-time to a lower
  8582. time than --cache-info-age. Default values are already configured in
  8583. this way.
  8584. Windows support - Experimental
  8585. There are a couple of issues with Windows mount functionality that still
  8586. require some investigations. It should be considered as experimental
  8587. thus far as fixes come in for this OS.
  8588. Most of the issues seem to be related to the difference between
  8589. filesystems on Linux flavors and Windows as cache is heavily dependant
  8590. on them.
  8591. Any reports or feedback on how cache behaves on this OS is greatly
  8592. appreciated.
  8593. - https://github.com/rclone/rclone/issues/1935
  8594. - https://github.com/rclone/rclone/issues/1907
  8595. - https://github.com/rclone/rclone/issues/1834
  8596. Risk of throttling
  8597. Future iterations of the cache backend will make use of the pooling
  8598. functionality of the cloud provider to synchronize and at the same time
  8599. make writing through it more tolerant to failures.
  8600. There are a couple of enhancements in track to add these but in the
  8601. meantime there is a valid concern that the expiring cache listings can
  8602. lead to cloud provider throttles or bans due to repeated queries on it
  8603. for very large mounts.
  8604. Some recommendations: - don’t use a very small interval for entry
  8605. informations (--cache-info-age) - while writes aren’t yet optimised, you
  8606. can still write through cache which gives you the advantage of adding
  8607. the file in the cache at the same time if configured to do so.
  8608. Future enhancements:
  8609. - https://github.com/rclone/rclone/issues/1937
  8610. - https://github.com/rclone/rclone/issues/1936
  8611. cache and crypt
  8612. One common scenario is to keep your data encrypted in the cloud provider
  8613. using the crypt remote. crypt uses a similar technique to wrap around an
  8614. existing remote and handles this translation in a seamless way.
  8615. There is an issue with wrapping the remotes in this order: CLOUD REMOTE
  8616. -> CRYPT -> CACHE
  8617. During testing, I experienced a lot of bans with the remotes in this
  8618. order. I suspect it might be related to how crypt opens files on the
  8619. cloud provider which makes it think we’re downloading the full file
  8620. instead of small chunks. Organizing the remotes in this order yields
  8621. better results: CLOUD REMOTE -> CACHE -> CRYPT
  8622. absolute remote paths
  8623. cache can not differentiate between relative and absolute paths for the
  8624. wrapped remote. Any path given in the remote config setting and on the
  8625. command line will be passed to the wrapped remote as is, but for storing
  8626. the chunks on disk the path will be made relative by removing any
  8627. leading / character.
  8628. This behavior is irrelevant for most backend types, but there are
  8629. backends where a leading / changes the effective directory, e.g. in the
  8630. sftp backend paths starting with a / are relative to the root of the SSH
  8631. server and paths without are relative to the user home directory. As a
  8632. result sftp:bin and sftp:/bin will share the same cache folder, even if
  8633. they represent a different directory on the SSH server.
  8634. Cache and Remote Control (–rc)
  8635. Cache supports the new --rc mode in rclone and can be remote controlled
  8636. through the following end points: By default, the listener is disabled
  8637. if you do not add the flag.
  8638. rc cache/expire
  8639. Purge a remote from the cache backend. Supports either a directory or a
  8640. file. It supports both encrypted and unencrypted file names if cache is
  8641. wrapped by crypt.
  8642. Params: - REMOTE = path to remote (REQUIRED) - WITHDATA = true/false to
  8643. delete cached data (chunks) as well _(optional, false by default)_
  8644. Standard Options
  8645. Here are the standard options specific to cache (Cache a remote).
  8646. –cache-remote
  8647. Remote to cache. Normally should contain a ‘:’ and a path, eg
  8648. “myremote:path/to/dir”, “myremote:bucket” or maybe “myremote:” (not
  8649. recommended).
  8650. - Config: remote
  8651. - Env Var: RCLONE_CACHE_REMOTE
  8652. - Type: string
  8653. - Default: ""
  8654. –cache-plex-url
  8655. The URL of the Plex server
  8656. - Config: plex_url
  8657. - Env Var: RCLONE_CACHE_PLEX_URL
  8658. - Type: string
  8659. - Default: ""
  8660. –cache-plex-username
  8661. The username of the Plex user
  8662. - Config: plex_username
  8663. - Env Var: RCLONE_CACHE_PLEX_USERNAME
  8664. - Type: string
  8665. - Default: ""
  8666. –cache-plex-password
  8667. The password of the Plex user
  8668. - Config: plex_password
  8669. - Env Var: RCLONE_CACHE_PLEX_PASSWORD
  8670. - Type: string
  8671. - Default: ""
  8672. –cache-chunk-size
  8673. The size of a chunk (partial file data).
  8674. Use lower numbers for slower connections. If the chunk size is changed,
  8675. any downloaded chunks will be invalid and cache-chunk-path will need to
  8676. be cleared or unexpected EOF errors will occur.
  8677. - Config: chunk_size
  8678. - Env Var: RCLONE_CACHE_CHUNK_SIZE
  8679. - Type: SizeSuffix
  8680. - Default: 5M
  8681. - Examples:
  8682. - “1m”
  8683. - 1MB
  8684. - “5M”
  8685. - 5 MB
  8686. - “10M”
  8687. - 10 MB
  8688. –cache-info-age
  8689. How long to cache file structure information (directory listings, file
  8690. size, times etc). If all write operations are done through the cache
  8691. then you can safely make this value very large as the cache store will
  8692. also be updated in real time.
  8693. - Config: info_age
  8694. - Env Var: RCLONE_CACHE_INFO_AGE
  8695. - Type: Duration
  8696. - Default: 6h0m0s
  8697. - Examples:
  8698. - “1h”
  8699. - 1 hour
  8700. - “24h”
  8701. - 24 hours
  8702. - “48h”
  8703. - 48 hours
  8704. –cache-chunk-total-size
  8705. The total size that the chunks can take up on the local disk.
  8706. If the cache exceeds this value then it will start to delete the oldest
  8707. chunks until it goes under this value.
  8708. - Config: chunk_total_size
  8709. - Env Var: RCLONE_CACHE_CHUNK_TOTAL_SIZE
  8710. - Type: SizeSuffix
  8711. - Default: 10G
  8712. - Examples:
  8713. - “500M”
  8714. - 500 MB
  8715. - “1G”
  8716. - 1 GB
  8717. - “10G”
  8718. - 10 GB
  8719. Advanced Options
  8720. Here are the advanced options specific to cache (Cache a remote).
  8721. –cache-plex-token
  8722. The plex token for authentication - auto set normally
  8723. - Config: plex_token
  8724. - Env Var: RCLONE_CACHE_PLEX_TOKEN
  8725. - Type: string
  8726. - Default: ""
  8727. –cache-plex-insecure
  8728. Skip all certificate verifications when connecting to the Plex server
  8729. - Config: plex_insecure
  8730. - Env Var: RCLONE_CACHE_PLEX_INSECURE
  8731. - Type: string
  8732. - Default: ""
  8733. –cache-db-path
  8734. Directory to store file structure metadata DB. The remote name is used
  8735. as the DB file name.
  8736. - Config: db_path
  8737. - Env Var: RCLONE_CACHE_DB_PATH
  8738. - Type: string
  8739. - Default: “$HOME/.cache/rclone/cache-backend”
  8740. –cache-chunk-path
  8741. Directory to cache chunk files.
  8742. Path to where partial file data (chunks) are stored locally. The remote
  8743. name is appended to the final path.
  8744. This config follows the “–cache-db-path”. If you specify a custom
  8745. location for “–cache-db-path” and don’t specify one for
  8746. “–cache-chunk-path” then “–cache-chunk-path” will use the same path as
  8747. “–cache-db-path”.
  8748. - Config: chunk_path
  8749. - Env Var: RCLONE_CACHE_CHUNK_PATH
  8750. - Type: string
  8751. - Default: “$HOME/.cache/rclone/cache-backend”
  8752. –cache-db-purge
  8753. Clear all the cached data for this remote on start.
  8754. - Config: db_purge
  8755. - Env Var: RCLONE_CACHE_DB_PURGE
  8756. - Type: bool
  8757. - Default: false
  8758. –cache-chunk-clean-interval
  8759. How often should the cache perform cleanups of the chunk storage. The
  8760. default value should be ok for most people. If you find that the cache
  8761. goes over “cache-chunk-total-size” too often then try to lower this
  8762. value to force it to perform cleanups more often.
  8763. - Config: chunk_clean_interval
  8764. - Env Var: RCLONE_CACHE_CHUNK_CLEAN_INTERVAL
  8765. - Type: Duration
  8766. - Default: 1m0s
  8767. –cache-read-retries
  8768. How many times to retry a read from a cache storage.
  8769. Since reading from a cache stream is independent from downloading file
  8770. data, readers can get to a point where there’s no more data in the
  8771. cache. Most of the times this can indicate a connectivity issue if cache
  8772. isn’t able to provide file data anymore.
  8773. For really slow connections, increase this to a point where the stream
  8774. is able to provide data but your experience will be very stuttering.
  8775. - Config: read_retries
  8776. - Env Var: RCLONE_CACHE_READ_RETRIES
  8777. - Type: int
  8778. - Default: 10
  8779. –cache-workers
  8780. How many workers should run in parallel to download chunks.
  8781. Higher values will mean more parallel processing (better CPU needed) and
  8782. more concurrent requests on the cloud provider. This impacts several
  8783. aspects like the cloud provider API limits, more stress on the hardware
  8784. that rclone runs on but it also means that streams will be more fluid
  8785. and data will be available much more faster to readers.
  8786. NOTE: If the optional Plex integration is enabled then this setting will
  8787. adapt to the type of reading performed and the value specified here will
  8788. be used as a maximum number of workers to use.
  8789. - Config: workers
  8790. - Env Var: RCLONE_CACHE_WORKERS
  8791. - Type: int
  8792. - Default: 4
  8793. –cache-chunk-no-memory
  8794. Disable the in-memory cache for storing chunks during streaming.
  8795. By default, cache will keep file data during streaming in RAM as well to
  8796. provide it to readers as fast as possible.
  8797. This transient data is evicted as soon as it is read and the number of
  8798. chunks stored doesn’t exceed the number of workers. However, depending
  8799. on other settings like “cache-chunk-size” and “cache-workers” this
  8800. footprint can increase if there are parallel streams too (multiple files
  8801. being read at the same time).
  8802. If the hardware permits it, use this feature to provide an overall
  8803. better performance during streaming but it can also be disabled if RAM
  8804. is not available on the local machine.
  8805. - Config: chunk_no_memory
  8806. - Env Var: RCLONE_CACHE_CHUNK_NO_MEMORY
  8807. - Type: bool
  8808. - Default: false
  8809. –cache-rps
  8810. Limits the number of requests per second to the source FS (-1 to
  8811. disable)
  8812. This setting places a hard limit on the number of requests per second
  8813. that cache will be doing to the cloud provider remote and try to respect
  8814. that value by setting waits between reads.
  8815. If you find that you’re getting banned or limited on the cloud provider
  8816. through cache and know that a smaller number of requests per second will
  8817. allow you to work with it then you can use this setting for that.
  8818. A good balance of all the other settings should make this setting
  8819. useless but it is available to set for more special cases.
  8820. NOTE: This will limit the number of requests during streams but other
  8821. API calls to the cloud provider like directory listings will still pass.
  8822. - Config: rps
  8823. - Env Var: RCLONE_CACHE_RPS
  8824. - Type: int
  8825. - Default: -1
  8826. –cache-writes
  8827. Cache file data on writes through the FS
  8828. If you need to read files immediately after you upload them through
  8829. cache you can enable this flag to have their data stored in the cache
  8830. store at the same time during upload.
  8831. - Config: writes
  8832. - Env Var: RCLONE_CACHE_WRITES
  8833. - Type: bool
  8834. - Default: false
  8835. –cache-tmp-upload-path
  8836. Directory to keep temporary files until they are uploaded.
  8837. This is the path where cache will use as a temporary storage for new
  8838. files that need to be uploaded to the cloud provider.
  8839. Specifying a value will enable this feature. Without it, it is
  8840. completely disabled and files will be uploaded directly to the cloud
  8841. provider
  8842. - Config: tmp_upload_path
  8843. - Env Var: RCLONE_CACHE_TMP_UPLOAD_PATH
  8844. - Type: string
  8845. - Default: ""
  8846. –cache-tmp-wait-time
  8847. How long should files be stored in local cache before being uploaded
  8848. This is the duration that a file must wait in the temporary location
  8849. _cache-tmp-upload-path_ before it is selected for upload.
  8850. Note that only one file is uploaded at a time and it can take longer to
  8851. start the upload if a queue formed for this purpose.
  8852. - Config: tmp_wait_time
  8853. - Env Var: RCLONE_CACHE_TMP_WAIT_TIME
  8854. - Type: Duration
  8855. - Default: 15s
  8856. –cache-db-wait-time
  8857. How long to wait for the DB to be available - 0 is unlimited
  8858. Only one process can have the DB open at any one time, so rclone waits
  8859. for this duration for the DB to become available before it gives an
  8860. error.
  8861. If you set it to 0 then it will wait forever.
  8862. - Config: db_wait_time
  8863. - Env Var: RCLONE_CACHE_DB_WAIT_TIME
  8864. - Type: Duration
  8865. - Default: 1s
  8866. Chunker (BETA)
  8867. The chunker overlay transparently splits large files into smaller chunks
  8868. during upload to wrapped remote and transparently assembles them back
  8869. when the file is downloaded. This allows to effectively overcome size
  8870. limits imposed by storage providers.
  8871. To use it, first set up the underlying remote following the
  8872. configuration instructions for that remote. You can also use a local
  8873. pathname instead of a remote.
  8874. First check your chosen remote is working - we’ll call it remote:path
  8875. here. Note that anything inside remote:path will be chunked and anything
  8876. outside won’t. This means that if you are using a bucket based remote
  8877. (eg S3, B2, swift) then you should probably put the bucket in the remote
  8878. s3:bucket.
  8879. Now configure chunker using rclone config. We will call this one overlay
  8880. to separate it from the remote itself.
  8881. No remotes found - make a new one
  8882. n) New remote
  8883. s) Set configuration password
  8884. q) Quit config
  8885. n/s/q> n
  8886. name> overlay
  8887. Type of storage to configure.
  8888. Choose a number from below, or type in your own value
  8889. [snip]
  8890. XX / Transparently chunk/split large files
  8891. \ "chunker"
  8892. [snip]
  8893. Storage> chunker
  8894. Remote to chunk/unchunk.
  8895. Normally should contain a ':' and a path, eg "myremote:path/to/dir",
  8896. "myremote:bucket" or maybe "myremote:" (not recommended).
  8897. Enter a string value. Press Enter for the default ("").
  8898. remote> remote:path
  8899. Files larger than chunk size will be split in chunks.
  8900. Enter a size with suffix k,M,G,T. Press Enter for the default ("2G").
  8901. chunk_size> 100M
  8902. Choose how chunker handles hash sums. All modes but "none" require metadata.
  8903. Enter a string value. Press Enter for the default ("md5").
  8904. Choose a number from below, or type in your own value
  8905. 1 / Pass any hash supported by wrapped remote for non-chunked files, return nothing otherwise
  8906. \ "none"
  8907. 2 / MD5 for composite files
  8908. \ "md5"
  8909. 3 / SHA1 for composite files
  8910. \ "sha1"
  8911. 4 / MD5 for all files
  8912. \ "md5all"
  8913. 5 / SHA1 for all files
  8914. \ "sha1all"
  8915. 6 / Copying a file to chunker will request MD5 from the source falling back to SHA1 if unsupported
  8916. \ "md5quick"
  8917. 7 / Similar to "md5quick" but prefers SHA1 over MD5
  8918. \ "sha1quick"
  8919. hash_type> md5
  8920. Edit advanced config? (y/n)
  8921. y) Yes
  8922. n) No
  8923. y/n> n
  8924. Remote config
  8925. --------------------
  8926. [overlay]
  8927. type = chunker
  8928. remote = remote:bucket
  8929. chunk_size = 100M
  8930. hash_type = md5
  8931. --------------------
  8932. y) Yes this is OK
  8933. e) Edit this remote
  8934. d) Delete this remote
  8935. y/e/d> y
  8936. Specifying the remote
  8937. In normal use, make sure the remote has a : in. If you specify the
  8938. remote without a : then rclone will use a local directory of that name.
  8939. So if you use a remote of /path/to/secret/files then rclone will chunk
  8940. stuff in that directory. If you use a remote of name then rclone will
  8941. put files in a directory called name in the current directory.
  8942. Chunking
  8943. When rclone starts a file upload, chunker checks the file size. If it
  8944. doesn’t exceed the configured chunk size, chunker will just pass the
  8945. file to the wrapped remote. If a file is large, chunker will
  8946. transparently cut data in pieces with temporary names and stream them
  8947. one by one, on the fly. Each data chunk will contain the specified
  8948. number of bytes, except for the last one which may have less data. If
  8949. file size is unknown in advance (this is called a streaming upload),
  8950. chunker will internally create a temporary copy, record its size and
  8951. repeat the above process.
  8952. When upload completes, temporary chunk files are finally renamed. This
  8953. scheme guarantees that operations can be run in parallel and look from
  8954. outside as atomic. A similar method with hidden temporary chunks is used
  8955. for other operations (copy/move/rename etc). If an operation fails,
  8956. hidden chunks are normally destroyed, and the target composite file
  8957. stays intact.
  8958. When a composite file download is requested, chunker transparently
  8959. assembles it by concatenating data chunks in order. As the split is
  8960. trivial one could even manually concatenate data chunks together to
  8961. obtain the original content.
  8962. When the list rclone command scans a directory on wrapped remote, the
  8963. potential chunk files are accounted for, grouped and assembled into
  8964. composite directory entries. Any temporary chunks are hidden.
  8965. List and other commands can sometimes come across composite files with
  8966. missing or invalid chunks, eg. shadowed by like-named directory or
  8967. another file. This usually means that wrapped file system has been
  8968. directly tampered with or damaged. If chunker detects a missing chunk it
  8969. will by default print warning, skip the whole incomplete group of chunks
  8970. but proceed with current command. You can set the --chunker-fail-hard
  8971. flag to have commands abort with error message in such cases.
  8972. Chunk names
  8973. The default chunk name format is *.rclone_chunk.###, hence by default
  8974. chunk names are BIG_FILE_NAME.rclone_chunk.001,
  8975. BIG_FILE_NAME.rclone_chunk.002 etc. You can configure another name
  8976. format using the name_format configuration file option. The format uses
  8977. asterisk * as a placeholder for the base file name and one or more
  8978. consecutive hash characters # as a placeholder for sequential chunk
  8979. number. There must be one and only one asterisk. The number of
  8980. consecutive hash characters defines the minimum length of a string
  8981. representing a chunk number. If decimal chunk number has less digits
  8982. than the number of hashes, it is left-padded by zeros. If the decimal
  8983. string is longer, it is left intact. By default numbering starts from 1
  8984. but there is another option that allows user to start from 0, eg. for
  8985. compatibility with legacy software.
  8986. For example, if name format is big_*-##.part and original file name is
  8987. data.txt and numbering starts from 0, then the first chunk will be named
  8988. big_data.txt-00.part, the 99th chunk will be big_data.txt-98.part and
  8989. the 302nd chunk will become big_data.txt-301.part.
  8990. Note that list assembles composite directory entries only when chunk
  8991. names match the configured format and treats non-conforming file names
  8992. as normal non-chunked files.
  8993. Metadata
  8994. Besides data chunks chunker will by default create metadata object for a
  8995. composite file. The object is named after the original file. Chunker
  8996. allows user to disable metadata completely (the none format). Note that
  8997. metadata is normally not created for files smaller than the configured
  8998. chunk size. This may change in future rclone releases.
  8999. Simple JSON metadata format
  9000. This is the default format. It supports hash sums and chunk validation
  9001. for composite files. Meta objects carry the following fields:
  9002. - ver - version of format, currently 1
  9003. - size - total size of composite file
  9004. - nchunks - number of data chunks in file
  9005. - md5 - MD5 hashsum of composite file (if present)
  9006. - sha1 - SHA1 hashsum (if present)
  9007. There is no field for composite file name as it’s simply equal to the
  9008. name of meta object on the wrapped remote. Please refer to respective
  9009. sections for details on hashsums and modified time handling.
  9010. No metadata
  9011. You can disable meta objects by setting the meta format option to none.
  9012. In this mode chunker will scan directory for all files that follow
  9013. configured chunk name format, group them by detecting chunks with the
  9014. same base name and show group names as virtual composite files. This
  9015. method is more prone to missing chunk errors (especially missing last
  9016. chunk) than format with metadata enabled.
  9017. Hashsums
  9018. Chunker supports hashsums only when a compatible metadata is present.
  9019. Hence, if you choose metadata format of none, chunker will report
  9020. hashsum as UNSUPPORTED.
  9021. Please note that by default metadata is stored only for composite files.
  9022. If a file is smaller than configured chunk size, chunker will
  9023. transparently redirect hash requests to wrapped remote, so support
  9024. depends on that. You will see the empty string as a hashsum of requested
  9025. type for small files if the wrapped remote doesn’t support it.
  9026. Many storage backends support MD5 and SHA1 hash types, so does chunker.
  9027. With chunker you can choose one or another but not both. MD5 is set by
  9028. default as the most supported type. Since chunker keeps hashes for
  9029. composite files and falls back to the wrapped remote hash for
  9030. non-chunked ones, we advise you to choose the same hash type as
  9031. supported by wrapped remote so that your file listings look coherent.
  9032. If your storage backend does not support MD5 or SHA1 but you need
  9033. consistent file hashing, configure chunker with md5all or sha1all. These
  9034. two modes guarantee given hash for all files. If wrapped remote doesn’t
  9035. support it, chunker will then add metadata to all files, even small.
  9036. However, this can double the amount of small files in storage and incur
  9037. additional service charges. You can even use chunker to force md5/sha1
  9038. support in any other remote at expence of sidecar meta objects by
  9039. setting eg. chunk_type=sha1all to force hashsums and chunk_size=1P to
  9040. effectively disable chunking.
  9041. Normally, when a file is copied to chunker controlled remote, chunker
  9042. will ask the file source for compatible file hash and revert to
  9043. on-the-fly calculation if none is found. This involves some CPU overhead
  9044. but provides a guarantee that given hashsum is available. Also, chunker
  9045. will reject a server-side copy or move operation if source and
  9046. destination hashsum types are different resulting in the extra network
  9047. bandwidth, too. In some rare cases this may be undesired, so chunker
  9048. provides two optional choices: sha1quick and md5quick. If the source
  9049. does not support primary hash type and the quick mode is enabled,
  9050. chunker will try to fall back to the secondary type. This will save CPU
  9051. and bandwidth but can result in empty hashsums at destination. Beware of
  9052. consequences: the sync command will revert (sometimes silently) to
  9053. time/size comparison if compatible hashsums between source and target
  9054. are not found.
  9055. Modified time
  9056. Chunker stores modification times using the wrapped remote so support
  9057. depends on that. For a small non-chunked file the chunker overlay simply
  9058. manipulates modification time of the wrapped remote file. For a
  9059. composite file with metadata chunker will get and set modification time
  9060. of the metadata object on the wrapped remote. If file is chunked but
  9061. metadata format is none then chunker will use modification time of the
  9062. first data chunk.
  9063. Migrations
  9064. The idiomatic way to migrate to a different chunk size, hash type or
  9065. chunk naming scheme is to:
  9066. - Collect all your chunked files under a directory and have your
  9067. chunker remote point to it.
  9068. - Create another directory (most probably on the same cloud storage)
  9069. and configure a new remote with desired metadata format, hash type,
  9070. chunk naming etc.
  9071. - Now run rclone sync oldchunks: newchunks: and all your data will be
  9072. transparently converted in transfer. This may take some time, yet
  9073. chunker will try server-side copy if possible.
  9074. - After checking data integrity you may remove configuration section
  9075. of the old remote.
  9076. If rclone gets killed during a long operation on a big composite file,
  9077. hidden temporary chunks may stay in the directory. They will not be
  9078. shown by the list command but will eat up your account quota. Please
  9079. note that the deletefile command deletes only active chunks of a file.
  9080. As a workaround, you can use remote of the wrapped file system to see
  9081. them. An easy way to get rid of hidden garbage is to copy littered
  9082. directory somewhere using the chunker remote and purge the original
  9083. directory. The copy command will copy only active chunks while the purge
  9084. will remove everything including garbage.
  9085. Caveats and Limitations
  9086. Chunker requires wrapped remote to support server side move (or copy +
  9087. delete) operations, otherwise it will explicitly refuse to start. This
  9088. is because it internally renames temporary chunk files to their final
  9089. names when an operation completes successfully.
  9090. Chunker encodes chunk number in file name, so with default name_format
  9091. setting it adds 17 characters. Also chunker adds 7 characters of
  9092. temporary suffix during operations. Many file systems limit base file
  9093. name without path by 255 characters. Using rclone’s crypt remote as a
  9094. base file system limits file name by 143 characters. Thus, maximum name
  9095. length is 231 for most files and 119 for chunker-over-crypt. A user in
  9096. need can change name format to eg. *.rcc## and save 10 characters
  9097. (provided at most 99 chunks per file).
  9098. Note that a move implemented using the copy-and-delete method may incur
  9099. double charging with some cloud storage providers.
  9100. Chunker will not automatically rename existing chunks when you run
  9101. rclone config on a live remote and change the chunk name format. Beware
  9102. that in result of this some files which have been treated as chunks
  9103. before the change can pop up in directory listings as normal files and
  9104. vice versa. The same warning holds for the chunk size. If you
  9105. desperately need to change critical chunking setings, you should run
  9106. data migration as described above.
  9107. If wrapped remote is case insensitive, the chunker overlay will inherit
  9108. that property (so you can’t have a file called “Hello.doc” and
  9109. “hello.doc” in the same directory).
  9110. Standard Options
  9111. Here are the standard options specific to chunker (Transparently
  9112. chunk/split large files).
  9113. –chunker-remote
  9114. Remote to chunk/unchunk. Normally should contain a ‘:’ and a path, eg
  9115. “myremote:path/to/dir”, “myremote:bucket” or maybe “myremote:” (not
  9116. recommended).
  9117. - Config: remote
  9118. - Env Var: RCLONE_CHUNKER_REMOTE
  9119. - Type: string
  9120. - Default: ""
  9121. –chunker-chunk-size
  9122. Files larger than chunk size will be split in chunks.
  9123. - Config: chunk_size
  9124. - Env Var: RCLONE_CHUNKER_CHUNK_SIZE
  9125. - Type: SizeSuffix
  9126. - Default: 2G
  9127. –chunker-hash-type
  9128. Choose how chunker handles hash sums. All modes but “none” require
  9129. metadata.
  9130. - Config: hash_type
  9131. - Env Var: RCLONE_CHUNKER_HASH_TYPE
  9132. - Type: string
  9133. - Default: “md5”
  9134. - Examples:
  9135. - “none”
  9136. - Pass any hash supported by wrapped remote for non-chunked
  9137. files, return nothing otherwise
  9138. - “md5”
  9139. - MD5 for composite files
  9140. - “sha1”
  9141. - SHA1 for composite files
  9142. - “md5all”
  9143. - MD5 for all files
  9144. - “sha1all”
  9145. - SHA1 for all files
  9146. - “md5quick”
  9147. - Copying a file to chunker will request MD5 from the source
  9148. falling back to SHA1 if unsupported
  9149. - “sha1quick”
  9150. - Similar to “md5quick” but prefers SHA1 over MD5
  9151. Advanced Options
  9152. Here are the advanced options specific to chunker (Transparently
  9153. chunk/split large files).
  9154. –chunker-name-format
  9155. String format of chunk file names. The two placeholders are: base file
  9156. name (*) and chunk number (#…). There must be one and only one asterisk
  9157. and one or more consecutive hash characters. If chunk number has less
  9158. digits than the number of hashes, it is left-padded by zeros. If there
  9159. are more digits in the number, they are left as is. Possible chunk files
  9160. are ignored if their name does not match given format.
  9161. - Config: name_format
  9162. - Env Var: RCLONE_CHUNKER_NAME_FORMAT
  9163. - Type: string
  9164. - Default: "*.rclone_chunk.###"
  9165. –chunker-start-from
  9166. Minimum valid chunk number. Usually 0 or 1. By default chunk numbers
  9167. start from 1.
  9168. - Config: start_from
  9169. - Env Var: RCLONE_CHUNKER_START_FROM
  9170. - Type: int
  9171. - Default: 1
  9172. –chunker-meta-format
  9173. Format of the metadata object or “none”. By default “simplejson”.
  9174. Metadata is a small JSON file named after the composite file.
  9175. - Config: meta_format
  9176. - Env Var: RCLONE_CHUNKER_META_FORMAT
  9177. - Type: string
  9178. - Default: “simplejson”
  9179. - Examples:
  9180. - “none”
  9181. - Do not use metadata files at all. Requires hash type “none”.
  9182. - “simplejson”
  9183. - Simple JSON supports hash sums and chunk validation.
  9184. - It has the following fields: ver, size, nchunks, md5, sha1.
  9185. –chunker-fail-hard
  9186. Choose how chunker should handle files with missing or invalid chunks.
  9187. - Config: fail_hard
  9188. - Env Var: RCLONE_CHUNKER_FAIL_HARD
  9189. - Type: bool
  9190. - Default: false
  9191. - Examples:
  9192. - “true”
  9193. - Report errors and abort current command.
  9194. - “false”
  9195. - Warn user, skip incomplete file and proceed.
  9196. Citrix ShareFile
  9197. Citrix ShareFile is a secure file sharing and transfer service aimed as
  9198. business.
  9199. The initial setup for Citrix ShareFile involves getting a token from
  9200. Citrix ShareFile which you can in your browser. rclone config walks you
  9201. through it.
  9202. Here is an example of how to make a remote called remote. First run:
  9203. rclone config
  9204. This will guide you through an interactive setup process:
  9205. No remotes found - make a new one
  9206. n) New remote
  9207. s) Set configuration password
  9208. q) Quit config
  9209. n/s/q> n
  9210. name> remote
  9211. Type of storage to configure.
  9212. Enter a string value. Press Enter for the default ("").
  9213. Choose a number from below, or type in your own value
  9214. XX / Citrix Sharefile
  9215. \ "sharefile"
  9216. Storage> sharefile
  9217. ** See help for sharefile backend at: https://rclone.org/sharefile/ **
  9218. ID of the root folder
  9219. Leave blank to access "Personal Folders". You can use one of the
  9220. standard values here or any folder ID (long hex number ID).
  9221. Enter a string value. Press Enter for the default ("").
  9222. Choose a number from below, or type in your own value
  9223. 1 / Access the Personal Folders. (Default)
  9224. \ ""
  9225. 2 / Access the Favorites folder.
  9226. \ "favorites"
  9227. 3 / Access all the shared folders.
  9228. \ "allshared"
  9229. 4 / Access all the individual connectors.
  9230. \ "connectors"
  9231. 5 / Access the home, favorites, and shared folders as well as the connectors.
  9232. \ "top"
  9233. root_folder_id>
  9234. Edit advanced config? (y/n)
  9235. y) Yes
  9236. n) No
  9237. y/n> n
  9238. Remote config
  9239. Use auto config?
  9240. * Say Y if not sure
  9241. * Say N if you are working on a remote or headless machine
  9242. y) Yes
  9243. n) No
  9244. y/n> y
  9245. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=XXX
  9246. Log in and authorize rclone for access
  9247. Waiting for code...
  9248. Got code
  9249. --------------------
  9250. [remote]
  9251. type = sharefile
  9252. endpoint = https://XXX.sharefile.com
  9253. token = {"access_token":"XXX","token_type":"bearer","refresh_token":"XXX","expiry":"2019-09-30T19:41:45.878561877+01:00"}
  9254. --------------------
  9255. y) Yes this is OK
  9256. e) Edit this remote
  9257. d) Delete this remote
  9258. y/e/d> y
  9259. See the remote setup docs for how to set it up on a machine with no
  9260. Internet browser available.
  9261. Note that rclone runs a webserver on your local machine to collect the
  9262. token as returned from Citrix ShareFile. This only runs from the moment
  9263. it opens your browser to the moment you get back the verification code.
  9264. This is on http://127.0.0.1:53682/ and this it may require you to
  9265. unblock it temporarily if you are running a host firewall.
  9266. Once configured you can then use rclone like this,
  9267. List directories in top level of your ShareFile
  9268. rclone lsd remote:
  9269. List all the files in your ShareFile
  9270. rclone ls remote:
  9271. To copy a local directory to an ShareFile directory called backup
  9272. rclone copy /home/source remote:backup
  9273. Paths may be as deep as required, eg remote:directory/subdirectory.
  9274. Modified time and hashes
  9275. ShareFile allows modification times to be set on objects accurate to 1
  9276. second. These will be used to detect whether objects need syncing or
  9277. not.
  9278. ShareFile supports MD5 type hashes, so you can use the --checksum flag.
  9279. Transfers
  9280. For files above 128MB rclone will use a chunked transfer. Rclone will
  9281. upload up to --transfers chunks at the same time (shared among all the
  9282. multipart uploads). Chunks are buffered in memory and are normally 64MB
  9283. so increasing --transfers will increase memory use.
  9284. Limitations
  9285. Note that ShareFile is case insensitive so you can’t have a file called
  9286. “Hello.doc” and one called “hello.doc”.
  9287. ShareFile only supports filenames up to 256 characters in length.
  9288. Restricted filename characters
  9289. In addition to the default restricted characters set the following
  9290. characters are also replaced:
  9291. Character Value Replacement
  9292. ----------- ------- -------------
  9293. \ 0x5C \
  9294. * 0x2A *
  9295. < 0x3C <
  9296. > 0x3E >
  9297. ? 0x3F ?
  9298. : 0x3A :
  9299. | 0x7C |
  9300. " 0x22 "
  9301. File names can also not start or end with the following characters.
  9302. These only get replaced if they are first or last character in the name:
  9303. Character Value Replacement
  9304. ----------- ------- -------------
  9305. SP 0x20 ␠
  9306. . 0x2E .
  9307. Invalid UTF-8 bytes will also be replaced, as they can’t be used in JSON
  9308. strings.
  9309. Standard Options
  9310. Here are the standard options specific to sharefile (Citrix Sharefile).
  9311. –sharefile-root-folder-id
  9312. ID of the root folder
  9313. Leave blank to access “Personal Folders”. You can use one of the
  9314. standard values here or any folder ID (long hex number ID).
  9315. - Config: root_folder_id
  9316. - Env Var: RCLONE_SHAREFILE_ROOT_FOLDER_ID
  9317. - Type: string
  9318. - Default: ""
  9319. - Examples:
  9320. - ""
  9321. - Access the Personal Folders. (Default)
  9322. - “favorites”
  9323. - Access the Favorites folder.
  9324. - “allshared”
  9325. - Access all the shared folders.
  9326. - “connectors”
  9327. - Access all the individual connectors.
  9328. - “top”
  9329. - Access the home, favorites, and shared folders as well as
  9330. the connectors.
  9331. Advanced Options
  9332. Here are the advanced options specific to sharefile (Citrix Sharefile).
  9333. –sharefile-upload-cutoff
  9334. Cutoff for switching to multipart upload.
  9335. - Config: upload_cutoff
  9336. - Env Var: RCLONE_SHAREFILE_UPLOAD_CUTOFF
  9337. - Type: SizeSuffix
  9338. - Default: 128M
  9339. –sharefile-chunk-size
  9340. Upload chunk size. Must a power of 2 >= 256k.
  9341. Making this larger will improve performance, but note that each chunk is
  9342. buffered in memory one per transfer.
  9343. Reducing this will reduce memory usage but decrease performance.
  9344. - Config: chunk_size
  9345. - Env Var: RCLONE_SHAREFILE_CHUNK_SIZE
  9346. - Type: SizeSuffix
  9347. - Default: 64M
  9348. –sharefile-endpoint
  9349. Endpoint for API calls.
  9350. This is usually auto discovered as part of the oauth process, but can be
  9351. set manually to something like: https://XXX.sharefile.com
  9352. - Config: endpoint
  9353. - Env Var: RCLONE_SHAREFILE_ENDPOINT
  9354. - Type: string
  9355. - Default: ""
  9356. –sharefile-encoding
  9357. This sets the encoding for the backend.
  9358. See: the encoding section in the overview for more info.
  9359. - Config: encoding
  9360. - Env Var: RCLONE_SHAREFILE_ENCODING
  9361. - Type: MultiEncoder
  9362. - Default:
  9363. Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,LeftSpace,LeftPeriod,RightSpace,RightPeriod,InvalidUtf8,Dot
  9364. Crypt
  9365. The crypt remote encrypts and decrypts another remote.
  9366. To use it first set up the underlying remote following the config
  9367. instructions for that remote. You can also use a local pathname instead
  9368. of a remote which will encrypt and decrypt from that directory which
  9369. might be useful for encrypting onto a USB stick for example.
  9370. First check your chosen remote is working - we’ll call it remote:path in
  9371. these docs. Note that anything inside remote:path will be encrypted and
  9372. anything outside won’t. This means that if you are using a bucket based
  9373. remote (eg S3, B2, swift) then you should probably put the bucket in the
  9374. remote s3:bucket. If you just use s3: then rclone will make encrypted
  9375. bucket names too (if using file name encryption) which may or may not be
  9376. what you want.
  9377. Now configure crypt using rclone config. We will call this one secret to
  9378. differentiate it from the remote.
  9379. No remotes found - make a new one
  9380. n) New remote
  9381. s) Set configuration password
  9382. q) Quit config
  9383. n/s/q> n
  9384. name> secret
  9385. Type of storage to configure.
  9386. Choose a number from below, or type in your own value
  9387. [snip]
  9388. XX / Encrypt/Decrypt a remote
  9389. \ "crypt"
  9390. [snip]
  9391. Storage> crypt
  9392. Remote to encrypt/decrypt.
  9393. Normally should contain a ':' and a path, eg "myremote:path/to/dir",
  9394. "myremote:bucket" or maybe "myremote:" (not recommended).
  9395. remote> remote:path
  9396. How to encrypt the filenames.
  9397. Choose a number from below, or type in your own value
  9398. 1 / Don't encrypt the file names. Adds a ".bin" extension only.
  9399. \ "off"
  9400. 2 / Encrypt the filenames see the docs for the details.
  9401. \ "standard"
  9402. 3 / Very simple filename obfuscation.
  9403. \ "obfuscate"
  9404. filename_encryption> 2
  9405. Option to either encrypt directory names or leave them intact.
  9406. Choose a number from below, or type in your own value
  9407. 1 / Encrypt directory names.
  9408. \ "true"
  9409. 2 / Don't encrypt directory names, leave them intact.
  9410. \ "false"
  9411. filename_encryption> 1
  9412. Password or pass phrase for encryption.
  9413. y) Yes type in my own password
  9414. g) Generate random password
  9415. y/g> y
  9416. Enter the password:
  9417. password:
  9418. Confirm the password:
  9419. password:
  9420. Password or pass phrase for salt. Optional but recommended.
  9421. Should be different to the previous password.
  9422. y) Yes type in my own password
  9423. g) Generate random password
  9424. n) No leave this optional password blank
  9425. y/g/n> g
  9426. Password strength in bits.
  9427. 64 is just about memorable
  9428. 128 is secure
  9429. 1024 is the maximum
  9430. Bits> 128
  9431. Your password is: JAsJvRcgR-_veXNfy_sGmQ
  9432. Use this password?
  9433. y) Yes
  9434. n) No
  9435. y/n> y
  9436. Remote config
  9437. --------------------
  9438. [secret]
  9439. remote = remote:path
  9440. filename_encryption = standard
  9441. password = *** ENCRYPTED ***
  9442. password2 = *** ENCRYPTED ***
  9443. --------------------
  9444. y) Yes this is OK
  9445. e) Edit this remote
  9446. d) Delete this remote
  9447. y/e/d> y
  9448. IMPORTANT The password is stored in the config file is lightly obscured
  9449. so it isn’t immediately obvious what it is. It is in no way secure
  9450. unless you use config file encryption.
  9451. A long passphrase is recommended, or you can use a random one. Note that
  9452. if you reconfigure rclone with the same passwords/passphrases elsewhere
  9453. it will be compatible - all the secrets used are derived from those two
  9454. passwords/passphrases.
  9455. Note that rclone does not encrypt
  9456. - file length - this can be calcuated within 16 bytes
  9457. - modification time - used for syncing
  9458. Specifying the remote
  9459. In normal use, make sure the remote has a : in. If you specify the
  9460. remote without a : then rclone will use a local directory of that name.
  9461. So if you use a remote of /path/to/secret/files then rclone will encrypt
  9462. stuff to that directory. If you use a remote of name then rclone will
  9463. put files in a directory called name in the current directory.
  9464. If you specify the remote as remote:path/to/dir then rclone will store
  9465. encrypted files in path/to/dir on the remote. If you are using file name
  9466. encryption, then when you save files to secret:subdir/subfile this will
  9467. store them in the unencrypted path path/to/dir but the subdir/subpath
  9468. bit will be encrypted.
  9469. Note that unless you want encrypted bucket names (which are difficult to
  9470. manage because you won’t know what directory they represent in web
  9471. interfaces etc), you should probably specify a bucket, eg
  9472. remote:secretbucket when using bucket based remotes such as S3, Swift,
  9473. Hubic, B2, GCS.
  9474. Example
  9475. To test I made a little directory of files using “standard” file name
  9476. encryption.
  9477. plaintext/
  9478. ├── file0.txt
  9479. ├── file1.txt
  9480. └── subdir
  9481. ├── file2.txt
  9482. ├── file3.txt
  9483. └── subsubdir
  9484. └── file4.txt
  9485. Copy these to the remote and list them back
  9486. $ rclone -q copy plaintext secret:
  9487. $ rclone -q ls secret:
  9488. 7 file1.txt
  9489. 6 file0.txt
  9490. 8 subdir/file2.txt
  9491. 10 subdir/subsubdir/file4.txt
  9492. 9 subdir/file3.txt
  9493. Now see what that looked like when encrypted
  9494. $ rclone -q ls remote:path
  9495. 55 hagjclgavj2mbiqm6u6cnjjqcg
  9496. 54 v05749mltvv1tf4onltun46gls
  9497. 57 86vhrsv86mpbtd3a0akjuqslj8/dlj7fkq4kdq72emafg7a7s41uo
  9498. 58 86vhrsv86mpbtd3a0akjuqslj8/7uu829995du6o42n32otfhjqp4/b9pausrfansjth5ob3jkdqd4lc
  9499. 56 86vhrsv86mpbtd3a0akjuqslj8/8njh1sk437gttmep3p70g81aps
  9500. Note that this retains the directory structure which means you can do
  9501. this
  9502. $ rclone -q ls secret:subdir
  9503. 8 file2.txt
  9504. 9 file3.txt
  9505. 10 subsubdir/file4.txt
  9506. If don’t use file name encryption then the remote will look like this -
  9507. note the .bin extensions added to prevent the cloud provider attempting
  9508. to interpret the data.
  9509. $ rclone -q ls remote:path
  9510. 54 file0.txt.bin
  9511. 57 subdir/file3.txt.bin
  9512. 56 subdir/file2.txt.bin
  9513. 58 subdir/subsubdir/file4.txt.bin
  9514. 55 file1.txt.bin
  9515. File name encryption modes
  9516. Here are some of the features of the file name encryption modes
  9517. Off
  9518. - doesn’t hide file names or directory structure
  9519. - allows for longer file names (~246 characters)
  9520. - can use sub paths and copy single files
  9521. Standard
  9522. - file names encrypted
  9523. - file names can’t be as long (~143 characters)
  9524. - can use sub paths and copy single files
  9525. - directory structure visible
  9526. - identical files names will have identical uploaded names
  9527. - can use shortcuts to shorten the directory recursion
  9528. Obfuscation
  9529. This is a simple “rotate” of the filename, with each file having a rot
  9530. distance based on the filename. We store the distance at the beginning
  9531. of the filename. So a file called “hello” may become “53.jgnnq”
  9532. This is not a strong encryption of filenames, but it may stop automated
  9533. scanning tools from picking up on filename patterns. As such it’s an
  9534. intermediate between “off” and “standard”. The advantage is that it
  9535. allows for longer path segment names.
  9536. There is a possibility with some unicode based filenames that the
  9537. obfuscation is weak and may map lower case characters to upper case
  9538. equivalents. You can not rely on this for strong protection.
  9539. - file names very lightly obfuscated
  9540. - file names can be longer than standard encryption
  9541. - can use sub paths and copy single files
  9542. - directory structure visible
  9543. - identical files names will have identical uploaded names
  9544. Cloud storage systems have various limits on file name length and total
  9545. path length which you are more likely to hit using “Standard” file name
  9546. encryption. If you keep your file names to below 156 characters in
  9547. length then you should be OK on all providers.
  9548. There may be an even more secure file name encryption mode in the future
  9549. which will address the long file name problem.
  9550. Directory name encryption
  9551. Crypt offers the option of encrypting dir names or leaving them intact.
  9552. There are two options:
  9553. True
  9554. Encrypts the whole file path including directory names Example:
  9555. 1/12/123.txt is encrypted to
  9556. p0e52nreeaj0a5ea7s64m4j72s/l42g6771hnv3an9cgc8cr2n1ng/qgm4avr35m5loi1th53ato71v0
  9557. False
  9558. Only encrypts file names, skips directory names Example: 1/12/123.txt is
  9559. encrypted to 1/12/qgm4avr35m5loi1th53ato71v0
  9560. Modified time and hashes
  9561. Crypt stores modification times using the underlying remote so support
  9562. depends on that.
  9563. Hashes are not stored for crypt. However the data integrity is protected
  9564. by an extremely strong crypto authenticator.
  9565. Note that you should use the rclone cryptcheck command to check the
  9566. integrity of a crypted remote instead of rclone check which can’t check
  9567. the checksums properly.
  9568. Standard Options
  9569. Here are the standard options specific to crypt (Encrypt/Decrypt a
  9570. remote).
  9571. –crypt-remote
  9572. Remote to encrypt/decrypt. Normally should contain a ‘:’ and a path, eg
  9573. “myremote:path/to/dir”, “myremote:bucket” or maybe “myremote:” (not
  9574. recommended).
  9575. - Config: remote
  9576. - Env Var: RCLONE_CRYPT_REMOTE
  9577. - Type: string
  9578. - Default: ""
  9579. –crypt-filename-encryption
  9580. How to encrypt the filenames.
  9581. - Config: filename_encryption
  9582. - Env Var: RCLONE_CRYPT_FILENAME_ENCRYPTION
  9583. - Type: string
  9584. - Default: “standard”
  9585. - Examples:
  9586. - “standard”
  9587. - Encrypt the filenames see the docs for the details.
  9588. - “obfuscate”
  9589. - Very simple filename obfuscation.
  9590. - “off”
  9591. - Don’t encrypt the file names. Adds a “.bin” extension only.
  9592. –crypt-directory-name-encryption
  9593. Option to either encrypt directory names or leave them intact.
  9594. - Config: directory_name_encryption
  9595. - Env Var: RCLONE_CRYPT_DIRECTORY_NAME_ENCRYPTION
  9596. - Type: bool
  9597. - Default: true
  9598. - Examples:
  9599. - “true”
  9600. - Encrypt directory names.
  9601. - “false”
  9602. - Don’t encrypt directory names, leave them intact.
  9603. –crypt-password
  9604. Password or pass phrase for encryption.
  9605. - Config: password
  9606. - Env Var: RCLONE_CRYPT_PASSWORD
  9607. - Type: string
  9608. - Default: ""
  9609. –crypt-password2
  9610. Password or pass phrase for salt. Optional but recommended. Should be
  9611. different to the previous password.
  9612. - Config: password2
  9613. - Env Var: RCLONE_CRYPT_PASSWORD2
  9614. - Type: string
  9615. - Default: ""
  9616. Advanced Options
  9617. Here are the advanced options specific to crypt (Encrypt/Decrypt a
  9618. remote).
  9619. –crypt-show-mapping
  9620. For all files listed show how the names encrypt.
  9621. If this flag is set then for each file that the remote is asked to list,
  9622. it will log (at level INFO) a line stating the decrypted file name and
  9623. the encrypted file name.
  9624. This is so you can work out which encrypted names are which decrypted
  9625. names just in case you need to do something with the encrypted file
  9626. names, or for debugging purposes.
  9627. - Config: show_mapping
  9628. - Env Var: RCLONE_CRYPT_SHOW_MAPPING
  9629. - Type: bool
  9630. - Default: false
  9631. Backing up a crypted remote
  9632. If you wish to backup a crypted remote, it it recommended that you use
  9633. rclone sync on the encrypted files, and make sure the passwords are the
  9634. same in the new encrypted remote.
  9635. This will have the following advantages
  9636. - rclone sync will check the checksums while copying
  9637. - you can use rclone check between the encrypted remotes
  9638. - you don’t decrypt and encrypt unnecessarily
  9639. For example, let’s say you have your original remote at remote: with the
  9640. encrypted version at eremote: with path remote:crypt. You would then set
  9641. up the new remote remote2: and then the encrypted version eremote2: with
  9642. path remote2:crypt using the same passwords as eremote:.
  9643. To sync the two remotes you would do
  9644. rclone sync remote:crypt remote2:crypt
  9645. And to check the integrity you would do
  9646. rclone check remote:crypt remote2:crypt
  9647. File formats
  9648. File encryption
  9649. Files are encrypted 1:1 source file to destination object. The file has
  9650. a header and is divided into chunks.
  9651. Header
  9652. - 8 bytes magic string RCLONE\x00\x00
  9653. - 24 bytes Nonce (IV)
  9654. The initial nonce is generated from the operating systems crypto strong
  9655. random number generator. The nonce is incremented for each chunk read
  9656. making sure each nonce is unique for each block written. The chance of a
  9657. nonce being re-used is minuscule. If you wrote an exabyte of data (10¹⁸
  9658. bytes) you would have a probability of approximately 2×10⁻³² of re-using
  9659. a nonce.
  9660. Chunk
  9661. Each chunk will contain 64kB of data, except for the last one which may
  9662. have less data. The data chunk is in standard NACL secretbox format.
  9663. Secretbox uses XSalsa20 and Poly1305 to encrypt and authenticate
  9664. messages.
  9665. Each chunk contains:
  9666. - 16 Bytes of Poly1305 authenticator
  9667. - 1 - 65536 bytes XSalsa20 encrypted data
  9668. 64k chunk size was chosen as the best performing chunk size (the
  9669. authenticator takes too much time below this and the performance drops
  9670. off due to cache effects above this). Note that these chunks are
  9671. buffered in memory so they can’t be too big.
  9672. This uses a 32 byte (256 bit key) key derived from the user password.
  9673. Examples
  9674. 1 byte file will encrypt to
  9675. - 32 bytes header
  9676. - 17 bytes data chunk
  9677. 49 bytes total
  9678. 1MB (1048576 bytes) file will encrypt to
  9679. - 32 bytes header
  9680. - 16 chunks of 65568 bytes
  9681. 1049120 bytes total (a 0.05% overhead). This is the overhead for big
  9682. files.
  9683. Name encryption
  9684. File names are encrypted segment by segment - the path is broken up into
  9685. / separated strings and these are encrypted individually.
  9686. File segments are padded using using PKCS#7 to a multiple of 16 bytes
  9687. before encryption.
  9688. They are then encrypted with EME using AES with 256 bit key. EME
  9689. (ECB-Mix-ECB) is a wide-block encryption mode presented in the 2003
  9690. paper “A Parallelizable Enciphering Mode” by Halevi and Rogaway.
  9691. This makes for deterministic encryption which is what we want - the same
  9692. filename must encrypt to the same thing otherwise we can’t find it on
  9693. the cloud storage system.
  9694. This means that
  9695. - filenames with the same name will encrypt the same
  9696. - filenames which start the same won’t have a common prefix
  9697. This uses a 32 byte key (256 bits) and a 16 byte (128 bits) IV both of
  9698. which are derived from the user password.
  9699. After encryption they are written out using a modified version of
  9700. standard base32 encoding as described in RFC4648. The standard encoding
  9701. is modified in two ways:
  9702. - it becomes lower case (no-one likes upper case filenames!)
  9703. - we strip the padding character =
  9704. base32 is used rather than the more efficient base64 so rclone can be
  9705. used on case insensitive remotes (eg Windows, Amazon Drive).
  9706. Key derivation
  9707. Rclone uses scrypt with parameters N=16384, r=8, p=1 with an optional
  9708. user supplied salt (password2) to derive the 32+32+16 = 80 bytes of key
  9709. material required. If the user doesn’t supply a salt then rclone uses an
  9710. internal one.
  9711. scrypt makes it impractical to mount a dictionary attack on rclone
  9712. encrypted data. For full protection against this you should always use a
  9713. salt.
  9714. Dropbox
  9715. Paths are specified as remote:path
  9716. Dropbox paths may be as deep as required, eg
  9717. remote:directory/subdirectory.
  9718. The initial setup for dropbox involves getting a token from Dropbox
  9719. which you need to do in your browser. rclone config walks you through
  9720. it.
  9721. Here is an example of how to make a remote called remote. First run:
  9722. rclone config
  9723. This will guide you through an interactive setup process:
  9724. n) New remote
  9725. d) Delete remote
  9726. q) Quit config
  9727. e/n/d/q> n
  9728. name> remote
  9729. Type of storage to configure.
  9730. Choose a number from below, or type in your own value
  9731. [snip]
  9732. XX / Dropbox
  9733. \ "dropbox"
  9734. [snip]
  9735. Storage> dropbox
  9736. Dropbox App Key - leave blank normally.
  9737. app_key>
  9738. Dropbox App Secret - leave blank normally.
  9739. app_secret>
  9740. Remote config
  9741. Please visit:
  9742. https://www.dropbox.com/1/oauth2/authorize?client_id=XXXXXXXXXXXXXXX&response_type=code
  9743. Enter the code: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX_XXXXXXXXXX
  9744. --------------------
  9745. [remote]
  9746. app_key =
  9747. app_secret =
  9748. token = XXXXXXXXXXXXXXXXXXXXXXXXXXXXX_XXXX_XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  9749. --------------------
  9750. y) Yes this is OK
  9751. e) Edit this remote
  9752. d) Delete this remote
  9753. y/e/d> y
  9754. You can then use it like this,
  9755. List directories in top level of your dropbox
  9756. rclone lsd remote:
  9757. List all the files in your dropbox
  9758. rclone ls remote:
  9759. To copy a local directory to a dropbox directory called backup
  9760. rclone copy /home/source remote:backup
  9761. Dropbox for business
  9762. Rclone supports Dropbox for business and Team Folders.
  9763. When using Dropbox for business remote: and remote:path/to/file will
  9764. refer to your personal folder.
  9765. If you wish to see Team Folders you must use a leading / in the path, so
  9766. rclone lsd remote:/ will refer to the root and show you all Team Folders
  9767. and your User Folder.
  9768. You can then use team folders like this remote:/TeamFolder and
  9769. remote:/TeamFolder/path/to/file.
  9770. A leading / for a Dropbox personal account will do nothing, but it will
  9771. take an extra HTTP transaction so it should be avoided.
  9772. Modified time and Hashes
  9773. Dropbox supports modified times, but the only way to set a modification
  9774. time is to re-upload the file.
  9775. This means that if you uploaded your data with an older version of
  9776. rclone which didn’t support the v2 API and modified times, rclone will
  9777. decide to upload all your old data to fix the modification times. If you
  9778. don’t want this to happen use --size-only or --checksum flag to stop it.
  9779. Dropbox supports its own hash type which is checked for all transfers.
  9780. Restricted filename characters
  9781. Character Value Replacement
  9782. ----------- ------- -------------
  9783. NUL 0x00 ␀
  9784. / 0x2F /
  9785. DEL 0x7F ␡
  9786. \ 0x5C \
  9787. File names can also not end with the following characters. These only
  9788. get replaced if they are last character in the name:
  9789. Character Value Replacement
  9790. ----------- ------- -------------
  9791. SP 0x20 ␠
  9792. Invalid UTF-8 bytes will also be replaced, as they can’t be used in JSON
  9793. strings.
  9794. Standard Options
  9795. Here are the standard options specific to dropbox (Dropbox).
  9796. –dropbox-client-id
  9797. Dropbox App Client Id Leave blank normally.
  9798. - Config: client_id
  9799. - Env Var: RCLONE_DROPBOX_CLIENT_ID
  9800. - Type: string
  9801. - Default: ""
  9802. –dropbox-client-secret
  9803. Dropbox App Client Secret Leave blank normally.
  9804. - Config: client_secret
  9805. - Env Var: RCLONE_DROPBOX_CLIENT_SECRET
  9806. - Type: string
  9807. - Default: ""
  9808. Advanced Options
  9809. Here are the advanced options specific to dropbox (Dropbox).
  9810. –dropbox-chunk-size
  9811. Upload chunk size. (< 150M).
  9812. Any files larger than this will be uploaded in chunks of this size.
  9813. Note that chunks are buffered in memory (one at a time) so rclone can
  9814. deal with retries. Setting this larger will increase the speed slightly
  9815. (at most 10% for 128MB in tests) at the cost of using more memory. It
  9816. can be set smaller if you are tight on memory.
  9817. - Config: chunk_size
  9818. - Env Var: RCLONE_DROPBOX_CHUNK_SIZE
  9819. - Type: SizeSuffix
  9820. - Default: 48M
  9821. –dropbox-impersonate
  9822. Impersonate this user when using a business account.
  9823. - Config: impersonate
  9824. - Env Var: RCLONE_DROPBOX_IMPERSONATE
  9825. - Type: string
  9826. - Default: ""
  9827. –dropbox-encoding
  9828. This sets the encoding for the backend.
  9829. See: the encoding section in the overview for more info.
  9830. - Config: encoding
  9831. - Env Var: RCLONE_DROPBOX_ENCODING
  9832. - Type: MultiEncoder
  9833. - Default: Slash,BackSlash,Del,RightSpace,InvalidUtf8,Dot
  9834. Limitations
  9835. Note that Dropbox is case insensitive so you can’t have a file called
  9836. “Hello.doc” and one called “hello.doc”.
  9837. There are some file names such as thumbs.db which Dropbox can’t store.
  9838. There is a full list of them in the “Ignored Files” section of this
  9839. document. Rclone will issue an error message
  9840. File name disallowed - not uploading if it attempts to upload one of
  9841. those file names, but the sync won’t fail.
  9842. If you have more than 10,000 files in a directory then
  9843. rclone purge dropbox:dir will return the error
  9844. Failed to purge: There are too many files involved in this operation. As
  9845. a work-around do an rclone delete dropbox:dir followed by an
  9846. rclone rmdir dropbox:dir.
  9847. Get your own Dropbox App ID
  9848. When you use rclone with Dropbox in its default configuration you are
  9849. using rclone’s App ID. This is shared between all the rclone users.
  9850. Here is how to create your own Dropbox App ID for rclone:
  9851. 1. Log into the Dropbox App console with your Dropbox Account (It need
  9852. not to be the same account as the Dropbox you want to access)
  9853. 2. Choose an API => Usually this should be Dropbox API
  9854. 3. Choose the type of access you want to use => Full Dropbox or App
  9855. Folder
  9856. 4. Name your App
  9857. 5. Click the button Create App
  9858. 6. Find the App key and App secret Use these values in rclone config to
  9859. add a new remote or edit an existing remote.
  9860. FTP
  9861. FTP is the File Transfer Protocol. FTP support is provided using the
  9862. github.com/jlaffaye/ftp package.
  9863. Here is an example of making an FTP configuration. First run
  9864. rclone config
  9865. This will guide you through an interactive setup process. An FTP remote
  9866. only needs a host together with and a username and a password. With
  9867. anonymous FTP server, you will need to use anonymous as username and
  9868. your email address as the password.
  9869. No remotes found - make a new one
  9870. n) New remote
  9871. r) Rename remote
  9872. c) Copy remote
  9873. s) Set configuration password
  9874. q) Quit config
  9875. n/r/c/s/q> n
  9876. name> remote
  9877. Type of storage to configure.
  9878. Enter a string value. Press Enter for the default ("").
  9879. Choose a number from below, or type in your own value
  9880. [snip]
  9881. XX / FTP Connection
  9882. \ "ftp"
  9883. [snip]
  9884. Storage> ftp
  9885. ** See help for ftp backend at: https://rclone.org/ftp/ **
  9886. FTP host to connect to
  9887. Enter a string value. Press Enter for the default ("").
  9888. Choose a number from below, or type in your own value
  9889. 1 / Connect to ftp.example.com
  9890. \ "ftp.example.com"
  9891. host> ftp.example.com
  9892. FTP username, leave blank for current username, ncw
  9893. Enter a string value. Press Enter for the default ("").
  9894. user>
  9895. FTP port, leave blank to use default (21)
  9896. Enter a string value. Press Enter for the default ("").
  9897. port>
  9898. FTP password
  9899. y) Yes type in my own password
  9900. g) Generate random password
  9901. y/g> y
  9902. Enter the password:
  9903. password:
  9904. Confirm the password:
  9905. password:
  9906. Use FTP over TLS (Implicit)
  9907. Enter a boolean value (true or false). Press Enter for the default ("false").
  9908. tls>
  9909. Remote config
  9910. --------------------
  9911. [remote]
  9912. type = ftp
  9913. host = ftp.example.com
  9914. pass = *** ENCRYPTED ***
  9915. --------------------
  9916. y) Yes this is OK
  9917. e) Edit this remote
  9918. d) Delete this remote
  9919. y/e/d> y
  9920. This remote is called remote and can now be used like this
  9921. See all directories in the home directory
  9922. rclone lsd remote:
  9923. Make a new directory
  9924. rclone mkdir remote:path/to/directory
  9925. List the contents of a directory
  9926. rclone ls remote:path/to/directory
  9927. Sync /home/local/directory to the remote directory, deleting any excess
  9928. files in the directory.
  9929. rclone sync /home/local/directory remote:directory
  9930. Modified time
  9931. FTP does not support modified times. Any times you see on the server
  9932. will be time of upload.
  9933. Checksums
  9934. FTP does not support any checksums.
  9935. Restricted filename characters
  9936. In addition to the default restricted characters set the following
  9937. characters are also replaced:
  9938. File names can also not end with the following characters. These only
  9939. get replaced if they are last character in the name:
  9940. Character Value Replacement
  9941. ----------- ------- -------------
  9942. SP 0x20 ␠
  9943. Note that not all FTP servers can have all characters in file names, for
  9944. example:
  9945. FTP Server Forbidden characters
  9946. ------------ ----------------------
  9947. proftpd *
  9948. pureftpd \ [ ]
  9949. Implicit TLS
  9950. FTP supports implicit FTP over TLS servers (FTPS). This has to be
  9951. enabled in the config for the remote. The default FTPS port is 990 so
  9952. the port will likely have to be explictly set in the config for the
  9953. remote.
  9954. Standard Options
  9955. Here are the standard options specific to ftp (FTP Connection).
  9956. –ftp-host
  9957. FTP host to connect to
  9958. - Config: host
  9959. - Env Var: RCLONE_FTP_HOST
  9960. - Type: string
  9961. - Default: ""
  9962. - Examples:
  9963. - “ftp.example.com”
  9964. - Connect to ftp.example.com
  9965. –ftp-user
  9966. FTP username, leave blank for current username, $USER
  9967. - Config: user
  9968. - Env Var: RCLONE_FTP_USER
  9969. - Type: string
  9970. - Default: ""
  9971. –ftp-port
  9972. FTP port, leave blank to use default (21)
  9973. - Config: port
  9974. - Env Var: RCLONE_FTP_PORT
  9975. - Type: string
  9976. - Default: ""
  9977. –ftp-pass
  9978. FTP password
  9979. - Config: pass
  9980. - Env Var: RCLONE_FTP_PASS
  9981. - Type: string
  9982. - Default: ""
  9983. –ftp-tls
  9984. Use FTP over TLS (Implicit)
  9985. - Config: tls
  9986. - Env Var: RCLONE_FTP_TLS
  9987. - Type: bool
  9988. - Default: false
  9989. Advanced Options
  9990. Here are the advanced options specific to ftp (FTP Connection).
  9991. –ftp-concurrency
  9992. Maximum number of FTP simultaneous connections, 0 for unlimited
  9993. - Config: concurrency
  9994. - Env Var: RCLONE_FTP_CONCURRENCY
  9995. - Type: int
  9996. - Default: 0
  9997. –ftp-no-check-certificate
  9998. Do not verify the TLS certificate of the server
  9999. - Config: no_check_certificate
  10000. - Env Var: RCLONE_FTP_NO_CHECK_CERTIFICATE
  10001. - Type: bool
  10002. - Default: false
  10003. –ftp-disable-epsv
  10004. Disable using EPSV even if server advertises support
  10005. - Config: disable_epsv
  10006. - Env Var: RCLONE_FTP_DISABLE_EPSV
  10007. - Type: bool
  10008. - Default: false
  10009. –ftp-encoding
  10010. This sets the encoding for the backend.
  10011. See: the encoding section in the overview for more info.
  10012. - Config: encoding
  10013. - Env Var: RCLONE_FTP_ENCODING
  10014. - Type: MultiEncoder
  10015. - Default: Slash,Del,Ctl,RightSpace,Dot
  10016. Limitations
  10017. Note that since FTP isn’t HTTP based the following flags don’t work with
  10018. it: --dump-headers, --dump-bodies, --dump-auth
  10019. Note that --timeout isn’t supported (but --contimeout is).
  10020. Note that --bind isn’t supported.
  10021. FTP could support server side move but doesn’t yet.
  10022. Note that the ftp backend does not support the ftp_proxy environment
  10023. variable yet.
  10024. Note that while implicit FTP over TLS is supported, explicit FTP over
  10025. TLS is not.
  10026. Google Cloud Storage
  10027. Paths are specified as remote:bucket (or remote: for the lsd command.)
  10028. You may put subdirectories in too, eg remote:bucket/path/to/dir.
  10029. The initial setup for google cloud storage involves getting a token from
  10030. Google Cloud Storage which you need to do in your browser. rclone config
  10031. walks you through it.
  10032. Here is an example of how to make a remote called remote. First run:
  10033. rclone config
  10034. This will guide you through an interactive setup process:
  10035. n) New remote
  10036. d) Delete remote
  10037. q) Quit config
  10038. e/n/d/q> n
  10039. name> remote
  10040. Type of storage to configure.
  10041. Choose a number from below, or type in your own value
  10042. [snip]
  10043. XX / Google Cloud Storage (this is not Google Drive)
  10044. \ "google cloud storage"
  10045. [snip]
  10046. Storage> google cloud storage
  10047. Google Application Client Id - leave blank normally.
  10048. client_id>
  10049. Google Application Client Secret - leave blank normally.
  10050. client_secret>
  10051. Project number optional - needed only for list/create/delete buckets - see your developer console.
  10052. project_number> 12345678
  10053. Service Account Credentials JSON file path - needed only if you want use SA instead of interactive login.
  10054. service_account_file>
  10055. Access Control List for new objects.
  10056. Choose a number from below, or type in your own value
  10057. 1 / Object owner gets OWNER access, and all Authenticated Users get READER access.
  10058. \ "authenticatedRead"
  10059. 2 / Object owner gets OWNER access, and project team owners get OWNER access.
  10060. \ "bucketOwnerFullControl"
  10061. 3 / Object owner gets OWNER access, and project team owners get READER access.
  10062. \ "bucketOwnerRead"
  10063. 4 / Object owner gets OWNER access [default if left blank].
  10064. \ "private"
  10065. 5 / Object owner gets OWNER access, and project team members get access according to their roles.
  10066. \ "projectPrivate"
  10067. 6 / Object owner gets OWNER access, and all Users get READER access.
  10068. \ "publicRead"
  10069. object_acl> 4
  10070. Access Control List for new buckets.
  10071. Choose a number from below, or type in your own value
  10072. 1 / Project team owners get OWNER access, and all Authenticated Users get READER access.
  10073. \ "authenticatedRead"
  10074. 2 / Project team owners get OWNER access [default if left blank].
  10075. \ "private"
  10076. 3 / Project team members get access according to their roles.
  10077. \ "projectPrivate"
  10078. 4 / Project team owners get OWNER access, and all Users get READER access.
  10079. \ "publicRead"
  10080. 5 / Project team owners get OWNER access, and all Users get WRITER access.
  10081. \ "publicReadWrite"
  10082. bucket_acl> 2
  10083. Location for the newly created buckets.
  10084. Choose a number from below, or type in your own value
  10085. 1 / Empty for default location (US).
  10086. \ ""
  10087. 2 / Multi-regional location for Asia.
  10088. \ "asia"
  10089. 3 / Multi-regional location for Europe.
  10090. \ "eu"
  10091. 4 / Multi-regional location for United States.
  10092. \ "us"
  10093. 5 / Taiwan.
  10094. \ "asia-east1"
  10095. 6 / Tokyo.
  10096. \ "asia-northeast1"
  10097. 7 / Singapore.
  10098. \ "asia-southeast1"
  10099. 8 / Sydney.
  10100. \ "australia-southeast1"
  10101. 9 / Belgium.
  10102. \ "europe-west1"
  10103. 10 / London.
  10104. \ "europe-west2"
  10105. 11 / Iowa.
  10106. \ "us-central1"
  10107. 12 / South Carolina.
  10108. \ "us-east1"
  10109. 13 / Northern Virginia.
  10110. \ "us-east4"
  10111. 14 / Oregon.
  10112. \ "us-west1"
  10113. location> 12
  10114. The storage class to use when storing objects in Google Cloud Storage.
  10115. Choose a number from below, or type in your own value
  10116. 1 / Default
  10117. \ ""
  10118. 2 / Multi-regional storage class
  10119. \ "MULTI_REGIONAL"
  10120. 3 / Regional storage class
  10121. \ "REGIONAL"
  10122. 4 / Nearline storage class
  10123. \ "NEARLINE"
  10124. 5 / Coldline storage class
  10125. \ "COLDLINE"
  10126. 6 / Durable reduced availability storage class
  10127. \ "DURABLE_REDUCED_AVAILABILITY"
  10128. storage_class> 5
  10129. Remote config
  10130. Use auto config?
  10131. * Say Y if not sure
  10132. * Say N if you are working on a remote or headless machine or Y didn't work
  10133. y) Yes
  10134. n) No
  10135. y/n> y
  10136. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  10137. Log in and authorize rclone for access
  10138. Waiting for code...
  10139. Got code
  10140. --------------------
  10141. [remote]
  10142. type = google cloud storage
  10143. client_id =
  10144. client_secret =
  10145. token = {"AccessToken":"xxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","RefreshToken":"x/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_xxxxxxxxx","Expiry":"2014-07-17T20:49:14.929208288+01:00","Extra":null}
  10146. project_number = 12345678
  10147. object_acl = private
  10148. bucket_acl = private
  10149. --------------------
  10150. y) Yes this is OK
  10151. e) Edit this remote
  10152. d) Delete this remote
  10153. y/e/d> y
  10154. Note that rclone runs a webserver on your local machine to collect the
  10155. token as returned from Google if you use auto config mode. This only
  10156. runs from the moment it opens your browser to the moment you get back
  10157. the verification code. This is on http://127.0.0.1:53682/ and this it
  10158. may require you to unblock it temporarily if you are running a host
  10159. firewall, or use manual mode.
  10160. This remote is called remote and can now be used like this
  10161. See all the buckets in your project
  10162. rclone lsd remote:
  10163. Make a new bucket
  10164. rclone mkdir remote:bucket
  10165. List the contents of a bucket
  10166. rclone ls remote:bucket
  10167. Sync /home/local/directory to the remote bucket, deleting any excess
  10168. files in the bucket.
  10169. rclone sync /home/local/directory remote:bucket
  10170. Service Account support
  10171. You can set up rclone with Google Cloud Storage in an unattended mode,
  10172. i.e. not tied to a specific end-user Google account. This is useful when
  10173. you want to synchronise files onto machines that don’t have actively
  10174. logged-in users, for example build machines.
  10175. To get credentials for Google Cloud Platform IAM Service Accounts,
  10176. please head to the Service Account section of the Google Developer
  10177. Console. Service Accounts behave just like normal User permissions in
  10178. Google Cloud Storage ACLs, so you can limit their access (e.g. make them
  10179. read only). After creating an account, a JSON file containing the
  10180. Service Account’s credentials will be downloaded onto your machines.
  10181. These credentials are what rclone will use for authentication.
  10182. To use a Service Account instead of OAuth2 token flow, enter the path to
  10183. your Service Account credentials at the service_account_file prompt and
  10184. rclone won’t use the browser based authentication flow. If you’d rather
  10185. stuff the contents of the credentials file into the rclone config file,
  10186. you can set service_account_credentials with the actual contents of the
  10187. file instead, or set the equivalent environment variable.
  10188. Application Default Credentials
  10189. If no other source of credentials is provided, rclone will fall back to
  10190. Application Default Credentials this is useful both when you already
  10191. have configured authentication for your developer account, or in
  10192. production when running on a google compute host. Note that if running
  10193. in docker, you may need to run additional commands on your google
  10194. compute machine - see this page.
  10195. Note that in the case application default credentials are used, there is
  10196. no need to explicitly configure a project number.
  10197. –fast-list
  10198. This remote supports --fast-list which allows you to use fewer
  10199. transactions in exchange for more memory. See the rclone docs for more
  10200. details.
  10201. Modified time
  10202. Google google cloud storage stores md5sums natively and rclone stores
  10203. modification times as metadata on the object, under the “mtime” key in
  10204. RFC3339 format accurate to 1ns.
  10205. Restricted filename characters
  10206. Character Value Replacement
  10207. ----------- ------- -------------
  10208. NUL 0x00 ␀
  10209. LF 0x0A ␊
  10210. CR 0x0D ␍
  10211. / 0x2F /
  10212. Invalid UTF-8 bytes will also be replaced, as they can’t be used in JSON
  10213. strings.
  10214. Standard Options
  10215. Here are the standard options specific to google cloud storage (Google
  10216. Cloud Storage (this is not Google Drive)).
  10217. –gcs-client-id
  10218. Google Application Client Id Leave blank normally.
  10219. - Config: client_id
  10220. - Env Var: RCLONE_GCS_CLIENT_ID
  10221. - Type: string
  10222. - Default: ""
  10223. –gcs-client-secret
  10224. Google Application Client Secret Leave blank normally.
  10225. - Config: client_secret
  10226. - Env Var: RCLONE_GCS_CLIENT_SECRET
  10227. - Type: string
  10228. - Default: ""
  10229. –gcs-project-number
  10230. Project number. Optional - needed only for list/create/delete buckets -
  10231. see your developer console.
  10232. - Config: project_number
  10233. - Env Var: RCLONE_GCS_PROJECT_NUMBER
  10234. - Type: string
  10235. - Default: ""
  10236. –gcs-service-account-file
  10237. Service Account Credentials JSON file path Leave blank normally. Needed
  10238. only if you want use SA instead of interactive login.
  10239. - Config: service_account_file
  10240. - Env Var: RCLONE_GCS_SERVICE_ACCOUNT_FILE
  10241. - Type: string
  10242. - Default: ""
  10243. –gcs-service-account-credentials
  10244. Service Account Credentials JSON blob Leave blank normally. Needed only
  10245. if you want use SA instead of interactive login.
  10246. - Config: service_account_credentials
  10247. - Env Var: RCLONE_GCS_SERVICE_ACCOUNT_CREDENTIALS
  10248. - Type: string
  10249. - Default: ""
  10250. –gcs-object-acl
  10251. Access Control List for new objects.
  10252. - Config: object_acl
  10253. - Env Var: RCLONE_GCS_OBJECT_ACL
  10254. - Type: string
  10255. - Default: ""
  10256. - Examples:
  10257. - “authenticatedRead”
  10258. - Object owner gets OWNER access, and all Authenticated Users
  10259. get READER access.
  10260. - “bucketOwnerFullControl”
  10261. - Object owner gets OWNER access, and project team owners get
  10262. OWNER access.
  10263. - “bucketOwnerRead”
  10264. - Object owner gets OWNER access, and project team owners get
  10265. READER access.
  10266. - “private”
  10267. - Object owner gets OWNER access [default if left blank].
  10268. - “projectPrivate”
  10269. - Object owner gets OWNER access, and project team members get
  10270. access according to their roles.
  10271. - “publicRead”
  10272. - Object owner gets OWNER access, and all Users get READER
  10273. access.
  10274. –gcs-bucket-acl
  10275. Access Control List for new buckets.
  10276. - Config: bucket_acl
  10277. - Env Var: RCLONE_GCS_BUCKET_ACL
  10278. - Type: string
  10279. - Default: ""
  10280. - Examples:
  10281. - “authenticatedRead”
  10282. - Project team owners get OWNER access, and all Authenticated
  10283. Users get READER access.
  10284. - “private”
  10285. - Project team owners get OWNER access [default if left
  10286. blank].
  10287. - “projectPrivate”
  10288. - Project team members get access according to their roles.
  10289. - “publicRead”
  10290. - Project team owners get OWNER access, and all Users get
  10291. READER access.
  10292. - “publicReadWrite”
  10293. - Project team owners get OWNER access, and all Users get
  10294. WRITER access.
  10295. –gcs-bucket-policy-only
  10296. Access checks should use bucket-level IAM policies.
  10297. If you want to upload objects to a bucket with Bucket Policy Only set
  10298. then you will need to set this.
  10299. When it is set, rclone:
  10300. - ignores ACLs set on buckets
  10301. - ignores ACLs set on objects
  10302. - creates buckets with Bucket Policy Only set
  10303. Docs: https://cloud.google.com/storage/docs/bucket-policy-only
  10304. - Config: bucket_policy_only
  10305. - Env Var: RCLONE_GCS_BUCKET_POLICY_ONLY
  10306. - Type: bool
  10307. - Default: false
  10308. –gcs-location
  10309. Location for the newly created buckets.
  10310. - Config: location
  10311. - Env Var: RCLONE_GCS_LOCATION
  10312. - Type: string
  10313. - Default: ""
  10314. - Examples:
  10315. - ""
  10316. - Empty for default location (US).
  10317. - “asia”
  10318. - Multi-regional location for Asia.
  10319. - “eu”
  10320. - Multi-regional location for Europe.
  10321. - “us”
  10322. - Multi-regional location for United States.
  10323. - “asia-east1”
  10324. - Taiwan.
  10325. - “asia-east2”
  10326. - Hong Kong.
  10327. - “asia-northeast1”
  10328. - Tokyo.
  10329. - “asia-south1”
  10330. - Mumbai.
  10331. - “asia-southeast1”
  10332. - Singapore.
  10333. - “australia-southeast1”
  10334. - Sydney.
  10335. - “europe-north1”
  10336. - Finland.
  10337. - “europe-west1”
  10338. - Belgium.
  10339. - “europe-west2”
  10340. - London.
  10341. - “europe-west3”
  10342. - Frankfurt.
  10343. - “europe-west4”
  10344. - Netherlands.
  10345. - “us-central1”
  10346. - Iowa.
  10347. - “us-east1”
  10348. - South Carolina.
  10349. - “us-east4”
  10350. - Northern Virginia.
  10351. - “us-west1”
  10352. - Oregon.
  10353. - “us-west2”
  10354. - California.
  10355. –gcs-storage-class
  10356. The storage class to use when storing objects in Google Cloud Storage.
  10357. - Config: storage_class
  10358. - Env Var: RCLONE_GCS_STORAGE_CLASS
  10359. - Type: string
  10360. - Default: ""
  10361. - Examples:
  10362. - ""
  10363. - Default
  10364. - “MULTI_REGIONAL”
  10365. - Multi-regional storage class
  10366. - “REGIONAL”
  10367. - Regional storage class
  10368. - “NEARLINE”
  10369. - Nearline storage class
  10370. - “COLDLINE”
  10371. - Coldline storage class
  10372. - “DURABLE_REDUCED_AVAILABILITY”
  10373. - Durable reduced availability storage class
  10374. Advanced Options
  10375. Here are the advanced options specific to google cloud storage (Google
  10376. Cloud Storage (this is not Google Drive)).
  10377. –gcs-encoding
  10378. This sets the encoding for the backend.
  10379. See: the encoding section in the overview for more info.
  10380. - Config: encoding
  10381. - Env Var: RCLONE_GCS_ENCODING
  10382. - Type: MultiEncoder
  10383. - Default: Slash,CrLf,InvalidUtf8,Dot
  10384. Google Drive
  10385. Paths are specified as drive:path
  10386. Drive paths may be as deep as required, eg drive:directory/subdirectory.
  10387. The initial setup for drive involves getting a token from Google drive
  10388. which you need to do in your browser. rclone config walks you through
  10389. it.
  10390. Here is an example of how to make a remote called remote. First run:
  10391. rclone config
  10392. This will guide you through an interactive setup process:
  10393. No remotes found - make a new one
  10394. n) New remote
  10395. r) Rename remote
  10396. c) Copy remote
  10397. s) Set configuration password
  10398. q) Quit config
  10399. n/r/c/s/q> n
  10400. name> remote
  10401. Type of storage to configure.
  10402. Choose a number from below, or type in your own value
  10403. [snip]
  10404. XX / Google Drive
  10405. \ "drive"
  10406. [snip]
  10407. Storage> drive
  10408. Google Application Client Id - leave blank normally.
  10409. client_id>
  10410. Google Application Client Secret - leave blank normally.
  10411. client_secret>
  10412. Scope that rclone should use when requesting access from drive.
  10413. Choose a number from below, or type in your own value
  10414. 1 / Full access all files, excluding Application Data Folder.
  10415. \ "drive"
  10416. 2 / Read-only access to file metadata and file contents.
  10417. \ "drive.readonly"
  10418. / Access to files created by rclone only.
  10419. 3 | These are visible in the drive website.
  10420. | File authorization is revoked when the user deauthorizes the app.
  10421. \ "drive.file"
  10422. / Allows read and write access to the Application Data folder.
  10423. 4 | This is not visible in the drive website.
  10424. \ "drive.appfolder"
  10425. / Allows read-only access to file metadata but
  10426. 5 | does not allow any access to read or download file content.
  10427. \ "drive.metadata.readonly"
  10428. scope> 1
  10429. ID of the root folder - leave blank normally. Fill in to access "Computers" folders. (see docs).
  10430. root_folder_id>
  10431. Service Account Credentials JSON file path - needed only if you want use SA instead of interactive login.
  10432. service_account_file>
  10433. Remote config
  10434. Use auto config?
  10435. * Say Y if not sure
  10436. * Say N if you are working on a remote or headless machine or Y didn't work
  10437. y) Yes
  10438. n) No
  10439. y/n> y
  10440. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  10441. Log in and authorize rclone for access
  10442. Waiting for code...
  10443. Got code
  10444. Configure this as a team drive?
  10445. y) Yes
  10446. n) No
  10447. y/n> n
  10448. --------------------
  10449. [remote]
  10450. client_id =
  10451. client_secret =
  10452. scope = drive
  10453. root_folder_id =
  10454. service_account_file =
  10455. token = {"access_token":"XXX","token_type":"Bearer","refresh_token":"XXX","expiry":"2014-03-16T13:57:58.955387075Z"}
  10456. --------------------
  10457. y) Yes this is OK
  10458. e) Edit this remote
  10459. d) Delete this remote
  10460. y/e/d> y
  10461. Note that rclone runs a webserver on your local machine to collect the
  10462. token as returned from Google if you use auto config mode. This only
  10463. runs from the moment it opens your browser to the moment you get back
  10464. the verification code. This is on http://127.0.0.1:53682/ and this it
  10465. may require you to unblock it temporarily if you are running a host
  10466. firewall, or use manual mode.
  10467. You can then use it like this,
  10468. List directories in top level of your drive
  10469. rclone lsd remote:
  10470. List all the files in your drive
  10471. rclone ls remote:
  10472. To copy a local directory to a drive directory called backup
  10473. rclone copy /home/source remote:backup
  10474. Scopes
  10475. Rclone allows you to select which scope you would like for rclone to
  10476. use. This changes what type of token is granted to rclone. The scopes
  10477. are defined here..
  10478. The scope are
  10479. drive
  10480. This is the default scope and allows full access to all files, except
  10481. for the Application Data Folder (see below).
  10482. Choose this one if you aren’t sure.
  10483. drive.readonly
  10484. This allows read only access to all files. Files may be listed and
  10485. downloaded but not uploaded, renamed or deleted.
  10486. drive.file
  10487. With this scope rclone can read/view/modify only those files and folders
  10488. it creates.
  10489. So if you uploaded files to drive via the web interface (or any other
  10490. means) they will not be visible to rclone.
  10491. This can be useful if you are using rclone to backup data and you want
  10492. to be sure confidential data on your drive is not visible to rclone.
  10493. Files created with this scope are visible in the web interface.
  10494. drive.appfolder
  10495. This gives rclone its own private area to store files. Rclone will not
  10496. be able to see any other files on your drive and you won’t be able to
  10497. see rclone’s files from the web interface either.
  10498. drive.metadata.readonly
  10499. This allows read only access to file names only. It does not allow
  10500. rclone to download or upload data, or rename or delete files or
  10501. directories.
  10502. Root folder ID
  10503. You can set the root_folder_id for rclone. This is the directory
  10504. (identified by its Folder ID) that rclone considers to be the root of
  10505. your drive.
  10506. Normally you will leave this blank and rclone will determine the correct
  10507. root to use itself.
  10508. However you can set this to restrict rclone to a specific folder
  10509. hierarchy or to access data within the “Computers” tab on the drive web
  10510. interface (where files from Google’s Backup and Sync desktop program
  10511. go).
  10512. In order to do this you will have to find the Folder ID of the directory
  10513. you wish rclone to display. This will be the last segment of the URL
  10514. when you open the relevant folder in the drive web interface.
  10515. So if the folder you want rclone to use has a URL which looks like
  10516. https://drive.google.com/drive/folders/1XyfxxxxxxxxxxxxxxxxxxxxxxxxxKHCh
  10517. in the browser, then you use 1XyfxxxxxxxxxxxxxxxxxxxxxxxxxKHCh as the
  10518. root_folder_id in the config.
  10519. NB folders under the “Computers” tab seem to be read only (drive gives a
  10520. 500 error) when using rclone.
  10521. There doesn’t appear to be an API to discover the folder IDs of the
  10522. “Computers” tab - please contact us if you know otherwise!
  10523. Note also that rclone can’t access any data under the “Backups” tab on
  10524. the google drive web interface yet.
  10525. Service Account support
  10526. You can set up rclone with Google Drive in an unattended mode, i.e. not
  10527. tied to a specific end-user Google account. This is useful when you want
  10528. to synchronise files onto machines that don’t have actively logged-in
  10529. users, for example build machines.
  10530. To use a Service Account instead of OAuth2 token flow, enter the path to
  10531. your Service Account credentials at the service_account_file prompt
  10532. during rclone config and rclone won’t use the browser based
  10533. authentication flow. If you’d rather stuff the contents of the
  10534. credentials file into the rclone config file, you can set
  10535. service_account_credentials with the actual contents of the file
  10536. instead, or set the equivalent environment variable.
  10537. Use case - Google Apps/G-suite account and individual Drive
  10538. Let’s say that you are the administrator of a Google Apps (old) or
  10539. G-suite account. The goal is to store data on an individual’s Drive
  10540. account, who IS a member of the domain. We’ll call the domain
  10541. EXAMPLE.COM, and the user FOO@EXAMPLE.COM.
  10542. There’s a few steps we need to go through to accomplish this:
  10543. 1. Create a service account for example.com
  10544. - To create a service account and obtain its credentials, go to the
  10545. Google Developer Console.
  10546. - You must have a project - create one if you don’t.
  10547. - Then go to “IAM & admin” -> “Service Accounts”.
  10548. - Use the “Create Credentials” button. Fill in “Service account name”
  10549. with something that identifies your client. “Role” can be empty.
  10550. - Tick “Furnish a new private key” - select “Key type JSON”.
  10551. - Tick “Enable G Suite Domain-wide Delegation”. This option makes
  10552. “impersonation” possible, as documented here: Delegating domain-wide
  10553. authority to the service account
  10554. - These credentials are what rclone will use for authentication. If
  10555. you ever need to remove access, press the “Delete service account
  10556. key” button.
  10557. 2. Allowing API access to example.com Google Drive
  10558. - Go to example.com’s admin console
  10559. - Go into “Security” (or use the search bar)
  10560. - Select “Show more” and then “Advanced settings”
  10561. - Select “Manage API client access” in the “Authentication” section
  10562. - In the “Client Name” field enter the service account’s “Client ID” -
  10563. this can be found in the Developer Console under “IAM & Admin” ->
  10564. “Service Accounts”, then “View Client ID” for the newly created
  10565. service account. It is a ~21 character numerical string.
  10566. - In the next field, “One or More API Scopes”, enter
  10567. https://www.googleapis.com/auth/drive to grant access to Google
  10568. Drive specifically.
  10569. 3. Configure rclone, assuming a new install
  10570. rclone config
  10571. n/s/q> n # New
  10572. name>gdrive # Gdrive is an example name
  10573. Storage> # Select the number shown for Google Drive
  10574. client_id> # Can be left blank
  10575. client_secret> # Can be left blank
  10576. scope> # Select your scope, 1 for example
  10577. root_folder_id> # Can be left blank
  10578. service_account_file> /home/foo/myJSONfile.json # This is where the JSON file goes!
  10579. y/n> # Auto config, y
  10580. 4. Verify that it’s working
  10581. - rclone -v --drive-impersonate foo@example.com lsf gdrive:backup
  10582. - The arguments do:
  10583. - -v - verbose logging
  10584. - --drive-impersonate foo@example.com - this is what does the
  10585. magic, pretending to be user foo.
  10586. - lsf - list files in a parsing friendly way
  10587. - gdrive:backup - use the remote called gdrive, work in the folder
  10588. named backup.
  10589. Team drives
  10590. If you want to configure the remote to point to a Google Team Drive then
  10591. answer y to the question Configure this as a team drive?.
  10592. This will fetch the list of Team Drives from google and allow you to
  10593. configure which one you want to use. You can also type in a team drive
  10594. ID if you prefer.
  10595. For example:
  10596. Configure this as a team drive?
  10597. y) Yes
  10598. n) No
  10599. y/n> y
  10600. Fetching team drive list...
  10601. Choose a number from below, or type in your own value
  10602. 1 / Rclone Test
  10603. \ "xxxxxxxxxxxxxxxxxxxx"
  10604. 2 / Rclone Test 2
  10605. \ "yyyyyyyyyyyyyyyyyyyy"
  10606. 3 / Rclone Test 3
  10607. \ "zzzzzzzzzzzzzzzzzzzz"
  10608. Enter a Team Drive ID> 1
  10609. --------------------
  10610. [remote]
  10611. client_id =
  10612. client_secret =
  10613. token = {"AccessToken":"xxxx.x.xxxxx_xxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","RefreshToken":"1/xxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxx","Expiry":"2014-03-16T13:57:58.955387075Z","Extra":null}
  10614. team_drive = xxxxxxxxxxxxxxxxxxxx
  10615. --------------------
  10616. y) Yes this is OK
  10617. e) Edit this remote
  10618. d) Delete this remote
  10619. y/e/d> y
  10620. –fast-list
  10621. This remote supports --fast-list which allows you to use fewer
  10622. transactions in exchange for more memory. See the rclone docs for more
  10623. details.
  10624. It does this by combining multiple list calls into a single API request.
  10625. This works by combining many '%s' in parents filters into one
  10626. expression. To list the contents of directories a, b and c, the
  10627. following requests will be send by the regular List function:
  10628. trashed=false and 'a' in parents
  10629. trashed=false and 'b' in parents
  10630. trashed=false and 'c' in parents
  10631. These can now be combined into a single request:
  10632. trashed=false and ('a' in parents or 'b' in parents or 'c' in parents)
  10633. The implementation of ListR will put up to 50 parents filters into one
  10634. request. It will use the --checkers value to specify the number of
  10635. requests to run in parallel.
  10636. In tests, these batch requests were up to 20x faster than the regular
  10637. method. Running the following command against different sized folders
  10638. gives:
  10639. rclone lsjson -vv -R --checkers=6 gdrive:folder
  10640. small folder (220 directories, 700 files):
  10641. - without --fast-list: 38s
  10642. - with --fast-list: 10s
  10643. large folder (10600 directories, 39000 files):
  10644. - without --fast-list: 22:05 min
  10645. - with --fast-list: 58s
  10646. Modified time
  10647. Google drive stores modification times accurate to 1 ms.
  10648. Restricted filename characters
  10649. Only Invalid UTF-8 bytes will be replaced, as they can’t be used in JSON
  10650. strings.
  10651. In contrast to other backends, / can also be used in names and . or ..
  10652. are valid names.
  10653. Revisions
  10654. Google drive stores revisions of files. When you upload a change to an
  10655. existing file to google drive using rclone it will create a new revision
  10656. of that file.
  10657. Revisions follow the standard google policy which at time of writing was
  10658. - They are deleted after 30 days or 100 revisions (whatever comes
  10659. first).
  10660. - They do not count towards a user storage quota.
  10661. Deleting files
  10662. By default rclone will send all files to the trash when deleting files.
  10663. If deleting them permanently is required then use the
  10664. --drive-use-trash=false flag, or set the equivalent environment
  10665. variable.
  10666. Emptying trash
  10667. If you wish to empty your trash you can use the rclone cleanup remote:
  10668. command which will permanently delete all your trashed files. This
  10669. command does not take any path arguments.
  10670. Note that Google Drive takes some time (minutes to days) to empty the
  10671. trash even though the command returns within a few seconds. No output is
  10672. echoed, so there will be no confirmation even using -v or -vv.
  10673. Quota information
  10674. To view your current quota you can use the rclone about remote: command
  10675. which will display your usage limit (quota), the usage in Google Drive,
  10676. the size of all files in the Trash and the space used by other Google
  10677. services such as Gmail. This command does not take any path arguments.
  10678. Import/Export of google documents
  10679. Google documents can be exported from and uploaded to Google Drive.
  10680. When rclone downloads a Google doc it chooses a format to download
  10681. depending upon the --drive-export-formats setting. By default the export
  10682. formats are docx,xlsx,pptx,svg which are a sensible default for an
  10683. editable document.
  10684. When choosing a format, rclone runs down the list provided in order and
  10685. chooses the first file format the doc can be exported as from the list.
  10686. If the file can’t be exported to a format on the formats list, then
  10687. rclone will choose a format from the default list.
  10688. If you prefer an archive copy then you might use
  10689. --drive-export-formats pdf, or if you prefer openoffice/libreoffice
  10690. formats you might use --drive-export-formats ods,odt,odp.
  10691. Note that rclone adds the extension to the google doc, so if it is
  10692. called My Spreadsheet on google docs, it will be exported as
  10693. My Spreadsheet.xlsx or My Spreadsheet.pdf etc.
  10694. When importing files into Google Drive, rclone will convert all files
  10695. with an extension in --drive-import-formats to their associated document
  10696. type. rclone will not convert any files by default, since the conversion
  10697. is lossy process.
  10698. The conversion must result in a file with the same extension when the
  10699. --drive-export-formats rules are applied to the uploaded document.
  10700. Here are some examples for allowed and prohibited conversions.
  10701. export-formats import-formats Upload Ext Document Ext Allowed
  10702. ---------------- ---------------- ------------ -------------- ---------
  10703. odt odt odt odt Yes
  10704. odt docx,odt odt odt Yes
  10705. docx docx docx Yes
  10706. odt odt docx No
  10707. odt,docx docx,odt docx odt No
  10708. docx,odt docx,odt docx docx Yes
  10709. docx,odt docx,odt odt docx No
  10710. This limitation can be disabled by specifying
  10711. --drive-allow-import-name-change. When using this flag, rclone can
  10712. convert multiple files types resulting in the same document type at
  10713. once, eg with --drive-import-formats docx,odt,txt, all files having
  10714. these extension would result in a document represented as a docx file.
  10715. This brings the additional risk of overwriting a document, if multiple
  10716. files have the same stem. Many rclone operations will not handle this
  10717. name change in any way. They assume an equal name when copying files and
  10718. might copy the file again or delete them when the name changes.
  10719. Here are the possible export extensions with their corresponding mime
  10720. types. Most of these can also be used for importing, but there more that
  10721. are not listed here. Some of these additional ones might only be
  10722. available when the operating system provides the correct MIME type
  10723. entries.
  10724. This list can be changed by Google Drive at any time and might not
  10725. represent the currently available conversions.
  10726. --------------------------------------------------------------------------------------------------------------------------
  10727. Extension Mime Type Description
  10728. ------------------- --------------------------------------------------------------------------- --------------------------
  10729. csv text/csv Standard CSV format for
  10730. Spreadsheets
  10731. docx application/vnd.openxmlformats-officedocument.wordprocessingml.document Microsoft Office Document
  10732. epub application/epub+zip E-book format
  10733. html text/html An HTML Document
  10734. jpg image/jpeg A JPEG Image File
  10735. json application/vnd.google-apps.script+json JSON Text Format
  10736. odp application/vnd.oasis.opendocument.presentation Openoffice Presentation
  10737. ods application/vnd.oasis.opendocument.spreadsheet Openoffice Spreadsheet
  10738. ods application/x-vnd.oasis.opendocument.spreadsheet Openoffice Spreadsheet
  10739. odt application/vnd.oasis.opendocument.text Openoffice Document
  10740. pdf application/pdf Adobe PDF Format
  10741. png image/png PNG Image Format
  10742. pptx application/vnd.openxmlformats-officedocument.presentationml.presentation Microsoft Office
  10743. Powerpoint
  10744. rtf application/rtf Rich Text Format
  10745. svg image/svg+xml Scalable Vector Graphics
  10746. Format
  10747. tsv text/tab-separated-values Standard TSV format for
  10748. spreadsheets
  10749. txt text/plain Plain Text
  10750. xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet Microsoft Office
  10751. Spreadsheet
  10752. zip application/zip A ZIP file of HTML, Images
  10753. CSS
  10754. --------------------------------------------------------------------------------------------------------------------------
  10755. Google documents can also be exported as link files. These files will
  10756. open a browser window for the Google Docs website of that document when
  10757. opened. The link file extension has to be specified as a
  10758. --drive-export-formats parameter. They will match all available Google
  10759. Documents.
  10760. Extension Description OS Support
  10761. ----------- ----------------------------------------- ----------------
  10762. desktop freedesktop.org specified desktop entry Linux
  10763. link.html An HTML Document with a redirect All
  10764. url INI style link file macOS, Windows
  10765. webloc macOS specific XML format macOS
  10766. Standard Options
  10767. Here are the standard options specific to drive (Google Drive).
  10768. –drive-client-id
  10769. Google Application Client Id Setting your own is recommended. See
  10770. https://rclone.org/drive/#making-your-own-client-id for how to create
  10771. your own. If you leave this blank, it will use an internal key which is
  10772. low performance.
  10773. - Config: client_id
  10774. - Env Var: RCLONE_DRIVE_CLIENT_ID
  10775. - Type: string
  10776. - Default: ""
  10777. –drive-client-secret
  10778. Google Application Client Secret Setting your own is recommended.
  10779. - Config: client_secret
  10780. - Env Var: RCLONE_DRIVE_CLIENT_SECRET
  10781. - Type: string
  10782. - Default: ""
  10783. –drive-scope
  10784. Scope that rclone should use when requesting access from drive.
  10785. - Config: scope
  10786. - Env Var: RCLONE_DRIVE_SCOPE
  10787. - Type: string
  10788. - Default: ""
  10789. - Examples:
  10790. - “drive”
  10791. - Full access all files, excluding Application Data Folder.
  10792. - “drive.readonly”
  10793. - Read-only access to file metadata and file contents.
  10794. - “drive.file”
  10795. - Access to files created by rclone only.
  10796. - These are visible in the drive website.
  10797. - File authorization is revoked when the user deauthorizes the
  10798. app.
  10799. - “drive.appfolder”
  10800. - Allows read and write access to the Application Data folder.
  10801. - This is not visible in the drive website.
  10802. - “drive.metadata.readonly”
  10803. - Allows read-only access to file metadata but
  10804. - does not allow any access to read or download file content.
  10805. –drive-root-folder-id
  10806. ID of the root folder Leave blank normally.
  10807. Fill in to access “Computers” folders (see docs), or for rclone to use a
  10808. non root folder as its starting point.
  10809. Note that if this is blank, the first time rclone runs it will fill it
  10810. in with the ID of the root folder.
  10811. - Config: root_folder_id
  10812. - Env Var: RCLONE_DRIVE_ROOT_FOLDER_ID
  10813. - Type: string
  10814. - Default: ""
  10815. –drive-service-account-file
  10816. Service Account Credentials JSON file path Leave blank normally. Needed
  10817. only if you want use SA instead of interactive login.
  10818. - Config: service_account_file
  10819. - Env Var: RCLONE_DRIVE_SERVICE_ACCOUNT_FILE
  10820. - Type: string
  10821. - Default: ""
  10822. Advanced Options
  10823. Here are the advanced options specific to drive (Google Drive).
  10824. –drive-service-account-credentials
  10825. Service Account Credentials JSON blob Leave blank normally. Needed only
  10826. if you want use SA instead of interactive login.
  10827. - Config: service_account_credentials
  10828. - Env Var: RCLONE_DRIVE_SERVICE_ACCOUNT_CREDENTIALS
  10829. - Type: string
  10830. - Default: ""
  10831. –drive-team-drive
  10832. ID of the Team Drive
  10833. - Config: team_drive
  10834. - Env Var: RCLONE_DRIVE_TEAM_DRIVE
  10835. - Type: string
  10836. - Default: ""
  10837. –drive-auth-owner-only
  10838. Only consider files owned by the authenticated user.
  10839. - Config: auth_owner_only
  10840. - Env Var: RCLONE_DRIVE_AUTH_OWNER_ONLY
  10841. - Type: bool
  10842. - Default: false
  10843. –drive-use-trash
  10844. Send files to the trash instead of deleting permanently. Defaults to
  10845. true, namely sending files to the trash. Use --drive-use-trash=false to
  10846. delete files permanently instead.
  10847. - Config: use_trash
  10848. - Env Var: RCLONE_DRIVE_USE_TRASH
  10849. - Type: bool
  10850. - Default: true
  10851. –drive-skip-gdocs
  10852. Skip google documents in all listings. If given, gdocs practically
  10853. become invisible to rclone.
  10854. - Config: skip_gdocs
  10855. - Env Var: RCLONE_DRIVE_SKIP_GDOCS
  10856. - Type: bool
  10857. - Default: false
  10858. –drive-skip-checksum-gphotos
  10859. Skip MD5 checksum on Google photos and videos only.
  10860. Use this if you get checksum errors when transferring Google photos or
  10861. videos.
  10862. Setting this flag will cause Google photos and videos to return a blank
  10863. MD5 checksum.
  10864. Google photos are identifed by being in the “photos” space.
  10865. Corrupted checksums are caused by Google modifying the image/video but
  10866. not updating the checksum.
  10867. - Config: skip_checksum_gphotos
  10868. - Env Var: RCLONE_DRIVE_SKIP_CHECKSUM_GPHOTOS
  10869. - Type: bool
  10870. - Default: false
  10871. –drive-shared-with-me
  10872. Only show files that are shared with me.
  10873. Instructs rclone to operate on your “Shared with me” folder (where
  10874. Google Drive lets you access the files and folders others have shared
  10875. with you).
  10876. This works both with the “list” (lsd, lsl, etc) and the “copy” commands
  10877. (copy, sync, etc), and with all other commands too.
  10878. - Config: shared_with_me
  10879. - Env Var: RCLONE_DRIVE_SHARED_WITH_ME
  10880. - Type: bool
  10881. - Default: false
  10882. –drive-trashed-only
  10883. Only show files that are in the trash. This will show trashed files in
  10884. their original directory structure.
  10885. - Config: trashed_only
  10886. - Env Var: RCLONE_DRIVE_TRASHED_ONLY
  10887. - Type: bool
  10888. - Default: false
  10889. –drive-formats
  10890. Deprecated: see export_formats
  10891. - Config: formats
  10892. - Env Var: RCLONE_DRIVE_FORMATS
  10893. - Type: string
  10894. - Default: ""
  10895. –drive-export-formats
  10896. Comma separated list of preferred formats for downloading Google docs.
  10897. - Config: export_formats
  10898. - Env Var: RCLONE_DRIVE_EXPORT_FORMATS
  10899. - Type: string
  10900. - Default: “docx,xlsx,pptx,svg”
  10901. –drive-import-formats
  10902. Comma separated list of preferred formats for uploading Google docs.
  10903. - Config: import_formats
  10904. - Env Var: RCLONE_DRIVE_IMPORT_FORMATS
  10905. - Type: string
  10906. - Default: ""
  10907. –drive-allow-import-name-change
  10908. Allow the filetype to change when uploading Google docs (e.g. file.doc
  10909. to file.docx). This will confuse sync and reupload every time.
  10910. - Config: allow_import_name_change
  10911. - Env Var: RCLONE_DRIVE_ALLOW_IMPORT_NAME_CHANGE
  10912. - Type: bool
  10913. - Default: false
  10914. –drive-use-created-date
  10915. Use file created date instead of modified date.,
  10916. Useful when downloading data and you want the creation date used in
  10917. place of the last modified date.
  10918. WARNING: This flag may have some unexpected consequences.
  10919. When uploading to your drive all files will be overwritten unless they
  10920. haven’t been modified since their creation. And the inverse will occur
  10921. while downloading. This side effect can be avoided by using the
  10922. “–checksum” flag.
  10923. This feature was implemented to retain photos capture date as recorded
  10924. by google photos. You will first need to check the “Create a Google
  10925. Photos folder” option in your google drive settings. You can then copy
  10926. or move the photos locally and use the date the image was taken
  10927. (created) set as the modification date.
  10928. - Config: use_created_date
  10929. - Env Var: RCLONE_DRIVE_USE_CREATED_DATE
  10930. - Type: bool
  10931. - Default: false
  10932. –drive-use-shared-date
  10933. Use date file was shared instead of modified date.
  10934. Note that, as with “–drive-use-created-date”, this flag may have
  10935. unexpected consequences when uploading/downloading files.
  10936. If both this flag and “–drive-use-created-date” are set, the created
  10937. date is used.
  10938. - Config: use_shared_date
  10939. - Env Var: RCLONE_DRIVE_USE_SHARED_DATE
  10940. - Type: bool
  10941. - Default: false
  10942. –drive-list-chunk
  10943. Size of listing chunk 100-1000. 0 to disable.
  10944. - Config: list_chunk
  10945. - Env Var: RCLONE_DRIVE_LIST_CHUNK
  10946. - Type: int
  10947. - Default: 1000
  10948. –drive-impersonate
  10949. Impersonate this user when using a service account.
  10950. - Config: impersonate
  10951. - Env Var: RCLONE_DRIVE_IMPERSONATE
  10952. - Type: string
  10953. - Default: ""
  10954. –drive-alternate-export
  10955. Use alternate export URLs for google documents export.,
  10956. If this option is set this instructs rclone to use an alternate set of
  10957. export URLs for drive documents. Users have reported that the official
  10958. export URLs can’t export large documents, whereas these unofficial ones
  10959. can.
  10960. See rclone issue #2243 for background, this google drive issue and this
  10961. helpful post.
  10962. - Config: alternate_export
  10963. - Env Var: RCLONE_DRIVE_ALTERNATE_EXPORT
  10964. - Type: bool
  10965. - Default: false
  10966. –drive-upload-cutoff
  10967. Cutoff for switching to chunked upload
  10968. - Config: upload_cutoff
  10969. - Env Var: RCLONE_DRIVE_UPLOAD_CUTOFF
  10970. - Type: SizeSuffix
  10971. - Default: 8M
  10972. –drive-chunk-size
  10973. Upload chunk size. Must a power of 2 >= 256k.
  10974. Making this larger will improve performance, but note that each chunk is
  10975. buffered in memory one per transfer.
  10976. Reducing this will reduce memory usage but decrease performance.
  10977. - Config: chunk_size
  10978. - Env Var: RCLONE_DRIVE_CHUNK_SIZE
  10979. - Type: SizeSuffix
  10980. - Default: 8M
  10981. –drive-acknowledge-abuse
  10982. Set to allow files which return cannotDownloadAbusiveFile to be
  10983. downloaded.
  10984. If downloading a file returns the error “This file has been identified
  10985. as malware or spam and cannot be downloaded” with the error code
  10986. “cannotDownloadAbusiveFile” then supply this flag to rclone to indicate
  10987. you acknowledge the risks of downloading the file and rclone will
  10988. download it anyway.
  10989. - Config: acknowledge_abuse
  10990. - Env Var: RCLONE_DRIVE_ACKNOWLEDGE_ABUSE
  10991. - Type: bool
  10992. - Default: false
  10993. –drive-keep-revision-forever
  10994. Keep new head revision of each file forever.
  10995. - Config: keep_revision_forever
  10996. - Env Var: RCLONE_DRIVE_KEEP_REVISION_FOREVER
  10997. - Type: bool
  10998. - Default: false
  10999. –drive-size-as-quota
  11000. Show sizes as storage quota usage, not actual size.
  11001. Show the size of a file as the the storage quota used. This is the
  11002. current version plus any older versions that have been set to keep
  11003. forever.
  11004. WARNING: This flag may have some unexpected consequences.
  11005. It is not recommended to set this flag in your config - the recommended
  11006. usage is using the flag form –drive-size-as-quota when doing rclone
  11007. ls/lsl/lsf/lsjson/etc only.
  11008. If you do use this flag for syncing (not recommended) then you will need
  11009. to use –ignore size also.
  11010. - Config: size_as_quota
  11011. - Env Var: RCLONE_DRIVE_SIZE_AS_QUOTA
  11012. - Type: bool
  11013. - Default: false
  11014. –drive-v2-download-min-size
  11015. If Object’s are greater, use drive v2 API to download.
  11016. - Config: v2_download_min_size
  11017. - Env Var: RCLONE_DRIVE_V2_DOWNLOAD_MIN_SIZE
  11018. - Type: SizeSuffix
  11019. - Default: off
  11020. –drive-pacer-min-sleep
  11021. Minimum time to sleep between API calls.
  11022. - Config: pacer_min_sleep
  11023. - Env Var: RCLONE_DRIVE_PACER_MIN_SLEEP
  11024. - Type: Duration
  11025. - Default: 100ms
  11026. –drive-pacer-burst
  11027. Number of API calls to allow without sleeping.
  11028. - Config: pacer_burst
  11029. - Env Var: RCLONE_DRIVE_PACER_BURST
  11030. - Type: int
  11031. - Default: 100
  11032. –drive-server-side-across-configs
  11033. Allow server side operations (eg copy) to work across different drive
  11034. configs.
  11035. This can be useful if you wish to do a server side copy between two
  11036. different Google drives. Note that this isn’t enabled by default because
  11037. it isn’t easy to tell if it will work between any two configurations.
  11038. - Config: server_side_across_configs
  11039. - Env Var: RCLONE_DRIVE_SERVER_SIDE_ACROSS_CONFIGS
  11040. - Type: bool
  11041. - Default: false
  11042. –drive-disable-http2
  11043. Disable drive using http2
  11044. There is currently an unsolved issue with the google drive backend and
  11045. HTTP/2. HTTP/2 is therefore disabled by default for the drive backend
  11046. but can be re-enabled here. When the issue is solved this flag will be
  11047. removed.
  11048. See: https://github.com/rclone/rclone/issues/3631
  11049. - Config: disable_http2
  11050. - Env Var: RCLONE_DRIVE_DISABLE_HTTP2
  11051. - Type: bool
  11052. - Default: true
  11053. –drive-stop-on-upload-limit
  11054. Make upload limit errors be fatal
  11055. At the time of writing it is only possible to upload 750GB of data to
  11056. Google Drive a day (this is an undocumented limit). When this limit is
  11057. reached Google Drive produces a slightly different error message. When
  11058. this flag is set it causes these errors to be fatal. These will stop the
  11059. in-progress sync.
  11060. Note that this detection is relying on error message strings which
  11061. Google don’t document so it may break in the future.
  11062. See: https://github.com/rclone/rclone/issues/3857
  11063. - Config: stop_on_upload_limit
  11064. - Env Var: RCLONE_DRIVE_STOP_ON_UPLOAD_LIMIT
  11065. - Type: bool
  11066. - Default: false
  11067. –drive-encoding
  11068. This sets the encoding for the backend.
  11069. See: the encoding section in the overview for more info.
  11070. - Config: encoding
  11071. - Env Var: RCLONE_DRIVE_ENCODING
  11072. - Type: MultiEncoder
  11073. - Default: InvalidUtf8
  11074. Limitations
  11075. Drive has quite a lot of rate limiting. This causes rclone to be limited
  11076. to transferring about 2 files per second only. Individual files may be
  11077. transferred much faster at 100s of MBytes/s but lots of small files can
  11078. take a long time.
  11079. Server side copies are also subject to a separate rate limit. If you see
  11080. User rate limit exceeded errors, wait at least 24 hours and retry. You
  11081. can disable server side copies with --disable copy to download and
  11082. upload the files if you prefer.
  11083. Limitations of Google Docs
  11084. Google docs will appear as size -1 in rclone ls and as size 0 in
  11085. anything which uses the VFS layer, eg rclone mount, rclone serve.
  11086. This is because rclone can’t find out the size of the Google docs
  11087. without downloading them.
  11088. Google docs will transfer correctly with rclone sync, rclone copy etc as
  11089. rclone knows to ignore the size when doing the transfer.
  11090. However an unfortunate consequence of this is that you may not be able
  11091. to download Google docs using rclone mount. If it doesn’t work you will
  11092. get a 0 sized file. If you try again the doc may gain its correct size
  11093. and be downloadable. Whther it will work on not depends on the
  11094. application accessing the mount and the OS you are running - experiment
  11095. to find out if it does work for you!
  11096. Duplicated files
  11097. Sometimes, for no reason I’ve been able to track down, drive will
  11098. duplicate a file that rclone uploads. Drive unlike all the other remotes
  11099. can have duplicated files.
  11100. Duplicated files cause problems with the syncing and you will see
  11101. messages in the log about duplicates.
  11102. Use rclone dedupe to fix duplicated files.
  11103. Note that this isn’t just a problem with rclone, even Google Photos on
  11104. Android duplicates files on drive sometimes.
  11105. Rclone appears to be re-copying files it shouldn’t
  11106. The most likely cause of this is the duplicated file issue above - run
  11107. rclone dedupe and check your logs for duplicate object or directory
  11108. messages.
  11109. This can also be caused by a delay/caching on google drive’s end when
  11110. comparing directory listings. Specifically with team drives used in
  11111. combination with –fast-list. Files that were uploaded recently may not
  11112. appear on the directory list sent to rclone when using –fast-list.
  11113. Waiting a moderate period of time between attempts (estimated to be
  11114. approximately 1 hour) and/or not using –fast-list both seem to be
  11115. effective in preventing the problem.
  11116. Making your own client_id
  11117. When you use rclone with Google drive in its default configuration you
  11118. are using rclone’s client_id. This is shared between all the rclone
  11119. users. There is a global rate limit on the number of queries per second
  11120. that each client_id can do set by Google. rclone already has a high
  11121. quota and I will continue to make sure it is high enough by contacting
  11122. Google.
  11123. It is strongly recommended to use your own client ID as the default
  11124. rclone ID is heavily used. If you have multiple services running, it is
  11125. recommended to use an API key for each service. The default Google quota
  11126. is 10 transactions per second so it is recommended to stay under that
  11127. number as if you use more than that, it will cause rclone to rate limit
  11128. and make things slower.
  11129. Here is how to create your own Google Drive client ID for rclone:
  11130. 1. Log into the Google API Console with your Google account. It doesn’t
  11131. matter what Google account you use. (It need not be the same account
  11132. as the Google Drive you want to access)
  11133. 2. Select a project or create a new project.
  11134. 3. Under “ENABLE APIS AND SERVICES” search for “Drive”, and enable the
  11135. “Google Drive API”.
  11136. 4. Click “Credentials” in the left-side panel (not “Create
  11137. credentials”, which opens the wizard), then “Create credentials”,
  11138. then “OAuth client ID”. It will prompt you to set the OAuth consent
  11139. screen product name, if you haven’t set one already.
  11140. 5. Choose an application type of “other”, and click “Create”. (the
  11141. default name is fine)
  11142. 6. It will show you a client ID and client secret. Use these values in
  11143. rclone config to add a new remote or edit an existing remote.
  11144. (Thanks to @balazer on github for these instructions.)
  11145. Google Photos
  11146. The rclone backend for Google Photos is a specialized backend for
  11147. transferring photos and videos to and from Google Photos.
  11148. NB The Google Photos API which rclone uses has quite a few limitations,
  11149. so please read the limitations section carefully to make sure it is
  11150. suitable for your use.
  11151. Configuring Google Photos
  11152. The initial setup for google cloud storage involves getting a token from
  11153. Google Photos which you need to do in your browser. rclone config walks
  11154. you through it.
  11155. Here is an example of how to make a remote called remote. First run:
  11156. rclone config
  11157. This will guide you through an interactive setup process:
  11158. No remotes found - make a new one
  11159. n) New remote
  11160. s) Set configuration password
  11161. q) Quit config
  11162. n/s/q> n
  11163. name> remote
  11164. Type of storage to configure.
  11165. Enter a string value. Press Enter for the default ("").
  11166. Choose a number from below, or type in your own value
  11167. [snip]
  11168. XX / Google Photos
  11169. \ "google photos"
  11170. [snip]
  11171. Storage> google photos
  11172. ** See help for google photos backend at: https://rclone.org/googlephotos/ **
  11173. Google Application Client Id
  11174. Leave blank normally.
  11175. Enter a string value. Press Enter for the default ("").
  11176. client_id>
  11177. Google Application Client Secret
  11178. Leave blank normally.
  11179. Enter a string value. Press Enter for the default ("").
  11180. client_secret>
  11181. Set to make the Google Photos backend read only.
  11182. If you choose read only then rclone will only request read only access
  11183. to your photos, otherwise rclone will request full access.
  11184. Enter a boolean value (true or false). Press Enter for the default ("false").
  11185. read_only>
  11186. Edit advanced config? (y/n)
  11187. y) Yes
  11188. n) No
  11189. y/n> n
  11190. Remote config
  11191. Use auto config?
  11192. * Say Y if not sure
  11193. * Say N if you are working on a remote or headless machine
  11194. y) Yes
  11195. n) No
  11196. y/n> y
  11197. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  11198. Log in and authorize rclone for access
  11199. Waiting for code...
  11200. Got code
  11201. *** IMPORTANT: All media items uploaded to Google Photos with rclone
  11202. *** are stored in full resolution at original quality. These uploads
  11203. *** will count towards storage in your Google Account.
  11204. --------------------
  11205. [remote]
  11206. type = google photos
  11207. token = {"access_token":"XXX","token_type":"Bearer","refresh_token":"XXX","expiry":"2019-06-28T17:38:04.644930156+01:00"}
  11208. --------------------
  11209. y) Yes this is OK
  11210. e) Edit this remote
  11211. d) Delete this remote
  11212. y/e/d> y
  11213. Note that rclone runs a webserver on your local machine to collect the
  11214. token as returned from Google if you use auto config mode. This only
  11215. runs from the moment it opens your browser to the moment you get back
  11216. the verification code. This is on http://127.0.0.1:53682/ and this may
  11217. require you to unblock it temporarily if you are running a host
  11218. firewall, or use manual mode.
  11219. This remote is called remote and can now be used like this
  11220. See all the albums in your photos
  11221. rclone lsd remote:album
  11222. Make a new album
  11223. rclone mkdir remote:album/newAlbum
  11224. List the contents of an album
  11225. rclone ls remote:album/newAlbum
  11226. Sync /home/local/images to the Google Photos, removing any excess files
  11227. in the album.
  11228. rclone sync /home/local/image remote:album/newAlbum
  11229. Layout
  11230. As Google Photos is not a general purpose cloud storage system the
  11231. backend is laid out to help you navigate it.
  11232. The directories under media show different ways of categorizing the
  11233. media. Each file will appear multiple times. So if you want to make a
  11234. backup of your google photos you might choose to backup
  11235. remote:media/by-month. (NB remote:media/by-day is rather slow at the
  11236. moment so avoid for syncing.)
  11237. Note that all your photos and videos will appear somewhere under media,
  11238. but they may not appear under album unless you’ve put them into albums.
  11239. /
  11240. - upload
  11241. - file1.jpg
  11242. - file2.jpg
  11243. - ...
  11244. - media
  11245. - all
  11246. - file1.jpg
  11247. - file2.jpg
  11248. - ...
  11249. - by-year
  11250. - 2000
  11251. - file1.jpg
  11252. - ...
  11253. - 2001
  11254. - file2.jpg
  11255. - ...
  11256. - ...
  11257. - by-month
  11258. - 2000
  11259. - 2000-01
  11260. - file1.jpg
  11261. - ...
  11262. - 2000-02
  11263. - file2.jpg
  11264. - ...
  11265. - ...
  11266. - by-day
  11267. - 2000
  11268. - 2000-01-01
  11269. - file1.jpg
  11270. - ...
  11271. - 2000-01-02
  11272. - file2.jpg
  11273. - ...
  11274. - ...
  11275. - album
  11276. - album name
  11277. - album name/sub
  11278. - shared-album
  11279. - album name
  11280. - album name/sub
  11281. There are two writable parts of the tree, the upload directory and sub
  11282. directories of the the album directory.
  11283. The upload directory is for uploading files you don’t want to put into
  11284. albums. This will be empty to start with and will contain the files
  11285. you’ve uploaded for one rclone session only, becoming empty again when
  11286. you restart rclone. The use case for this would be if you have a load of
  11287. files you just want to once off dump into Google Photos. For repeated
  11288. syncing, uploading to album will work better.
  11289. Directories within the album directory are also writeable and you may
  11290. create new directories (albums) under album. If you copy files with a
  11291. directory hierarchy in there then rclone will create albums with the /
  11292. character in them. For example if you do
  11293. rclone copy /path/to/images remote:album/images
  11294. and the images directory contains
  11295. images
  11296. - file1.jpg
  11297. dir
  11298. file2.jpg
  11299. dir2
  11300. dir3
  11301. file3.jpg
  11302. Then rclone will create the following albums with the following files in
  11303. - images
  11304. - file1.jpg
  11305. - images/dir
  11306. - file2.jpg
  11307. - images/dir2/dir3
  11308. - file3.jpg
  11309. This means that you can use the album path pretty much like a normal
  11310. filesystem and it is a good target for repeated syncing.
  11311. The shared-album directory shows albums shared with you or by you. This
  11312. is similar to the Sharing tab in the Google Photos web interface.
  11313. Limitations
  11314. Only images and videos can be uploaded. If you attempt to upload non
  11315. videos or images or formats that Google Photos doesn’t understand,
  11316. rclone will upload the file, then Google Photos will give an error when
  11317. it is put turned into a media item.
  11318. Note that all media items uploaded to Google Photos through the API are
  11319. stored in full resolution at “original quality” and WILL count towards
  11320. your storage quota in your Google Account. The API does NOT offer a way
  11321. to upload in “high quality” mode..
  11322. Downloading Images
  11323. When Images are downloaded this strips EXIF location (according to the
  11324. docs and my tests). This is a limitation of the Google Photos API and is
  11325. covered by bug #112096115.
  11326. THE CURRENT GOOGLE API DOES NOT ALLOW PHOTOS TO BE DOWNLOADED AT
  11327. ORIGINAL RESOLUTION. THIS IS VERY IMPORTANT IF YOU ARE, FOR EXAMPLE,
  11328. RELYING ON “GOOGLE PHOTOS” AS A BACKUP OF YOUR PHOTOS. YOU WILL NOT BE
  11329. ABLE TO USE RCLONE TO REDOWNLOAD ORIGINAL IMAGES. YOU COULD USE ‘GOOGLE
  11330. TAKEOUT’ TO RECOVER THE ORIGINAL PHOTOS AS A LAST RESORT
  11331. Downloading Videos
  11332. When videos are downloaded they are downloaded in a really compressed
  11333. version of the video compared to downloading it via the Google Photos
  11334. web interface. This is covered by bug #113672044.
  11335. Duplicates
  11336. If a file name is duplicated in a directory then rclone will add the
  11337. file ID into its name. So two files called file.jpg would then appear as
  11338. file {123456}.jpg and file {ABCDEF}.jpg (the actual IDs are a lot longer
  11339. alas!).
  11340. If you upload the same image (with the same binary data) twice then
  11341. Google Photos will deduplicate it. However it will retain the filename
  11342. from the first upload which may confuse rclone. For example if you
  11343. uploaded an image to upload then uploaded the same image to
  11344. album/my_album the filename of the image in album/my_album will be what
  11345. it was uploaded with initially, not what you uploaded it with to album.
  11346. In practise this shouldn’t cause too many problems.
  11347. Modified time
  11348. The date shown of media in Google Photos is the creation date as
  11349. determined by the EXIF information, or the upload date if that is not
  11350. known.
  11351. This is not changeable by rclone and is not the modification date of the
  11352. media on local disk. This means that rclone cannot use the dates from
  11353. Google Photos for syncing purposes.
  11354. Size
  11355. The Google Photos API does not return the size of media. This means that
  11356. when syncing to Google Photos, rclone can only do a file existence
  11357. check.
  11358. It is possible to read the size of the media, but this needs an extra
  11359. HTTP HEAD request per media item so is VERY SLOW and uses up a lot of
  11360. transactions. This can be enabled with the --gphotos-read-size option or
  11361. the read_size = true config parameter.
  11362. If you want to use the backend with rclone mount you may need to enable
  11363. this flag (depending on your OS and application using the photos)
  11364. otherwise you may not be able to read media off the mount. You’ll need
  11365. to experiment to see if it works for you without the flag.
  11366. Albums
  11367. Rclone can only upload files to albums it created. This is a limitation
  11368. of the Google Photos API.
  11369. Rclone can remove files it uploaded from albums it created only.
  11370. Deleting files
  11371. Rclone can remove files from albums it created, but note that the Google
  11372. Photos API does not allow media to be deleted permanently so this media
  11373. will still remain. See bug #109759781.
  11374. Rclone cannot delete files anywhere except under album.
  11375. Deleting albums
  11376. The Google Photos API does not support deleting albums - see bug
  11377. #135714733.
  11378. Standard Options
  11379. Here are the standard options specific to google photos (Google Photos).
  11380. –gphotos-client-id
  11381. Google Application Client Id Leave blank normally.
  11382. - Config: client_id
  11383. - Env Var: RCLONE_GPHOTOS_CLIENT_ID
  11384. - Type: string
  11385. - Default: ""
  11386. –gphotos-client-secret
  11387. Google Application Client Secret Leave blank normally.
  11388. - Config: client_secret
  11389. - Env Var: RCLONE_GPHOTOS_CLIENT_SECRET
  11390. - Type: string
  11391. - Default: ""
  11392. –gphotos-read-only
  11393. Set to make the Google Photos backend read only.
  11394. If you choose read only then rclone will only request read only access
  11395. to your photos, otherwise rclone will request full access.
  11396. - Config: read_only
  11397. - Env Var: RCLONE_GPHOTOS_READ_ONLY
  11398. - Type: bool
  11399. - Default: false
  11400. Advanced Options
  11401. Here are the advanced options specific to google photos (Google Photos).
  11402. –gphotos-read-size
  11403. Set to read the size of media items.
  11404. Normally rclone does not read the size of media items since this takes
  11405. another transaction. This isn’t necessary for syncing. However rclone
  11406. mount needs to know the size of files in advance of reading them, so
  11407. setting this flag when using rclone mount is recommended if you want to
  11408. read the media.
  11409. - Config: read_size
  11410. - Env Var: RCLONE_GPHOTOS_READ_SIZE
  11411. - Type: bool
  11412. - Default: false
  11413. HTTP
  11414. The HTTP remote is a read only remote for reading files of a webserver.
  11415. The webserver should provide file listings which rclone will read and
  11416. turn into a remote. This has been tested with common webservers such as
  11417. Apache/Nginx/Caddy and will likely work with file listings from most web
  11418. servers. (If it doesn’t then please file an issue, or send a pull
  11419. request!)
  11420. Paths are specified as remote: or remote:path/to/dir.
  11421. Here is an example of how to make a remote called remote. First run:
  11422. rclone config
  11423. This will guide you through an interactive setup process:
  11424. No remotes found - make a new one
  11425. n) New remote
  11426. s) Set configuration password
  11427. q) Quit config
  11428. n/s/q> n
  11429. name> remote
  11430. Type of storage to configure.
  11431. Choose a number from below, or type in your own value
  11432. [snip]
  11433. XX / http Connection
  11434. \ "http"
  11435. [snip]
  11436. Storage> http
  11437. URL of http host to connect to
  11438. Choose a number from below, or type in your own value
  11439. 1 / Connect to example.com
  11440. \ "https://example.com"
  11441. url> https://beta.rclone.org
  11442. Remote config
  11443. --------------------
  11444. [remote]
  11445. url = https://beta.rclone.org
  11446. --------------------
  11447. y) Yes this is OK
  11448. e) Edit this remote
  11449. d) Delete this remote
  11450. y/e/d> y
  11451. Current remotes:
  11452. Name Type
  11453. ==== ====
  11454. remote http
  11455. e) Edit existing remote
  11456. n) New remote
  11457. d) Delete remote
  11458. r) Rename remote
  11459. c) Copy remote
  11460. s) Set configuration password
  11461. q) Quit config
  11462. e/n/d/r/c/s/q> q
  11463. This remote is called remote and can now be used like this
  11464. See all the top level directories
  11465. rclone lsd remote:
  11466. List the contents of a directory
  11467. rclone ls remote:directory
  11468. Sync the remote directory to /home/local/directory, deleting any excess
  11469. files.
  11470. rclone sync remote:directory /home/local/directory
  11471. Read only
  11472. This remote is read only - you can’t upload files to an HTTP server.
  11473. Modified time
  11474. Most HTTP servers store time accurate to 1 second.
  11475. Checksum
  11476. No checksums are stored.
  11477. Usage without a config file
  11478. Since the http remote only has one config parameter it is easy to use
  11479. without a config file:
  11480. rclone lsd --http-url https://beta.rclone.org :http:
  11481. Standard Options
  11482. Here are the standard options specific to http (http Connection).
  11483. –http-url
  11484. URL of http host to connect to
  11485. - Config: url
  11486. - Env Var: RCLONE_HTTP_URL
  11487. - Type: string
  11488. - Default: ""
  11489. - Examples:
  11490. - “https://example.com”
  11491. - Connect to example.com
  11492. - “https://user:pass@example.com”
  11493. - Connect to example.com using a username and password
  11494. Advanced Options
  11495. Here are the advanced options specific to http (http Connection).
  11496. –http-headers
  11497. Set HTTP headers for all transactions
  11498. Use this to set additional HTTP headers for all transactions
  11499. The input format is comma separated list of key,value pairs. Standard
  11500. CSV encoding may be used.
  11501. For example to set a Cookie use ‘Cookie,name=value’, or
  11502. ‘“Cookie”,“name=value”’.
  11503. You can set multiple headers, eg
  11504. ‘“Cookie”,“name=value”,“Authorization”,“xxx”’.
  11505. - Config: headers
  11506. - Env Var: RCLONE_HTTP_HEADERS
  11507. - Type: CommaSepList
  11508. - Default:
  11509. –http-no-slash
  11510. Set this if the site doesn’t end directories with /
  11511. Use this if your target website does not use / on the end of
  11512. directories.
  11513. A / on the end of a path is how rclone normally tells the difference
  11514. between files and directories. If this flag is set, then rclone will
  11515. treat all files with Content-Type: text/html as directories and read
  11516. URLs from them rather than downloading them.
  11517. Note that this may cause rclone to confuse genuine HTML files with
  11518. directories.
  11519. - Config: no_slash
  11520. - Env Var: RCLONE_HTTP_NO_SLASH
  11521. - Type: bool
  11522. - Default: false
  11523. –http-no-head
  11524. Don’t use HEAD requests to find file sizes in dir listing
  11525. If your site is being very slow to load then you can try this option.
  11526. Normally rclone does a HEAD request for each potential file in a
  11527. directory listing to:
  11528. - find its size
  11529. - check it really exists
  11530. - check to see if it is a directory
  11531. If you set this option, rclone will not do the HEAD request. This will
  11532. mean
  11533. - directory listings are much quicker
  11534. - rclone won’t have the times or sizes of any files
  11535. - some files that don’t exist may be in the listing
  11536. - Config: no_head
  11537. - Env Var: RCLONE_HTTP_NO_HEAD
  11538. - Type: bool
  11539. - Default: false
  11540. Hubic
  11541. Paths are specified as remote:path
  11542. Paths are specified as remote:container (or remote: for the lsd
  11543. command.) You may put subdirectories in too, eg
  11544. remote:container/path/to/dir.
  11545. The initial setup for Hubic involves getting a token from Hubic which
  11546. you need to do in your browser. rclone config walks you through it.
  11547. Here is an example of how to make a remote called remote. First run:
  11548. rclone config
  11549. This will guide you through an interactive setup process:
  11550. n) New remote
  11551. s) Set configuration password
  11552. n/s> n
  11553. name> remote
  11554. Type of storage to configure.
  11555. Choose a number from below, or type in your own value
  11556. [snip]
  11557. XX / Hubic
  11558. \ "hubic"
  11559. [snip]
  11560. Storage> hubic
  11561. Hubic Client Id - leave blank normally.
  11562. client_id>
  11563. Hubic Client Secret - leave blank normally.
  11564. client_secret>
  11565. Remote config
  11566. Use auto config?
  11567. * Say Y if not sure
  11568. * Say N if you are working on a remote or headless machine
  11569. y) Yes
  11570. n) No
  11571. y/n> y
  11572. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  11573. Log in and authorize rclone for access
  11574. Waiting for code...
  11575. Got code
  11576. --------------------
  11577. [remote]
  11578. client_id =
  11579. client_secret =
  11580. token = {"access_token":"XXXXXX"}
  11581. --------------------
  11582. y) Yes this is OK
  11583. e) Edit this remote
  11584. d) Delete this remote
  11585. y/e/d> y
  11586. See the remote setup docs for how to set it up on a machine with no
  11587. Internet browser available.
  11588. Note that rclone runs a webserver on your local machine to collect the
  11589. token as returned from Hubic. This only runs from the moment it opens
  11590. your browser to the moment you get back the verification code. This is
  11591. on http://127.0.0.1:53682/ and this it may require you to unblock it
  11592. temporarily if you are running a host firewall.
  11593. Once configured you can then use rclone like this,
  11594. List containers in the top level of your Hubic
  11595. rclone lsd remote:
  11596. List all the files in your Hubic
  11597. rclone ls remote:
  11598. To copy a local directory to an Hubic directory called backup
  11599. rclone copy /home/source remote:backup
  11600. If you want the directory to be visible in the official _Hubic browser_,
  11601. you need to copy your files to the default directory
  11602. rclone copy /home/source remote:default/backup
  11603. –fast-list
  11604. This remote supports --fast-list which allows you to use fewer
  11605. transactions in exchange for more memory. See the rclone docs for more
  11606. details.
  11607. Modified time
  11608. The modified time is stored as metadata on the object as
  11609. X-Object-Meta-Mtime as floating point since the epoch accurate to 1 ns.
  11610. This is a de facto standard (used in the official python-swiftclient
  11611. amongst others) for storing the modification time for an object.
  11612. Note that Hubic wraps the Swift backend, so most of the properties of
  11613. are the same.
  11614. Standard Options
  11615. Here are the standard options specific to hubic (Hubic).
  11616. –hubic-client-id
  11617. Hubic Client Id Leave blank normally.
  11618. - Config: client_id
  11619. - Env Var: RCLONE_HUBIC_CLIENT_ID
  11620. - Type: string
  11621. - Default: ""
  11622. –hubic-client-secret
  11623. Hubic Client Secret Leave blank normally.
  11624. - Config: client_secret
  11625. - Env Var: RCLONE_HUBIC_CLIENT_SECRET
  11626. - Type: string
  11627. - Default: ""
  11628. Advanced Options
  11629. Here are the advanced options specific to hubic (Hubic).
  11630. –hubic-chunk-size
  11631. Above this size files will be chunked into a _segments container.
  11632. Above this size files will be chunked into a _segments container. The
  11633. default for this is 5GB which is its maximum value.
  11634. - Config: chunk_size
  11635. - Env Var: RCLONE_HUBIC_CHUNK_SIZE
  11636. - Type: SizeSuffix
  11637. - Default: 5G
  11638. –hubic-no-chunk
  11639. Don’t chunk files during streaming upload.
  11640. When doing streaming uploads (eg using rcat or mount) setting this flag
  11641. will cause the swift backend to not upload chunked files.
  11642. This will limit the maximum upload size to 5GB. However non chunked
  11643. files are easier to deal with and have an MD5SUM.
  11644. Rclone will still chunk files bigger than chunk_size when doing normal
  11645. copy operations.
  11646. - Config: no_chunk
  11647. - Env Var: RCLONE_HUBIC_NO_CHUNK
  11648. - Type: bool
  11649. - Default: false
  11650. –hubic-encoding
  11651. This sets the encoding for the backend.
  11652. See: the encoding section in the overview for more info.
  11653. - Config: encoding
  11654. - Env Var: RCLONE_HUBIC_ENCODING
  11655. - Type: MultiEncoder
  11656. - Default: Slash,InvalidUtf8
  11657. Limitations
  11658. This uses the normal OpenStack Swift mechanism to refresh the Swift API
  11659. credentials and ignores the expires field returned by the Hubic API.
  11660. The Swift API doesn’t return a correct MD5SUM for segmented files
  11661. (Dynamic or Static Large Objects) so rclone won’t check or use the
  11662. MD5SUM for these.
  11663. Jottacloud
  11664. Paths are specified as remote:path
  11665. Paths may be as deep as required, eg remote:directory/subdirectory.
  11666. To configure Jottacloud you will need to generate a personal security
  11667. token in the Jottacloud web inteface. You will the option to do in your
  11668. account security settings. Note that the web inteface may refer to this
  11669. token as a JottaCli token.
  11670. Here is an example of how to make a remote called remote. First run:
  11671. rclone config
  11672. This will guide you through an interactive setup process:
  11673. No remotes found - make a new one
  11674. n) New remote
  11675. s) Set configuration password
  11676. q) Quit config
  11677. n/s/q> n
  11678. name> jotta
  11679. Type of storage to configure.
  11680. Enter a string value. Press Enter for the default ("").
  11681. Choose a number from below, or type in your own value
  11682. [snip]
  11683. XX / JottaCloud
  11684. \ "jottacloud"
  11685. [snip]
  11686. Storage> jottacloud
  11687. ** See help for jottacloud backend at: https://rclone.org/jottacloud/ **
  11688. Edit advanced config? (y/n)
  11689. y) Yes
  11690. n) No
  11691. y/n> n
  11692. Remote config
  11693. Generate a personal login token here: https://www.jottacloud.com/web/secure
  11694. Login Token> <your token here>
  11695. Do you want to use a non standard device/mountpoint e.g. for accessing files uploaded using the official Jottacloud client?
  11696. y) Yes
  11697. n) No
  11698. y/n> y
  11699. Please select the device to use. Normally this will be Jotta
  11700. Choose a number from below, or type in an existing value
  11701. 1 > DESKTOP-3H31129
  11702. 2 > fla1
  11703. 3 > Jotta
  11704. Devices> 3
  11705. Please select the mountpoint to user. Normally this will be Archive
  11706. Choose a number from below, or type in an existing value
  11707. 1 > Archive
  11708. 2 > Shared
  11709. 3 > Sync
  11710. Mountpoints> 1
  11711. --------------------
  11712. [jotta]
  11713. type = jottacloud
  11714. user = 0xC4KE@gmail.com
  11715. token = {........}
  11716. device = Jotta
  11717. mountpoint = Archive
  11718. configVersion = 1
  11719. --------------------
  11720. y) Yes this is OK
  11721. e) Edit this remote
  11722. d) Delete this remote
  11723. y/e/d> y
  11724. Once configured you can then use rclone like this,
  11725. List directories in top level of your Jottacloud
  11726. rclone lsd remote:
  11727. List all the files in your Jottacloud
  11728. rclone ls remote:
  11729. To copy a local directory to an Jottacloud directory called backup
  11730. rclone copy /home/source remote:backup
  11731. Devices and Mountpoints
  11732. The official Jottacloud client registers a device for each computer you
  11733. install it on and then creates a mountpoint for each folder you select
  11734. for Backup. The web interface uses a special device called Jotta for the
  11735. Archive, Sync and Shared mountpoints. In most cases you’ll want to use
  11736. the Jotta/Archive device/mounpoint however if you want to access files
  11737. uploaded by any of the official clients rclone provides the option to
  11738. select other devices and mountpoints during config.
  11739. –fast-list
  11740. This remote supports --fast-list which allows you to use fewer
  11741. transactions in exchange for more memory. See the rclone docs for more
  11742. details.
  11743. Note that the implementation in Jottacloud always uses only a single API
  11744. request to get the entire list, so for large folders this could lead to
  11745. long wait time before the first results are shown.
  11746. Modified time and hashes
  11747. Jottacloud allows modification times to be set on objects accurate to 1
  11748. second. These will be used to detect whether objects need syncing or
  11749. not.
  11750. Jottacloud supports MD5 type hashes, so you can use the --checksum flag.
  11751. Note that Jottacloud requires the MD5 hash before upload so if the
  11752. source does not have an MD5 checksum then the file will be cached
  11753. temporarily on disk (wherever the TMPDIR environment variable points to)
  11754. before it is uploaded. Small files will be cached in memory - see the
  11755. --jottacloud-md5-memory-limit flag.
  11756. Restricted filename characters
  11757. In addition to the default restricted characters set the following
  11758. characters are also replaced:
  11759. Character Value Replacement
  11760. ----------- ------- -------------
  11761. " 0x22 "
  11762. * 0x2A *
  11763. : 0x3A :
  11764. < 0x3C <
  11765. > 0x3E >
  11766. ? 0x3F ?
  11767. | 0x7C |
  11768. Invalid UTF-8 bytes will also be replaced, as they can’t be used in XML
  11769. strings.
  11770. Deleting files
  11771. By default rclone will send all files to the trash when deleting files.
  11772. Due to a lack of API documentation emptying the trash is currently only
  11773. possible via the Jottacloud website. If deleting permanently is required
  11774. then use the --jottacloud-hard-delete flag, or set the equivalent
  11775. environment variable.
  11776. Versions
  11777. Jottacloud supports file versioning. When rclone uploads a new version
  11778. of a file it creates a new version of it. Currently rclone only supports
  11779. retrieving the current version but older versions can be accessed via
  11780. the Jottacloud Website.
  11781. Quota information
  11782. To view your current quota you can use the rclone about remote: command
  11783. which will display your usage limit (unless it is unlimited) and the
  11784. current usage.
  11785. Device IDs
  11786. Jottacloud requires each ‘device’ to be registered. Rclone brings such a
  11787. registration to easily access your account but if you want to use
  11788. Jottacloud together with rclone on multiple machines you NEED to create
  11789. a seperate deviceID/deviceSecrect on each machine. You will asked during
  11790. setting up the remote. Please be aware that this also means that copying
  11791. the rclone config from one machine to another does NOT work with
  11792. Jottacloud accounts. You have to create it on each machine.
  11793. Advanced Options
  11794. Here are the advanced options specific to jottacloud (JottaCloud).
  11795. –jottacloud-md5-memory-limit
  11796. Files bigger than this will be cached on disk to calculate the MD5 if
  11797. required.
  11798. - Config: md5_memory_limit
  11799. - Env Var: RCLONE_JOTTACLOUD_MD5_MEMORY_LIMIT
  11800. - Type: SizeSuffix
  11801. - Default: 10M
  11802. –jottacloud-hard-delete
  11803. Delete files permanently rather than putting them into the trash.
  11804. - Config: hard_delete
  11805. - Env Var: RCLONE_JOTTACLOUD_HARD_DELETE
  11806. - Type: bool
  11807. - Default: false
  11808. –jottacloud-unlink
  11809. Remove existing public link to file/folder with link command rather than
  11810. creating. Default is false, meaning link command will create or retrieve
  11811. public link.
  11812. - Config: unlink
  11813. - Env Var: RCLONE_JOTTACLOUD_UNLINK
  11814. - Type: bool
  11815. - Default: false
  11816. –jottacloud-upload-resume-limit
  11817. Files bigger than this can be resumed if the upload fail’s.
  11818. - Config: upload_resume_limit
  11819. - Env Var: RCLONE_JOTTACLOUD_UPLOAD_RESUME_LIMIT
  11820. - Type: SizeSuffix
  11821. - Default: 10M
  11822. –jottacloud-encoding
  11823. This sets the encoding for the backend.
  11824. See: the encoding section in the overview for more info.
  11825. - Config: encoding
  11826. - Env Var: RCLONE_JOTTACLOUD_ENCODING
  11827. - Type: MultiEncoder
  11828. - Default:
  11829. Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Del,Ctl,InvalidUtf8,Dot
  11830. Limitations
  11831. Note that Jottacloud is case insensitive so you can’t have a file called
  11832. “Hello.doc” and one called “hello.doc”.
  11833. There are quite a few characters that can’t be in Jottacloud file names.
  11834. Rclone will map these names to and from an identical looking unicode
  11835. equivalent. For example if a file has a ? in it will be mapped to ?
  11836. instead.
  11837. Jottacloud only supports filenames up to 255 characters in length.
  11838. Troubleshooting
  11839. Jottacloud exhibits some inconsistent behaviours regarding deleted files
  11840. and folders which may cause Copy, Move and DirMove operations to
  11841. previously deleted paths to fail. Emptying the trash should help in such
  11842. cases.
  11843. Koofr
  11844. Paths are specified as remote:path
  11845. Paths may be as deep as required, eg remote:directory/subdirectory.
  11846. The initial setup for Koofr involves creating an application password
  11847. for rclone. You can do that by opening the Koofr web application, giving
  11848. the password a nice name like rclone and clicking on generate.
  11849. Here is an example of how to make a remote called koofr. First run:
  11850. rclone config
  11851. This will guide you through an interactive setup process:
  11852. No remotes found - make a new one
  11853. n) New remote
  11854. s) Set configuration password
  11855. q) Quit config
  11856. n/s/q> n
  11857. name> koofr
  11858. Type of storage to configure.
  11859. Enter a string value. Press Enter for the default ("").
  11860. Choose a number from below, or type in your own value
  11861. [snip]
  11862. XX / Koofr
  11863. \ "koofr"
  11864. [snip]
  11865. Storage> koofr
  11866. ** See help for koofr backend at: https://rclone.org/koofr/ **
  11867. Your Koofr user name
  11868. Enter a string value. Press Enter for the default ("").
  11869. user> USER@NAME
  11870. Your Koofr password for rclone (generate one at https://app.koofr.net/app/admin/preferences/password)
  11871. y) Yes type in my own password
  11872. g) Generate random password
  11873. y/g> y
  11874. Enter the password:
  11875. password:
  11876. Confirm the password:
  11877. password:
  11878. Edit advanced config? (y/n)
  11879. y) Yes
  11880. n) No
  11881. y/n> n
  11882. Remote config
  11883. --------------------
  11884. [koofr]
  11885. type = koofr
  11886. baseurl = https://app.koofr.net
  11887. user = USER@NAME
  11888. password = *** ENCRYPTED ***
  11889. --------------------
  11890. y) Yes this is OK
  11891. e) Edit this remote
  11892. d) Delete this remote
  11893. y/e/d> y
  11894. You can choose to edit advanced config in order to enter your own
  11895. service URL if you use an on-premise or white label Koofr instance, or
  11896. choose an alternative mount instead of your primary storage.
  11897. Once configured you can then use rclone like this,
  11898. List directories in top level of your Koofr
  11899. rclone lsd koofr:
  11900. List all the files in your Koofr
  11901. rclone ls koofr:
  11902. To copy a local directory to an Koofr directory called backup
  11903. rclone copy /home/source remote:backup
  11904. Restricted filename characters
  11905. In addition to the default restricted characters set the following
  11906. characters are also replaced:
  11907. Character Value Replacement
  11908. ----------- ------- -------------
  11909. \ 0x5C \
  11910. Invalid UTF-8 bytes will also be replaced, as they can’t be used in XML
  11911. strings.
  11912. Standard Options
  11913. Here are the standard options specific to koofr (Koofr).
  11914. –koofr-user
  11915. Your Koofr user name
  11916. - Config: user
  11917. - Env Var: RCLONE_KOOFR_USER
  11918. - Type: string
  11919. - Default: ""
  11920. –koofr-password
  11921. Your Koofr password for rclone (generate one at
  11922. https://app.koofr.net/app/admin/preferences/password)
  11923. - Config: password
  11924. - Env Var: RCLONE_KOOFR_PASSWORD
  11925. - Type: string
  11926. - Default: ""
  11927. Advanced Options
  11928. Here are the advanced options specific to koofr (Koofr).
  11929. –koofr-endpoint
  11930. The Koofr API endpoint to use
  11931. - Config: endpoint
  11932. - Env Var: RCLONE_KOOFR_ENDPOINT
  11933. - Type: string
  11934. - Default: “https://app.koofr.net”
  11935. –koofr-mountid
  11936. Mount ID of the mount to use. If omitted, the primary mount is used.
  11937. - Config: mountid
  11938. - Env Var: RCLONE_KOOFR_MOUNTID
  11939. - Type: string
  11940. - Default: ""
  11941. –koofr-setmtime
  11942. Does the backend support setting modification time. Set this to false if
  11943. you use a mount ID that points to a Dropbox or Amazon Drive backend.
  11944. - Config: setmtime
  11945. - Env Var: RCLONE_KOOFR_SETMTIME
  11946. - Type: bool
  11947. - Default: true
  11948. –koofr-encoding
  11949. This sets the encoding for the backend.
  11950. See: the encoding section in the overview for more info.
  11951. - Config: encoding
  11952. - Env Var: RCLONE_KOOFR_ENCODING
  11953. - Type: MultiEncoder
  11954. - Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
  11955. Limitations
  11956. Note that Koofr is case insensitive so you can’t have a file called
  11957. “Hello.doc” and one called “hello.doc”.
  11958. Mail.ru Cloud
  11959. Mail.ru Cloud is a cloud storage provided by a Russian internet company
  11960. Mail.Ru Group. The official desktop client is Disk-O:, available only on
  11961. Windows. (Please note that official sites are in Russian)
  11962. Features highlights
  11963. - Paths may be as deep as required, eg remote:directory/subdirectory
  11964. - Files have a last modified time property, directories don’t
  11965. - Deleted files are by default moved to the trash
  11966. - Files and directories can be shared via public links
  11967. - Partial uploads or streaming are not supported, file size must be
  11968. known before upload
  11969. - Maximum file size is limited to 2G for a free acount, unlimited for
  11970. paid accounts
  11971. - Storage keeps hash for all files and performs transparent
  11972. deduplication, the hash algorithm is a modified SHA1
  11973. - If a particular file is already present in storage, one can quickly
  11974. submit file hash instead of long file upload (this optimization is
  11975. supported by rclone)
  11976. Configuration
  11977. Here is an example of making a mailru configuration. First create a
  11978. Mail.ru Cloud account and choose a tariff, then run
  11979. rclone config
  11980. This will guide you through an interactive setup process:
  11981. No remotes found - make a new one
  11982. n) New remote
  11983. s) Set configuration password
  11984. q) Quit config
  11985. n/s/q> n
  11986. name> remote
  11987. Type of storage to configure.
  11988. Type of storage to configure.
  11989. Enter a string value. Press Enter for the default ("").
  11990. Choose a number from below, or type in your own value
  11991. [snip]
  11992. XX / Mail.ru Cloud
  11993. \ "mailru"
  11994. [snip]
  11995. Storage> mailru
  11996. User name (usually email)
  11997. Enter a string value. Press Enter for the default ("").
  11998. user> username@mail.ru
  11999. Password
  12000. y) Yes type in my own password
  12001. g) Generate random password
  12002. y/g> y
  12003. Enter the password:
  12004. password:
  12005. Confirm the password:
  12006. password:
  12007. Skip full upload if there is another file with same data hash.
  12008. This feature is called "speedup" or "put by hash". It is especially efficient
  12009. in case of generally available files like popular books, video or audio clips
  12010. [snip]
  12011. Enter a boolean value (true or false). Press Enter for the default ("true").
  12012. Choose a number from below, or type in your own value
  12013. 1 / Enable
  12014. \ "true"
  12015. 2 / Disable
  12016. \ "false"
  12017. speedup_enable> 1
  12018. Edit advanced config? (y/n)
  12019. y) Yes
  12020. n) No
  12021. y/n> n
  12022. Remote config
  12023. --------------------
  12024. [remote]
  12025. type = mailru
  12026. user = username@mail.ru
  12027. pass = *** ENCRYPTED ***
  12028. speedup_enable = true
  12029. --------------------
  12030. y) Yes this is OK
  12031. e) Edit this remote
  12032. d) Delete this remote
  12033. y/e/d> y
  12034. Configuration of this backend does not require a local web browser. You
  12035. can use the configured backend as shown below:
  12036. See top level directories
  12037. rclone lsd remote:
  12038. Make a new directory
  12039. rclone mkdir remote:directory
  12040. List the contents of a directory
  12041. rclone ls remote:directory
  12042. Sync /home/local/directory to the remote path, deleting any excess files
  12043. in the path.
  12044. rclone sync /home/local/directory remote:directory
  12045. Modified time
  12046. Files support a modification time attribute with up to 1 second
  12047. precision. Directories do not have a modification time, which is shown
  12048. as “Jan 1 1970”.
  12049. Hash checksums
  12050. Hash sums use a custom Mail.ru algorithm based on SHA1. If file size is
  12051. less than or equal to the SHA1 block size (20 bytes), its hash is simply
  12052. its data right-padded with zero bytes. Hash sum of a larger file is
  12053. computed as a SHA1 sum of the file data bytes concatenated with a
  12054. decimal representation of the data length.
  12055. Emptying Trash
  12056. Removing a file or directory actually moves it to the trash, which is
  12057. not visible to rclone but can be seen in a web browser. The trashed file
  12058. still occupies part of total quota. If you wish to empty your trash and
  12059. free some quota, you can use the rclone cleanup remote: command, which
  12060. will permanently delete all your trashed files. This command does not
  12061. take any path arguments.
  12062. Quota information
  12063. To view your current quota you can use the rclone about remote: command
  12064. which will display your usage limit (quota) and the current usage.
  12065. Restricted filename characters
  12066. In addition to the default restricted characters set the following
  12067. characters are also replaced:
  12068. Character Value Replacement
  12069. ----------- ------- -------------
  12070. " 0x22 "
  12071. * 0x2A *
  12072. : 0x3A :
  12073. < 0x3C <
  12074. > 0x3E >
  12075. ? 0x3F ?
  12076. \ 0x5C \
  12077. | 0x7C |
  12078. Invalid UTF-8 bytes will also be replaced, as they can’t be used in JSON
  12079. strings.
  12080. Limitations
  12081. File size limits depend on your account. A single file size is limited
  12082. by 2G for a free account and unlimited for paid tariffs. Please refer to
  12083. the Mail.ru site for the total uploaded size limits.
  12084. Note that Mailru is case insensitive so you can’t have a file called
  12085. “Hello.doc” and one called “hello.doc”.
  12086. Standard Options
  12087. Here are the standard options specific to mailru (Mail.ru Cloud).
  12088. –mailru-user
  12089. User name (usually email)
  12090. - Config: user
  12091. - Env Var: RCLONE_MAILRU_USER
  12092. - Type: string
  12093. - Default: ""
  12094. –mailru-pass
  12095. Password
  12096. - Config: pass
  12097. - Env Var: RCLONE_MAILRU_PASS
  12098. - Type: string
  12099. - Default: ""
  12100. –mailru-speedup-enable
  12101. Skip full upload if there is another file with same data hash. This
  12102. feature is called “speedup” or “put by hash”. It is especially efficient
  12103. in case of generally available files like popular books, video or audio
  12104. clips, because files are searched by hash in all accounts of all mailru
  12105. users. Please note that rclone may need local memory and disk space to
  12106. calculate content hash in advance and decide whether full upload is
  12107. required. Also, if rclone does not know file size in advance (e.g. in
  12108. case of streaming or partial uploads), it will not even try this
  12109. optimization.
  12110. - Config: speedup_enable
  12111. - Env Var: RCLONE_MAILRU_SPEEDUP_ENABLE
  12112. - Type: bool
  12113. - Default: true
  12114. - Examples:
  12115. - “true”
  12116. - Enable
  12117. - “false”
  12118. - Disable
  12119. Advanced Options
  12120. Here are the advanced options specific to mailru (Mail.ru Cloud).
  12121. –mailru-speedup-file-patterns
  12122. Comma separated list of file name patterns eligible for speedup (put by
  12123. hash). Patterns are case insensitive and can contain ’*’ or ‘?’ meta
  12124. characters.
  12125. - Config: speedup_file_patterns
  12126. - Env Var: RCLONE_MAILRU_SPEEDUP_FILE_PATTERNS
  12127. - Type: string
  12128. - Default: “_.mkv,_.avi,_.mp4,_.mp3,_.zip,_.gz,_.rar,_.pdf”
  12129. - Examples:
  12130. - ""
  12131. - Empty list completely disables speedup (put by hash).
  12132. - "*"
  12133. - All files will be attempted for speedup.
  12134. - “_.mkv,_.avi,_.mp4,_.mp3”
  12135. - Only common audio/video files will be tried for put by hash.
  12136. - “_.zip,_.gz,_.rar,_.pdf”
  12137. - Only common archives or PDF books will be tried for speedup.
  12138. –mailru-speedup-max-disk
  12139. This option allows you to disable speedup (put by hash) for large files
  12140. (because preliminary hashing can exhaust you RAM or disk space)
  12141. - Config: speedup_max_disk
  12142. - Env Var: RCLONE_MAILRU_SPEEDUP_MAX_DISK
  12143. - Type: SizeSuffix
  12144. - Default: 3G
  12145. - Examples:
  12146. - “0”
  12147. - Completely disable speedup (put by hash).
  12148. - “1G”
  12149. - Files larger than 1Gb will be uploaded directly.
  12150. - “3G”
  12151. - Choose this option if you have less than 3Gb free on local
  12152. disk.
  12153. –mailru-speedup-max-memory
  12154. Files larger than the size given below will always be hashed on disk.
  12155. - Config: speedup_max_memory
  12156. - Env Var: RCLONE_MAILRU_SPEEDUP_MAX_MEMORY
  12157. - Type: SizeSuffix
  12158. - Default: 32M
  12159. - Examples:
  12160. - “0”
  12161. - Preliminary hashing will always be done in a temporary disk
  12162. location.
  12163. - “32M”
  12164. - Do not dedicate more than 32Mb RAM for preliminary hashing.
  12165. - “256M”
  12166. - You have at most 256Mb RAM free for hash calculations.
  12167. –mailru-check-hash
  12168. What should copy do if file checksum is mismatched or invalid
  12169. - Config: check_hash
  12170. - Env Var: RCLONE_MAILRU_CHECK_HASH
  12171. - Type: bool
  12172. - Default: true
  12173. - Examples:
  12174. - “true”
  12175. - Fail with error.
  12176. - “false”
  12177. - Ignore and continue.
  12178. –mailru-user-agent
  12179. HTTP user agent used internally by client. Defaults to “rclone/VERSION”
  12180. or “–user-agent” provided on command line.
  12181. - Config: user_agent
  12182. - Env Var: RCLONE_MAILRU_USER_AGENT
  12183. - Type: string
  12184. - Default: ""
  12185. –mailru-quirks
  12186. Comma separated list of internal maintenance flags. This option must not
  12187. be used by an ordinary user. It is intended only to facilitate remote
  12188. troubleshooting of backend issues. Strict meaning of flags is not
  12189. documented and not guaranteed to persist between releases. Quirks will
  12190. be removed when the backend grows stable. Supported quirks: atomicmkdir
  12191. binlist gzip insecure retry400
  12192. - Config: quirks
  12193. - Env Var: RCLONE_MAILRU_QUIRKS
  12194. - Type: string
  12195. - Default: ""
  12196. –mailru-encoding
  12197. This sets the encoding for the backend.
  12198. See: the encoding section in the overview for more info.
  12199. - Config: encoding
  12200. - Env Var: RCLONE_MAILRU_ENCODING
  12201. - Type: MultiEncoder
  12202. - Default:
  12203. Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,InvalidUtf8,Dot
  12204. Mega
  12205. Mega is a cloud storage and file hosting service known for its security
  12206. feature where all files are encrypted locally before they are uploaded.
  12207. This prevents anyone (including employees of Mega) from accessing the
  12208. files without knowledge of the key used for encryption.
  12209. This is an rclone backend for Mega which supports the file transfer
  12210. features of Mega using the same client side encryption.
  12211. Paths are specified as remote:path
  12212. Paths may be as deep as required, eg remote:directory/subdirectory.
  12213. Here is an example of how to make a remote called remote. First run:
  12214. rclone config
  12215. This will guide you through an interactive setup process:
  12216. No remotes found - make a new one
  12217. n) New remote
  12218. s) Set configuration password
  12219. q) Quit config
  12220. n/s/q> n
  12221. name> remote
  12222. Type of storage to configure.
  12223. Choose a number from below, or type in your own value
  12224. [snip]
  12225. XX / Mega
  12226. \ "mega"
  12227. [snip]
  12228. Storage> mega
  12229. User name
  12230. user> you@example.com
  12231. Password.
  12232. y) Yes type in my own password
  12233. g) Generate random password
  12234. n) No leave this optional password blank
  12235. y/g/n> y
  12236. Enter the password:
  12237. password:
  12238. Confirm the password:
  12239. password:
  12240. Remote config
  12241. --------------------
  12242. [remote]
  12243. type = mega
  12244. user = you@example.com
  12245. pass = *** ENCRYPTED ***
  12246. --------------------
  12247. y) Yes this is OK
  12248. e) Edit this remote
  12249. d) Delete this remote
  12250. y/e/d> y
  12251. NOTE: The encryption keys need to have been already generated after a
  12252. regular login via the browser, otherwise attempting to use the
  12253. credentials in rclone will fail.
  12254. Once configured you can then use rclone like this,
  12255. List directories in top level of your Mega
  12256. rclone lsd remote:
  12257. List all the files in your Mega
  12258. rclone ls remote:
  12259. To copy a local directory to an Mega directory called backup
  12260. rclone copy /home/source remote:backup
  12261. Modified time and hashes
  12262. Mega does not support modification times or hashes yet.
  12263. Restricted filename characters
  12264. Character Value Replacement
  12265. ----------- ------- -------------
  12266. NUL 0x00 ␀
  12267. / 0x2F /
  12268. Invalid UTF-8 bytes will also be replaced, as they can’t be used in JSON
  12269. strings.
  12270. Duplicated files
  12271. Mega can have two files with exactly the same name and path (unlike a
  12272. normal file system).
  12273. Duplicated files cause problems with the syncing and you will see
  12274. messages in the log about duplicates.
  12275. Use rclone dedupe to fix duplicated files.
  12276. Failure to log-in
  12277. Mega remotes seem to get blocked (reject logins) under “heavy use”. We
  12278. haven’t worked out the exact blocking rules but it seems to be related
  12279. to fast paced, sucessive rclone commands.
  12280. For example, executing this command 90 times in a row
  12281. rclone link remote:file will cause the remote to become “blocked”. This
  12282. is not an abnormal situation, for example if you wish to get the public
  12283. links of a directory with hundred of files… After more or less a week,
  12284. the remote will remote accept rclone logins normally again.
  12285. You can mitigate this issue by mounting the remote it with rclone mount.
  12286. This will log-in when mounting and a log-out when unmounting only. You
  12287. can also run rclone rcd and then use rclone rc to run the commands over
  12288. the API to avoid logging in each time.
  12289. Rclone does not currently close mega sessions (you can see them in the
  12290. web interface), however closing the sessions does not solve the issue.
  12291. If you space rclone commands by 3 seconds it will avoid blocking the
  12292. remote. We haven’t identified the exact blocking rules, so perhaps one
  12293. could execute the command 80 times without waiting and avoid blocking by
  12294. waiting 3 seconds, then continuing…
  12295. Note that this has been observed by trial and error and might not be set
  12296. in stone.
  12297. Other tools seem not to produce this blocking effect, as they use a
  12298. different working approach (state-based, using sessionIDs instead of
  12299. log-in) which isn’t compatible with the current stateless rclone
  12300. approach.
  12301. Note that once blocked, the use of other tools (such as megacmd) is not
  12302. a sure workaround: following megacmd login times have been observed in
  12303. sucession for blocked remote: 7 minutes, 20 min, 30min, 30 min, 30min.
  12304. Web access looks unaffected though.
  12305. Investigation is continuing in relation to workarounds based on
  12306. timeouts, pacers, retrials and tpslimits - if you discover something
  12307. relevant, please post on the forum.
  12308. So, if rclone was working nicely and suddenly you are unable to log-in
  12309. and you are sure the user and the password are correct, likely you have
  12310. got the remote blocked for a while.
  12311. Standard Options
  12312. Here are the standard options specific to mega (Mega).
  12313. –mega-user
  12314. User name
  12315. - Config: user
  12316. - Env Var: RCLONE_MEGA_USER
  12317. - Type: string
  12318. - Default: ""
  12319. –mega-pass
  12320. Password.
  12321. - Config: pass
  12322. - Env Var: RCLONE_MEGA_PASS
  12323. - Type: string
  12324. - Default: ""
  12325. Advanced Options
  12326. Here are the advanced options specific to mega (Mega).
  12327. –mega-debug
  12328. Output more debug from Mega.
  12329. If this flag is set (along with -vv) it will print further debugging
  12330. information from the mega backend.
  12331. - Config: debug
  12332. - Env Var: RCLONE_MEGA_DEBUG
  12333. - Type: bool
  12334. - Default: false
  12335. –mega-hard-delete
  12336. Delete files permanently rather than putting them into the trash.
  12337. Normally the mega backend will put all deletions into the trash rather
  12338. than permanently deleting them. If you specify this then rclone will
  12339. permanently delete objects instead.
  12340. - Config: hard_delete
  12341. - Env Var: RCLONE_MEGA_HARD_DELETE
  12342. - Type: bool
  12343. - Default: false
  12344. –mega-encoding
  12345. This sets the encoding for the backend.
  12346. See: the encoding section in the overview for more info.
  12347. - Config: encoding
  12348. - Env Var: RCLONE_MEGA_ENCODING
  12349. - Type: MultiEncoder
  12350. - Default: Slash,InvalidUtf8,Dot
  12351. Limitations
  12352. This backend uses the go-mega go library which is an opensource go
  12353. library implementing the Mega API. There doesn’t appear to be any
  12354. documentation for the mega protocol beyond the mega C++ SDK source code
  12355. so there are likely quite a few errors still remaining in this library.
  12356. Mega allows duplicate files which may confuse rclone.
  12357. Memory
  12358. The memory backend is an in RAM backend. It does not persist its data -
  12359. use the local backend for that.
  12360. The memory backend behaves like a bucket based remote (eg like s3).
  12361. Because it has no parameters you can just use it with the :memory:
  12362. remote name.
  12363. You can configure it as a remote like this with rclone config too if you
  12364. want to:
  12365. No remotes found - make a new one
  12366. n) New remote
  12367. s) Set configuration password
  12368. q) Quit config
  12369. n/s/q> n
  12370. name> remote
  12371. Type of storage to configure.
  12372. Enter a string value. Press Enter for the default ("").
  12373. Choose a number from below, or type in your own value
  12374. [snip]
  12375. XX / Memory
  12376. \ "memory"
  12377. [snip]
  12378. Storage> memory
  12379. ** See help for memory backend at: https://rclone.org/memory/ **
  12380. Remote config
  12381. --------------------
  12382. [remote]
  12383. type = memory
  12384. --------------------
  12385. y) Yes this is OK (default)
  12386. e) Edit this remote
  12387. d) Delete this remote
  12388. y/e/d> y
  12389. Because the memory backend isn’t persistent it is most useful for
  12390. testing or with an rclone server or rclone mount, eg
  12391. rclone mount :memory: /mnt/tmp
  12392. rclone serve webdav :memory:
  12393. rclone serve sftp :memory:
  12394. Modified time and hashes
  12395. The memory backend supports MD5 hashes and modification times accurate
  12396. to 1 nS.
  12397. Restricted filename characters
  12398. The memory backend replaces the default restricted characters set.
  12399. Microsoft Azure Blob Storage
  12400. Paths are specified as remote:container (or remote: for the lsd
  12401. command.) You may put subdirectories in too, eg
  12402. remote:container/path/to/dir.
  12403. Here is an example of making a Microsoft Azure Blob Storage
  12404. configuration. For a remote called remote. First run:
  12405. rclone config
  12406. This will guide you through an interactive setup process:
  12407. No remotes found - make a new one
  12408. n) New remote
  12409. s) Set configuration password
  12410. q) Quit config
  12411. n/s/q> n
  12412. name> remote
  12413. Type of storage to configure.
  12414. Choose a number from below, or type in your own value
  12415. [snip]
  12416. XX / Microsoft Azure Blob Storage
  12417. \ "azureblob"
  12418. [snip]
  12419. Storage> azureblob
  12420. Storage Account Name
  12421. account> account_name
  12422. Storage Account Key
  12423. key> base64encodedkey==
  12424. Endpoint for the service - leave blank normally.
  12425. endpoint>
  12426. Remote config
  12427. --------------------
  12428. [remote]
  12429. account = account_name
  12430. key = base64encodedkey==
  12431. endpoint =
  12432. --------------------
  12433. y) Yes this is OK
  12434. e) Edit this remote
  12435. d) Delete this remote
  12436. y/e/d> y
  12437. See all containers
  12438. rclone lsd remote:
  12439. Make a new container
  12440. rclone mkdir remote:container
  12441. List the contents of a container
  12442. rclone ls remote:container
  12443. Sync /home/local/directory to the remote container, deleting any excess
  12444. files in the container.
  12445. rclone sync /home/local/directory remote:container
  12446. –fast-list
  12447. This remote supports --fast-list which allows you to use fewer
  12448. transactions in exchange for more memory. See the rclone docs for more
  12449. details.
  12450. Modified time
  12451. The modified time is stored as metadata on the object with the mtime
  12452. key. It is stored using RFC3339 Format time with nanosecond precision.
  12453. The metadata is supplied during directory listings so there is no
  12454. overhead to using it.
  12455. Restricted filename characters
  12456. In addition to the default restricted characters set the following
  12457. characters are also replaced:
  12458. Character Value Replacement
  12459. ----------- ------- -------------
  12460. / 0x2F /
  12461. \ 0x5C \
  12462. File names can also not end with the following characters. These only
  12463. get replaced if they are last character in the name:
  12464. Character Value Replacement
  12465. ----------- ------- -------------
  12466. . 0x2E .
  12467. Invalid UTF-8 bytes will also be replaced, as they can’t be used in JSON
  12468. strings.
  12469. Hashes
  12470. MD5 hashes are stored with blobs. However blobs that were uploaded in
  12471. chunks only have an MD5 if the source remote was capable of MD5 hashes,
  12472. eg the local disk.
  12473. Authenticating with Azure Blob Storage
  12474. Rclone has 3 ways of authenticating with Azure Blob Storage:
  12475. Account and Key
  12476. This is the most straight forward and least flexible way. Just fill in
  12477. the account and key lines and leave the rest blank.
  12478. SAS URL
  12479. This can be an account level SAS URL or container level SAS URL
  12480. To use it leave account, key blank and fill in sas_url.
  12481. Account level SAS URL or container level SAS URL can be obtained from
  12482. Azure portal or Azure Storage Explorer. To get a container level SAS URL
  12483. right click on a container in the Azure Blob explorer in the Azure
  12484. portal.
  12485. If You use container level SAS URL, rclone operations are permitted only
  12486. on particular container, eg
  12487. rclone ls azureblob:container or rclone ls azureblob:
  12488. Since container name already exists in SAS URL, you can leave it empty
  12489. as well.
  12490. However these will not work
  12491. rclone lsd azureblob:
  12492. rclone ls azureblob:othercontainer
  12493. This would be useful for temporarily allowing third parties access to a
  12494. single container or putting credentials into an untrusted environment.
  12495. Multipart uploads
  12496. Rclone supports multipart uploads with Azure Blob storage. Files bigger
  12497. than 256MB will be uploaded using chunked upload by default.
  12498. The files will be uploaded in parallel in 4MB chunks (by default). Note
  12499. that these chunks are buffered in memory and there may be up to
  12500. --transfers of them being uploaded at once.
  12501. Files can’t be split into more than 50,000 chunks so by default, so the
  12502. largest file that can be uploaded with 4MB chunk size is 195GB. Above
  12503. this rclone will double the chunk size until it creates less than 50,000
  12504. chunks. By default this will mean a maximum file size of 3.2TB can be
  12505. uploaded. This can be raised to 5TB using --azureblob-chunk-size 100M.
  12506. Note that rclone doesn’t commit the block list until the end of the
  12507. upload which means that there is a limit of 9.5TB of multipart uploads
  12508. in progress as Azure won’t allow more than that amount of uncommitted
  12509. blocks.
  12510. Standard Options
  12511. Here are the standard options specific to azureblob (Microsoft Azure
  12512. Blob Storage).
  12513. –azureblob-account
  12514. Storage Account Name (leave blank to use SAS URL or Emulator)
  12515. - Config: account
  12516. - Env Var: RCLONE_AZUREBLOB_ACCOUNT
  12517. - Type: string
  12518. - Default: ""
  12519. –azureblob-key
  12520. Storage Account Key (leave blank to use SAS URL or Emulator)
  12521. - Config: key
  12522. - Env Var: RCLONE_AZUREBLOB_KEY
  12523. - Type: string
  12524. - Default: ""
  12525. –azureblob-sas-url
  12526. SAS URL for container level access only (leave blank if using
  12527. account/key or Emulator)
  12528. - Config: sas_url
  12529. - Env Var: RCLONE_AZUREBLOB_SAS_URL
  12530. - Type: string
  12531. - Default: ""
  12532. –azureblob-use-emulator
  12533. Uses local storage emulator if provided as ‘true’ (leave blank if using
  12534. real azure storage endpoint)
  12535. - Config: use_emulator
  12536. - Env Var: RCLONE_AZUREBLOB_USE_EMULATOR
  12537. - Type: bool
  12538. - Default: false
  12539. Advanced Options
  12540. Here are the advanced options specific to azureblob (Microsoft Azure
  12541. Blob Storage).
  12542. –azureblob-endpoint
  12543. Endpoint for the service Leave blank normally.
  12544. - Config: endpoint
  12545. - Env Var: RCLONE_AZUREBLOB_ENDPOINT
  12546. - Type: string
  12547. - Default: ""
  12548. –azureblob-upload-cutoff
  12549. Cutoff for switching to chunked upload (<= 256MB).
  12550. - Config: upload_cutoff
  12551. - Env Var: RCLONE_AZUREBLOB_UPLOAD_CUTOFF
  12552. - Type: SizeSuffix
  12553. - Default: 256M
  12554. –azureblob-chunk-size
  12555. Upload chunk size (<= 100MB).
  12556. Note that this is stored in memory and there may be up to “–transfers”
  12557. chunks stored at once in memory.
  12558. - Config: chunk_size
  12559. - Env Var: RCLONE_AZUREBLOB_CHUNK_SIZE
  12560. - Type: SizeSuffix
  12561. - Default: 4M
  12562. –azureblob-list-chunk
  12563. Size of blob list.
  12564. This sets the number of blobs requested in each listing chunk. Default
  12565. is the maximum, 5000. “List blobs” requests are permitted 2 minutes per
  12566. megabyte to complete. If an operation is taking longer than 2 minutes
  12567. per megabyte on average, it will time out ( source ). This can be used
  12568. to limit the number of blobs items to return, to avoid the time out.
  12569. - Config: list_chunk
  12570. - Env Var: RCLONE_AZUREBLOB_LIST_CHUNK
  12571. - Type: int
  12572. - Default: 5000
  12573. –azureblob-access-tier
  12574. Access tier of blob: hot, cool or archive.
  12575. Archived blobs can be restored by setting access tier to hot or cool.
  12576. Leave blank if you intend to use default access tier, which is set at
  12577. account level
  12578. If there is no “access tier” specified, rclone doesn’t apply any tier.
  12579. rclone performs “Set Tier” operation on blobs while uploading, if
  12580. objects are not modified, specifying “access tier” to new one will have
  12581. no effect. If blobs are in “archive tier” at remote, trying to perform
  12582. data transfer operations from remote will not be allowed. User should
  12583. first restore by tiering blob to “Hot” or “Cool”.
  12584. - Config: access_tier
  12585. - Env Var: RCLONE_AZUREBLOB_ACCESS_TIER
  12586. - Type: string
  12587. - Default: ""
  12588. –azureblob-encoding
  12589. This sets the encoding for the backend.
  12590. See: the encoding section in the overview for more info.
  12591. - Config: encoding
  12592. - Env Var: RCLONE_AZUREBLOB_ENCODING
  12593. - Type: MultiEncoder
  12594. - Default: Slash,BackSlash,Del,Ctl,RightPeriod,InvalidUtf8
  12595. Limitations
  12596. MD5 sums are only uploaded with chunked files if the source has an MD5
  12597. sum. This will always be the case for a local to azure copy.
  12598. Azure Storage Emulator Support
  12599. You can test rlcone with storage emulator locally, to do this make sure
  12600. azure storage emulator installed locally and set up a new remote with
  12601. rclone config follow instructions described in introduction, set
  12602. use_emulator config as true, you do not need to provide default account
  12603. name or key if using emulator.
  12604. Microsoft OneDrive
  12605. Paths are specified as remote:path
  12606. Paths may be as deep as required, eg remote:directory/subdirectory.
  12607. The initial setup for OneDrive involves getting a token from Microsoft
  12608. which you need to do in your browser. rclone config walks you through
  12609. it.
  12610. Here is an example of how to make a remote called remote. First run:
  12611. rclone config
  12612. This will guide you through an interactive setup process:
  12613. e) Edit existing remote
  12614. n) New remote
  12615. d) Delete remote
  12616. r) Rename remote
  12617. c) Copy remote
  12618. s) Set configuration password
  12619. q) Quit config
  12620. e/n/d/r/c/s/q> n
  12621. name> remote
  12622. Type of storage to configure.
  12623. Enter a string value. Press Enter for the default ("").
  12624. Choose a number from below, or type in your own value
  12625. [snip]
  12626. XX / Microsoft OneDrive
  12627. \ "onedrive"
  12628. [snip]
  12629. Storage> onedrive
  12630. Microsoft App Client Id
  12631. Leave blank normally.
  12632. Enter a string value. Press Enter for the default ("").
  12633. client_id>
  12634. Microsoft App Client Secret
  12635. Leave blank normally.
  12636. Enter a string value. Press Enter for the default ("").
  12637. client_secret>
  12638. Edit advanced config? (y/n)
  12639. y) Yes
  12640. n) No
  12641. y/n> n
  12642. Remote config
  12643. Use auto config?
  12644. * Say Y if not sure
  12645. * Say N if you are working on a remote or headless machine
  12646. y) Yes
  12647. n) No
  12648. y/n> y
  12649. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  12650. Log in and authorize rclone for access
  12651. Waiting for code...
  12652. Got code
  12653. Choose a number from below, or type in an existing value
  12654. 1 / OneDrive Personal or Business
  12655. \ "onedrive"
  12656. 2 / Sharepoint site
  12657. \ "sharepoint"
  12658. 3 / Type in driveID
  12659. \ "driveid"
  12660. 4 / Type in SiteID
  12661. \ "siteid"
  12662. 5 / Search a Sharepoint site
  12663. \ "search"
  12664. Your choice> 1
  12665. Found 1 drives, please select the one you want to use:
  12666. 0: OneDrive (business) id=b!Eqwertyuiopasdfghjklzxcvbnm-7mnbvcxzlkjhgfdsapoiuytrewqk
  12667. Chose drive to use:> 0
  12668. Found drive 'root' of type 'business', URL: https://org-my.sharepoint.com/personal/you/Documents
  12669. Is that okay?
  12670. y) Yes
  12671. n) No
  12672. y/n> y
  12673. --------------------
  12674. [remote]
  12675. type = onedrive
  12676. token = {"access_token":"youraccesstoken","token_type":"Bearer","refresh_token":"yourrefreshtoken","expiry":"2018-08-26T22:39:52.486512262+08:00"}
  12677. drive_id = b!Eqwertyuiopasdfghjklzxcvbnm-7mnbvcxzlkjhgfdsapoiuytrewqk
  12678. drive_type = business
  12679. --------------------
  12680. y) Yes this is OK
  12681. e) Edit this remote
  12682. d) Delete this remote
  12683. y/e/d> y
  12684. See the remote setup docs for how to set it up on a machine with no
  12685. Internet browser available.
  12686. Note that rclone runs a webserver on your local machine to collect the
  12687. token as returned from Microsoft. This only runs from the moment it
  12688. opens your browser to the moment you get back the verification code.
  12689. This is on http://127.0.0.1:53682/ and this it may require you to
  12690. unblock it temporarily if you are running a host firewall.
  12691. Once configured you can then use rclone like this,
  12692. List directories in top level of your OneDrive
  12693. rclone lsd remote:
  12694. List all the files in your OneDrive
  12695. rclone ls remote:
  12696. To copy a local directory to an OneDrive directory called backup
  12697. rclone copy /home/source remote:backup
  12698. Getting your own Client ID and Key
  12699. You can use your own Client ID if the default (client_id left blank) one
  12700. doesn’t work for you or you see lots of throttling. The default Client
  12701. ID and Key is shared by all rclone users when performing requests.
  12702. If you are having problems with them (E.g., seeing a lot of throttling),
  12703. you can get your own Client ID and Key by following the steps below:
  12704. 1. Open
  12705. https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade,
  12706. then click New registration.
  12707. 2. Enter a name for your app, choose account type
  12708. Any Azure AD directory - Multitenant, select Web in Redirect URI
  12709. Enter http://localhost:53682/ and click Register. Copy and keep the
  12710. Application (client) ID under the app name for later use.
  12711. 3. Under manage select Certificates & secrets, click New client secret.
  12712. Copy and keep that secret for later use.
  12713. 4. Under manage select API permissions, click Add a permission and
  12714. select Microsoft Graph then select delegated permissions.
  12715. 5. Search and select the follwing permssions: Files.Read,
  12716. Files.ReadWrite, Files.Read.All, Files.ReadWrite.All,
  12717. offline_access, User.Read. Once selected click Add permissions at
  12718. the bottom.
  12719. Now the application is complete. Run rclone config to create or edit a
  12720. OneDrive remote. Supply the app ID and password as Client ID and Secret,
  12721. respectively. rclone will walk you through the remaining steps.
  12722. Modification time and hashes
  12723. OneDrive allows modification times to be set on objects accurate to 1
  12724. second. These will be used to detect whether objects need syncing or
  12725. not.
  12726. OneDrive personal supports SHA1 type hashes. OneDrive for business and
  12727. Sharepoint Server support QuickXorHash.
  12728. For all types of OneDrive you can use the --checksum flag.
  12729. Restricted filename characters
  12730. In addition to the default restricted characters set the following
  12731. characters are also replaced:
  12732. Character Value Replacement
  12733. ----------- ------- -------------
  12734. " 0x22 "
  12735. * 0x2A *
  12736. : 0x3A :
  12737. < 0x3C <
  12738. > 0x3E >
  12739. ? 0x3F ?
  12740. \ 0x5C \
  12741. | 0x7C |
  12742. # 0x23 #
  12743. % 0x25 %
  12744. File names can also not end with the following characters. These only
  12745. get replaced if they are last character in the name:
  12746. Character Value Replacement
  12747. ----------- ------- -------------
  12748. SP 0x20 ␠
  12749. . 0x2E .
  12750. File names can also not begin with the following characters. These only
  12751. get replaced if they are first character in the name:
  12752. Character Value Replacement
  12753. ----------- ------- -------------
  12754. SP 0x20 ␠
  12755. ~ 0x7E ~
  12756. Invalid UTF-8 bytes will also be replaced, as they can’t be used in JSON
  12757. strings.
  12758. Deleting files
  12759. Any files you delete with rclone will end up in the trash. Microsoft
  12760. doesn’t provide an API to permanently delete files, nor to empty the
  12761. trash, so you will have to do that with one of Microsoft’s apps or via
  12762. the OneDrive website.
  12763. Standard Options
  12764. Here are the standard options specific to onedrive (Microsoft OneDrive).
  12765. –onedrive-client-id
  12766. Microsoft App Client Id Leave blank normally.
  12767. - Config: client_id
  12768. - Env Var: RCLONE_ONEDRIVE_CLIENT_ID
  12769. - Type: string
  12770. - Default: ""
  12771. –onedrive-client-secret
  12772. Microsoft App Client Secret Leave blank normally.
  12773. - Config: client_secret
  12774. - Env Var: RCLONE_ONEDRIVE_CLIENT_SECRET
  12775. - Type: string
  12776. - Default: ""
  12777. Advanced Options
  12778. Here are the advanced options specific to onedrive (Microsoft OneDrive).
  12779. –onedrive-chunk-size
  12780. Chunk size to upload files with - must be multiple of 320k (327,680
  12781. bytes).
  12782. Above this size files will be chunked - must be multiple of 320k
  12783. (327,680 bytes). Note that the chunks will be buffered into memory.
  12784. - Config: chunk_size
  12785. - Env Var: RCLONE_ONEDRIVE_CHUNK_SIZE
  12786. - Type: SizeSuffix
  12787. - Default: 10M
  12788. –onedrive-drive-id
  12789. The ID of the drive to use
  12790. - Config: drive_id
  12791. - Env Var: RCLONE_ONEDRIVE_DRIVE_ID
  12792. - Type: string
  12793. - Default: ""
  12794. –onedrive-drive-type
  12795. The type of the drive ( personal | business | documentLibrary )
  12796. - Config: drive_type
  12797. - Env Var: RCLONE_ONEDRIVE_DRIVE_TYPE
  12798. - Type: string
  12799. - Default: ""
  12800. –onedrive-expose-onenote-files
  12801. Set to make OneNote files show up in directory listings.
  12802. By default rclone will hide OneNote files in directory listings because
  12803. operations like “Open” and “Update” won’t work on them. But this
  12804. behaviour may also prevent you from deleting them. If you want to delete
  12805. OneNote files or otherwise want them to show up in directory listing,
  12806. set this option.
  12807. - Config: expose_onenote_files
  12808. - Env Var: RCLONE_ONEDRIVE_EXPOSE_ONENOTE_FILES
  12809. - Type: bool
  12810. - Default: false
  12811. –onedrive-encoding
  12812. This sets the encoding for the backend.
  12813. See: the encoding section in the overview for more info.
  12814. - Config: encoding
  12815. - Env Var: RCLONE_ONEDRIVE_ENCODING
  12816. - Type: MultiEncoder
  12817. - Default:
  12818. Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Hash,Percent,BackSlash,Del,Ctl,LeftSpace,LeftTilde,RightSpace,RightPeriod,InvalidUtf8,Dot
  12819. Limitations
  12820. Naming
  12821. Note that OneDrive is case insensitive so you can’t have a file called
  12822. “Hello.doc” and one called “hello.doc”.
  12823. There are quite a few characters that can’t be in OneDrive file names.
  12824. These can’t occur on Windows platforms, but on non-Windows platforms
  12825. they are common. Rclone will map these names to and from an identical
  12826. looking unicode equivalent. For example if a file has a ? in it will be
  12827. mapped to ? instead.
  12828. File sizes
  12829. The largest allowed file sizes are 15GB for OneDrive for Business and
  12830. 35GB for OneDrive Personal (Updated 4 Jan 2019).
  12831. Path length
  12832. The entire path, including the file name, must contain fewer than 400
  12833. characters for OneDrive, OneDrive for Business and SharePoint Online. If
  12834. you are encrypting file and folder names with rclone, you may want to
  12835. pay attention to this limitation because the encrypted names are
  12836. typically longer than the original ones.
  12837. Number of files
  12838. OneDrive seems to be OK with at least 50,000 files in a folder, but at
  12839. 100,000 rclone will get errors listing the directory like
  12840. couldn’t list files: UnknownError:. See #2707 for more info.
  12841. An official document about the limitations for different types of
  12842. OneDrive can be found here.
  12843. Versioning issue
  12844. Every change in OneDrive causes the service to create a new version.
  12845. This counts against a users quota. For example changing the modification
  12846. time of a file creates a second version, so the file is using twice the
  12847. space.
  12848. The copy is the only rclone command affected by this as we copy the file
  12849. and then afterwards set the modification time to match the source file.
  12850. NOTE: Starting October 2018, users will no longer be able to disable
  12851. versioning by default. This is because Microsoft has brought an update
  12852. to the mechanism. To change this new default setting, a PowerShell
  12853. command is required to be run by a SharePoint admin. If you are an
  12854. admin, you can run these commands in PowerShell to change that setting:
  12855. 1. Install-Module -Name Microsoft.Online.SharePoint.PowerShell (in case
  12856. you haven’t installed this already)
  12857. 2. Import-Module Microsoft.Online.SharePoint.PowerShell -DisableNameChecking
  12858. 3. Connect-SPOService -Url https://YOURSITE-admin.sharepoint.com -Credential YOU@YOURSITE.COM
  12859. (replacing YOURSITE, YOU, YOURSITE.COM with the actual values; this
  12860. will prompt for your credentials)
  12861. 4. Set-SPOTenant -EnableMinimumVersionRequirement $False
  12862. 5. Disconnect-SPOService (to disconnect from the server)
  12863. _Below are the steps for normal users to disable versioning. If you
  12864. don’t see the “No Versioning” option, make sure the above requirements
  12865. are met._
  12866. User Weropol has found a method to disable versioning on OneDrive
  12867. 1. Open the settings menu by clicking on the gear symbol at the top of
  12868. the OneDrive Business page.
  12869. 2. Click Site settings.
  12870. 3. Once on the Site settings page, navigate to Site Administration >
  12871. Site libraries and lists.
  12872. 4. Click Customize “Documents”.
  12873. 5. Click General Settings > Versioning Settings.
  12874. 6. Under Document Version History select the option No versioning.
  12875. Note: This will disable the creation of new file versions, but will
  12876. not remove any previous versions. Your documents are safe.
  12877. 7. Apply the changes by clicking OK.
  12878. 8. Use rclone to upload or modify files. (I also use the
  12879. –no-update-modtime flag)
  12880. 9. Restore the versioning settings after using rclone. (Optional)
  12881. Troubleshooting
  12882. Unexpected file size/hash differences on Sharepoint
  12883. It is a known issue that Sharepoint (not OneDrive or OneDrive for
  12884. Business) silently modifies uploaded files, mainly Office files (.docx,
  12885. .xlsx, etc.), causing file size and hash checks to fail. To use rclone
  12886. with such affected files on Sharepoint, you may disable these checks
  12887. with the following command line arguments:
  12888. --ignore-checksum --ignore-size
  12889. Replacing/deleting existing files on Sharepoint gets “item not found”
  12890. It is a known issue that Sharepoint (not OneDrive or OneDrive for
  12891. Business) may return “item not found” errors when users try to replace
  12892. or delete uploaded files; this seems to mainly affect Office files
  12893. (.docx, .xlsx, etc.). As a workaround, you may use the
  12894. --backup-dir <BACKUP_DIR> command line argument so rclone moves the
  12895. files to be replaced/deleted into a given backup directory (instead of
  12896. directly replacing/deleting them). For example, to instruct rclone to
  12897. move the files into the directory rclone-backup-dir on backend
  12898. mysharepoint, you may use:
  12899. --backup-dir mysharepoint:rclone-backup-dir
  12900. access_denied (AADSTS65005)
  12901. Error: access_denied
  12902. Code: AADSTS65005
  12903. Description: Using application 'rclone' is currently not supported for your organization [YOUR_ORGANIZATION] because it is in an unmanaged state. An administrator needs to claim ownership of the company by DNS validation of [YOUR_ORGANIZATION] before the application rclone can be provisioned.
  12904. This means that rclone can’t use the OneDrive for Business API with your
  12905. account. You can’t do much about it, maybe write an email to your
  12906. admins.
  12907. However, there are other ways to interact with your OneDrive account.
  12908. Have a look at the webdav backend: https://rclone.org/webdav/#sharepoint
  12909. invalid_grant (AADSTS50076)
  12910. Error: invalid_grant
  12911. Code: AADSTS50076
  12912. Description: Due to a configuration change made by your administrator, or because you moved to a new location, you must use multi-factor authentication to access '...'.
  12913. If you see the error above after enabling multi-factor authentication
  12914. for your account, you can fix it by refreshing your OAuth refresh token.
  12915. To do that, run rclone config, and choose to edit your OneDrive backend.
  12916. Then, you don’t need to actually make any changes until you reach this
  12917. question: Already have a token - refresh?. For this question, answer y
  12918. and go through the process to refresh your token, just like the first
  12919. time the backend is configured. After this, rclone should work again for
  12920. this backend.
  12921. OpenDrive
  12922. Paths are specified as remote:path
  12923. Paths may be as deep as required, eg remote:directory/subdirectory.
  12924. Here is an example of how to make a remote called remote. First run:
  12925. rclone config
  12926. This will guide you through an interactive setup process:
  12927. n) New remote
  12928. d) Delete remote
  12929. q) Quit config
  12930. e/n/d/q> n
  12931. name> remote
  12932. Type of storage to configure.
  12933. Choose a number from below, or type in your own value
  12934. [snip]
  12935. XX / OpenDrive
  12936. \ "opendrive"
  12937. [snip]
  12938. Storage> opendrive
  12939. Username
  12940. username>
  12941. Password
  12942. y) Yes type in my own password
  12943. g) Generate random password
  12944. y/g> y
  12945. Enter the password:
  12946. password:
  12947. Confirm the password:
  12948. password:
  12949. --------------------
  12950. [remote]
  12951. username =
  12952. password = *** ENCRYPTED ***
  12953. --------------------
  12954. y) Yes this is OK
  12955. e) Edit this remote
  12956. d) Delete this remote
  12957. y/e/d> y
  12958. List directories in top level of your OpenDrive
  12959. rclone lsd remote:
  12960. List all the files in your OpenDrive
  12961. rclone ls remote:
  12962. To copy a local directory to an OpenDrive directory called backup
  12963. rclone copy /home/source remote:backup
  12964. Modified time and MD5SUMs
  12965. OpenDrive allows modification times to be set on objects accurate to 1
  12966. second. These will be used to detect whether objects need syncing or
  12967. not.
  12968. Restricted filename characters
  12969. Character Value Replacement
  12970. ----------- ------- -------------
  12971. NUL 0x00 ␀
  12972. / 0x2F /
  12973. " 0x22 "
  12974. * 0x2A *
  12975. : 0x3A :
  12976. < 0x3C <
  12977. > 0x3E >
  12978. ? 0x3F ?
  12979. \ 0x5C \
  12980. | 0x7C |
  12981. File names can also not begin or end with the following characters.
  12982. These only get replaced if they are the first or last character in the
  12983. name:
  12984. Character Value Replacement
  12985. ----------- ------- -------------
  12986. SP 0x20 ␠
  12987. HT 0x09 ␉
  12988. LF 0x0A ␊
  12989. VT 0x0B ␋
  12990. CR 0x0D ␍
  12991. Invalid UTF-8 bytes will also be replaced, as they can’t be used in JSON
  12992. strings.
  12993. Standard Options
  12994. Here are the standard options specific to opendrive (OpenDrive).
  12995. –opendrive-username
  12996. Username
  12997. - Config: username
  12998. - Env Var: RCLONE_OPENDRIVE_USERNAME
  12999. - Type: string
  13000. - Default: ""
  13001. –opendrive-password
  13002. Password.
  13003. - Config: password
  13004. - Env Var: RCLONE_OPENDRIVE_PASSWORD
  13005. - Type: string
  13006. - Default: ""
  13007. Advanced Options
  13008. Here are the advanced options specific to opendrive (OpenDrive).
  13009. –opendrive-encoding
  13010. This sets the encoding for the backend.
  13011. See: the encoding section in the overview for more info.
  13012. - Config: encoding
  13013. - Env Var: RCLONE_OPENDRIVE_ENCODING
  13014. - Type: MultiEncoder
  13015. - Default:
  13016. Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,LeftSpace,LeftCrLfHtVt,RightSpace,RightCrLfHtVt,InvalidUtf8,Dot
  13017. –opendrive-chunk-size
  13018. Files will be uploaded in chunks this size.
  13019. Note that these chunks are buffered in memory so increasing them will
  13020. increase memory use.
  13021. - Config: chunk_size
  13022. - Env Var: RCLONE_OPENDRIVE_CHUNK_SIZE
  13023. - Type: SizeSuffix
  13024. - Default: 10M
  13025. Limitations
  13026. Note that OpenDrive is case insensitive so you can’t have a file called
  13027. “Hello.doc” and one called “hello.doc”.
  13028. There are quite a few characters that can’t be in OpenDrive file names.
  13029. These can’t occur on Windows platforms, but on non-Windows platforms
  13030. they are common. Rclone will map these names to and from an identical
  13031. looking unicode equivalent. For example if a file has a ? in it will be
  13032. mapped to ? instead.
  13033. QingStor
  13034. Paths are specified as remote:bucket (or remote: for the lsd command.)
  13035. You may put subdirectories in too, eg remote:bucket/path/to/dir.
  13036. Here is an example of making an QingStor configuration. First run
  13037. rclone config
  13038. This will guide you through an interactive setup process.
  13039. No remotes found - make a new one
  13040. n) New remote
  13041. r) Rename remote
  13042. c) Copy remote
  13043. s) Set configuration password
  13044. q) Quit config
  13045. n/r/c/s/q> n
  13046. name> remote
  13047. Type of storage to configure.
  13048. Choose a number from below, or type in your own value
  13049. [snip]
  13050. XX / QingStor Object Storage
  13051. \ "qingstor"
  13052. [snip]
  13053. Storage> qingstor
  13054. Get QingStor credentials from runtime. Only applies if access_key_id and secret_access_key is blank.
  13055. Choose a number from below, or type in your own value
  13056. 1 / Enter QingStor credentials in the next step
  13057. \ "false"
  13058. 2 / Get QingStor credentials from the environment (env vars or IAM)
  13059. \ "true"
  13060. env_auth> 1
  13061. QingStor Access Key ID - leave blank for anonymous access or runtime credentials.
  13062. access_key_id> access_key
  13063. QingStor Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
  13064. secret_access_key> secret_key
  13065. Enter a endpoint URL to connection QingStor API.
  13066. Leave blank will use the default value "https://qingstor.com:443"
  13067. endpoint>
  13068. Zone connect to. Default is "pek3a".
  13069. Choose a number from below, or type in your own value
  13070. / The Beijing (China) Three Zone
  13071. 1 | Needs location constraint pek3a.
  13072. \ "pek3a"
  13073. / The Shanghai (China) First Zone
  13074. 2 | Needs location constraint sh1a.
  13075. \ "sh1a"
  13076. zone> 1
  13077. Number of connnection retry.
  13078. Leave blank will use the default value "3".
  13079. connection_retries>
  13080. Remote config
  13081. --------------------
  13082. [remote]
  13083. env_auth = false
  13084. access_key_id = access_key
  13085. secret_access_key = secret_key
  13086. endpoint =
  13087. zone = pek3a
  13088. connection_retries =
  13089. --------------------
  13090. y) Yes this is OK
  13091. e) Edit this remote
  13092. d) Delete this remote
  13093. y/e/d> y
  13094. This remote is called remote and can now be used like this
  13095. See all buckets
  13096. rclone lsd remote:
  13097. Make a new bucket
  13098. rclone mkdir remote:bucket
  13099. List the contents of a bucket
  13100. rclone ls remote:bucket
  13101. Sync /home/local/directory to the remote bucket, deleting any excess
  13102. files in the bucket.
  13103. rclone sync /home/local/directory remote:bucket
  13104. –fast-list
  13105. This remote supports --fast-list which allows you to use fewer
  13106. transactions in exchange for more memory. See the rclone docs for more
  13107. details.
  13108. Multipart uploads
  13109. rclone supports multipart uploads with QingStor which means that it can
  13110. upload files bigger than 5GB. Note that files uploaded with multipart
  13111. upload don’t have an MD5SUM.
  13112. Buckets and Zone
  13113. With QingStor you can list buckets (rclone lsd) using any zone, but you
  13114. can only access the content of a bucket from the zone it was created in.
  13115. If you attempt to access a bucket from the wrong zone, you will get an
  13116. error, incorrect zone, the bucket is not in 'XXX' zone.
  13117. Authentication
  13118. There are two ways to supply rclone with a set of QingStor credentials.
  13119. In order of precedence:
  13120. - Directly in the rclone configuration file (as configured by
  13121. rclone config)
  13122. - set access_key_id and secret_access_key
  13123. - Runtime configuration:
  13124. - set env_auth to true in the config file
  13125. - Exporting the following environment variables before running
  13126. rclone
  13127. - Access Key ID: QS_ACCESS_KEY_ID or QS_ACCESS_KEY
  13128. - Secret Access Key: QS_SECRET_ACCESS_KEY or QS_SECRET_KEY
  13129. Restricted filename characters
  13130. The control characters 0x00-0x1F and / are replaced as in the default
  13131. restricted characters set. Note that 0x7F is not replaced.
  13132. Invalid UTF-8 bytes will also be replaced, as they can’t be used in JSON
  13133. strings.
  13134. Standard Options
  13135. Here are the standard options specific to qingstor (QingCloud Object
  13136. Storage).
  13137. –qingstor-env-auth
  13138. Get QingStor credentials from runtime. Only applies if access_key_id and
  13139. secret_access_key is blank.
  13140. - Config: env_auth
  13141. - Env Var: RCLONE_QINGSTOR_ENV_AUTH
  13142. - Type: bool
  13143. - Default: false
  13144. - Examples:
  13145. - “false”
  13146. - Enter QingStor credentials in the next step
  13147. - “true”
  13148. - Get QingStor credentials from the environment (env vars or
  13149. IAM)
  13150. –qingstor-access-key-id
  13151. QingStor Access Key ID Leave blank for anonymous access or runtime
  13152. credentials.
  13153. - Config: access_key_id
  13154. - Env Var: RCLONE_QINGSTOR_ACCESS_KEY_ID
  13155. - Type: string
  13156. - Default: ""
  13157. –qingstor-secret-access-key
  13158. QingStor Secret Access Key (password) Leave blank for anonymous access
  13159. or runtime credentials.
  13160. - Config: secret_access_key
  13161. - Env Var: RCLONE_QINGSTOR_SECRET_ACCESS_KEY
  13162. - Type: string
  13163. - Default: ""
  13164. –qingstor-endpoint
  13165. Enter a endpoint URL to connection QingStor API. Leave blank will use
  13166. the default value “https://qingstor.com:443”
  13167. - Config: endpoint
  13168. - Env Var: RCLONE_QINGSTOR_ENDPOINT
  13169. - Type: string
  13170. - Default: ""
  13171. –qingstor-zone
  13172. Zone to connect to. Default is “pek3a”.
  13173. - Config: zone
  13174. - Env Var: RCLONE_QINGSTOR_ZONE
  13175. - Type: string
  13176. - Default: ""
  13177. - Examples:
  13178. - “pek3a”
  13179. - The Beijing (China) Three Zone
  13180. - Needs location constraint pek3a.
  13181. - “sh1a”
  13182. - The Shanghai (China) First Zone
  13183. - Needs location constraint sh1a.
  13184. - “gd2a”
  13185. - The Guangdong (China) Second Zone
  13186. - Needs location constraint gd2a.
  13187. Advanced Options
  13188. Here are the advanced options specific to qingstor (QingCloud Object
  13189. Storage).
  13190. –qingstor-connection-retries
  13191. Number of connection retries.
  13192. - Config: connection_retries
  13193. - Env Var: RCLONE_QINGSTOR_CONNECTION_RETRIES
  13194. - Type: int
  13195. - Default: 3
  13196. –qingstor-upload-cutoff
  13197. Cutoff for switching to chunked upload
  13198. Any files larger than this will be uploaded in chunks of chunk_size. The
  13199. minimum is 0 and the maximum is 5GB.
  13200. - Config: upload_cutoff
  13201. - Env Var: RCLONE_QINGSTOR_UPLOAD_CUTOFF
  13202. - Type: SizeSuffix
  13203. - Default: 200M
  13204. –qingstor-chunk-size
  13205. Chunk size to use for uploading.
  13206. When uploading files larger than upload_cutoff they will be uploaded as
  13207. multipart uploads using this chunk size.
  13208. Note that “–qingstor-upload-concurrency” chunks of this size are
  13209. buffered in memory per transfer.
  13210. If you are transferring large files over high speed links and you have
  13211. enough memory, then increasing this will speed up the transfers.
  13212. - Config: chunk_size
  13213. - Env Var: RCLONE_QINGSTOR_CHUNK_SIZE
  13214. - Type: SizeSuffix
  13215. - Default: 4M
  13216. –qingstor-upload-concurrency
  13217. Concurrency for multipart uploads.
  13218. This is the number of chunks of the same file that are uploaded
  13219. concurrently.
  13220. NB if you set this to > 1 then the checksums of multpart uploads become
  13221. corrupted (the uploads themselves are not corrupted though).
  13222. If you are uploading small numbers of large file over high speed link
  13223. and these uploads do not fully utilize your bandwidth, then increasing
  13224. this may help to speed up the transfers.
  13225. - Config: upload_concurrency
  13226. - Env Var: RCLONE_QINGSTOR_UPLOAD_CONCURRENCY
  13227. - Type: int
  13228. - Default: 1
  13229. –qingstor-encoding
  13230. This sets the encoding for the backend.
  13231. See: the encoding section in the overview for more info.
  13232. - Config: encoding
  13233. - Env Var: RCLONE_QINGSTOR_ENCODING
  13234. - Type: MultiEncoder
  13235. - Default: Slash,Ctl,InvalidUtf8
  13236. Swift
  13237. Swift refers to Openstack Object Storage. Commercial implementations of
  13238. that being:
  13239. - Rackspace Cloud Files
  13240. - Memset Memstore
  13241. - OVH Object Storage
  13242. - Oracle Cloud Storage
  13243. - IBM Bluemix Cloud ObjectStorage Swift
  13244. Paths are specified as remote:container (or remote: for the lsd
  13245. command.) You may put subdirectories in too, eg
  13246. remote:container/path/to/dir.
  13247. Here is an example of making a swift configuration. First run
  13248. rclone config
  13249. This will guide you through an interactive setup process.
  13250. No remotes found - make a new one
  13251. n) New remote
  13252. s) Set configuration password
  13253. q) Quit config
  13254. n/s/q> n
  13255. name> remote
  13256. Type of storage to configure.
  13257. Choose a number from below, or type in your own value
  13258. [snip]
  13259. XX / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
  13260. \ "swift"
  13261. [snip]
  13262. Storage> swift
  13263. Get swift credentials from environment variables in standard OpenStack form.
  13264. Choose a number from below, or type in your own value
  13265. 1 / Enter swift credentials in the next step
  13266. \ "false"
  13267. 2 / Get swift credentials from environment vars. Leave other fields blank if using this.
  13268. \ "true"
  13269. env_auth> true
  13270. User name to log in (OS_USERNAME).
  13271. user>
  13272. API key or password (OS_PASSWORD).
  13273. key>
  13274. Authentication URL for server (OS_AUTH_URL).
  13275. Choose a number from below, or type in your own value
  13276. 1 / Rackspace US
  13277. \ "https://auth.api.rackspacecloud.com/v1.0"
  13278. 2 / Rackspace UK
  13279. \ "https://lon.auth.api.rackspacecloud.com/v1.0"
  13280. 3 / Rackspace v2
  13281. \ "https://identity.api.rackspacecloud.com/v2.0"
  13282. 4 / Memset Memstore UK
  13283. \ "https://auth.storage.memset.com/v1.0"
  13284. 5 / Memset Memstore UK v2
  13285. \ "https://auth.storage.memset.com/v2.0"
  13286. 6 / OVH
  13287. \ "https://auth.cloud.ovh.net/v3"
  13288. auth>
  13289. User ID to log in - optional - most swift systems use user and leave this blank (v3 auth) (OS_USER_ID).
  13290. user_id>
  13291. User domain - optional (v3 auth) (OS_USER_DOMAIN_NAME)
  13292. domain>
  13293. Tenant name - optional for v1 auth, this or tenant_id required otherwise (OS_TENANT_NAME or OS_PROJECT_NAME)
  13294. tenant>
  13295. Tenant ID - optional for v1 auth, this or tenant required otherwise (OS_TENANT_ID)
  13296. tenant_id>
  13297. Tenant domain - optional (v3 auth) (OS_PROJECT_DOMAIN_NAME)
  13298. tenant_domain>
  13299. Region name - optional (OS_REGION_NAME)
  13300. region>
  13301. Storage URL - optional (OS_STORAGE_URL)
  13302. storage_url>
  13303. Auth Token from alternate authentication - optional (OS_AUTH_TOKEN)
  13304. auth_token>
  13305. AuthVersion - optional - set to (1,2,3) if your auth URL has no version (ST_AUTH_VERSION)
  13306. auth_version>
  13307. Endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE)
  13308. Choose a number from below, or type in your own value
  13309. 1 / Public (default, choose this if not sure)
  13310. \ "public"
  13311. 2 / Internal (use internal service net)
  13312. \ "internal"
  13313. 3 / Admin
  13314. \ "admin"
  13315. endpoint_type>
  13316. Remote config
  13317. --------------------
  13318. [test]
  13319. env_auth = true
  13320. user =
  13321. key =
  13322. auth =
  13323. user_id =
  13324. domain =
  13325. tenant =
  13326. tenant_id =
  13327. tenant_domain =
  13328. region =
  13329. storage_url =
  13330. auth_token =
  13331. auth_version =
  13332. endpoint_type =
  13333. --------------------
  13334. y) Yes this is OK
  13335. e) Edit this remote
  13336. d) Delete this remote
  13337. y/e/d> y
  13338. This remote is called remote and can now be used like this
  13339. See all containers
  13340. rclone lsd remote:
  13341. Make a new container
  13342. rclone mkdir remote:container
  13343. List the contents of a container
  13344. rclone ls remote:container
  13345. Sync /home/local/directory to the remote container, deleting any excess
  13346. files in the container.
  13347. rclone sync /home/local/directory remote:container
  13348. Configuration from an OpenStack credentials file
  13349. An OpenStack credentials file typically looks something something like
  13350. this (without the comments)
  13351. export OS_AUTH_URL=https://a.provider.net/v2.0
  13352. export OS_TENANT_ID=ffffffffffffffffffffffffffffffff
  13353. export OS_TENANT_NAME="1234567890123456"
  13354. export OS_USERNAME="123abc567xy"
  13355. echo "Please enter your OpenStack Password: "
  13356. read -sr OS_PASSWORD_INPUT
  13357. export OS_PASSWORD=$OS_PASSWORD_INPUT
  13358. export OS_REGION_NAME="SBG1"
  13359. if [ -z "$OS_REGION_NAME" ]; then unset OS_REGION_NAME; fi
  13360. The config file needs to look something like this where $OS_USERNAME
  13361. represents the value of the OS_USERNAME variable - 123abc567xy in the
  13362. example above.
  13363. [remote]
  13364. type = swift
  13365. user = $OS_USERNAME
  13366. key = $OS_PASSWORD
  13367. auth = $OS_AUTH_URL
  13368. tenant = $OS_TENANT_NAME
  13369. Note that you may (or may not) need to set region too - try without
  13370. first.
  13371. Configuration from the environment
  13372. If you prefer you can configure rclone to use swift using a standard set
  13373. of OpenStack environment variables.
  13374. When you run through the config, make sure you choose true for env_auth
  13375. and leave everything else blank.
  13376. rclone will then set any empty config parameters from the environment
  13377. using standard OpenStack environment variables. There is a list of the
  13378. variables in the docs for the swift library.
  13379. Using an alternate authentication method
  13380. If your OpenStack installation uses a non-standard authentication method
  13381. that might not be yet supported by rclone or the underlying swift
  13382. library, you can authenticate externally (e.g. calling manually the
  13383. openstack commands to get a token). Then, you just need to pass the two
  13384. configuration variables auth_token and storage_url. If they are both
  13385. provided, the other variables are ignored. rclone will not try to
  13386. authenticate but instead assume it is already authenticated and use
  13387. these two variables to access the OpenStack installation.
  13388. Using rclone without a config file
  13389. You can use rclone with swift without a config file, if desired, like
  13390. this:
  13391. source openstack-credentials-file
  13392. export RCLONE_CONFIG_MYREMOTE_TYPE=swift
  13393. export RCLONE_CONFIG_MYREMOTE_ENV_AUTH=true
  13394. rclone lsd myremote:
  13395. –fast-list
  13396. This remote supports --fast-list which allows you to use fewer
  13397. transactions in exchange for more memory. See the rclone docs for more
  13398. details.
  13399. –update and –use-server-modtime
  13400. As noted below, the modified time is stored on metadata on the object.
  13401. It is used by default for all operations that require checking the time
  13402. a file was last updated. It allows rclone to treat the remote more like
  13403. a true filesystem, but it is inefficient because it requires an extra
  13404. API call to retrieve the metadata.
  13405. For many operations, the time the object was last uploaded to the remote
  13406. is sufficient to determine if it is “dirty”. By using --update along
  13407. with --use-server-modtime, you can avoid the extra API call and simply
  13408. upload files whose local modtime is newer than the time it was last
  13409. uploaded.
  13410. Standard Options
  13411. Here are the standard options specific to swift (Openstack Swift
  13412. (Rackspace Cloud Files, Memset Memstore, OVH)).
  13413. –swift-env-auth
  13414. Get swift credentials from environment variables in standard OpenStack
  13415. form.
  13416. - Config: env_auth
  13417. - Env Var: RCLONE_SWIFT_ENV_AUTH
  13418. - Type: bool
  13419. - Default: false
  13420. - Examples:
  13421. - “false”
  13422. - Enter swift credentials in the next step
  13423. - “true”
  13424. - Get swift credentials from environment vars. Leave other
  13425. fields blank if using this.
  13426. –swift-user
  13427. User name to log in (OS_USERNAME).
  13428. - Config: user
  13429. - Env Var: RCLONE_SWIFT_USER
  13430. - Type: string
  13431. - Default: ""
  13432. –swift-key
  13433. API key or password (OS_PASSWORD).
  13434. - Config: key
  13435. - Env Var: RCLONE_SWIFT_KEY
  13436. - Type: string
  13437. - Default: ""
  13438. –swift-auth
  13439. Authentication URL for server (OS_AUTH_URL).
  13440. - Config: auth
  13441. - Env Var: RCLONE_SWIFT_AUTH
  13442. - Type: string
  13443. - Default: ""
  13444. - Examples:
  13445. - “https://auth.api.rackspacecloud.com/v1.0”
  13446. - Rackspace US
  13447. - “https://lon.auth.api.rackspacecloud.com/v1.0”
  13448. - Rackspace UK
  13449. - “https://identity.api.rackspacecloud.com/v2.0”
  13450. - Rackspace v2
  13451. - “https://auth.storage.memset.com/v1.0”
  13452. - Memset Memstore UK
  13453. - “https://auth.storage.memset.com/v2.0”
  13454. - Memset Memstore UK v2
  13455. - “https://auth.cloud.ovh.net/v3”
  13456. - OVH
  13457. –swift-user-id
  13458. User ID to log in - optional - most swift systems use user and leave
  13459. this blank (v3 auth) (OS_USER_ID).
  13460. - Config: user_id
  13461. - Env Var: RCLONE_SWIFT_USER_ID
  13462. - Type: string
  13463. - Default: ""
  13464. –swift-domain
  13465. User domain - optional (v3 auth) (OS_USER_DOMAIN_NAME)
  13466. - Config: domain
  13467. - Env Var: RCLONE_SWIFT_DOMAIN
  13468. - Type: string
  13469. - Default: ""
  13470. –swift-tenant
  13471. Tenant name - optional for v1 auth, this or tenant_id required otherwise
  13472. (OS_TENANT_NAME or OS_PROJECT_NAME)
  13473. - Config: tenant
  13474. - Env Var: RCLONE_SWIFT_TENANT
  13475. - Type: string
  13476. - Default: ""
  13477. –swift-tenant-id
  13478. Tenant ID - optional for v1 auth, this or tenant required otherwise
  13479. (OS_TENANT_ID)
  13480. - Config: tenant_id
  13481. - Env Var: RCLONE_SWIFT_TENANT_ID
  13482. - Type: string
  13483. - Default: ""
  13484. –swift-tenant-domain
  13485. Tenant domain - optional (v3 auth) (OS_PROJECT_DOMAIN_NAME)
  13486. - Config: tenant_domain
  13487. - Env Var: RCLONE_SWIFT_TENANT_DOMAIN
  13488. - Type: string
  13489. - Default: ""
  13490. –swift-region
  13491. Region name - optional (OS_REGION_NAME)
  13492. - Config: region
  13493. - Env Var: RCLONE_SWIFT_REGION
  13494. - Type: string
  13495. - Default: ""
  13496. –swift-storage-url
  13497. Storage URL - optional (OS_STORAGE_URL)
  13498. - Config: storage_url
  13499. - Env Var: RCLONE_SWIFT_STORAGE_URL
  13500. - Type: string
  13501. - Default: ""
  13502. –swift-auth-token
  13503. Auth Token from alternate authentication - optional (OS_AUTH_TOKEN)
  13504. - Config: auth_token
  13505. - Env Var: RCLONE_SWIFT_AUTH_TOKEN
  13506. - Type: string
  13507. - Default: ""
  13508. –swift-application-credential-id
  13509. Application Credential ID (OS_APPLICATION_CREDENTIAL_ID)
  13510. - Config: application_credential_id
  13511. - Env Var: RCLONE_SWIFT_APPLICATION_CREDENTIAL_ID
  13512. - Type: string
  13513. - Default: ""
  13514. –swift-application-credential-name
  13515. Application Credential Name (OS_APPLICATION_CREDENTIAL_NAME)
  13516. - Config: application_credential_name
  13517. - Env Var: RCLONE_SWIFT_APPLICATION_CREDENTIAL_NAME
  13518. - Type: string
  13519. - Default: ""
  13520. –swift-application-credential-secret
  13521. Application Credential Secret (OS_APPLICATION_CREDENTIAL_SECRET)
  13522. - Config: application_credential_secret
  13523. - Env Var: RCLONE_SWIFT_APPLICATION_CREDENTIAL_SECRET
  13524. - Type: string
  13525. - Default: ""
  13526. –swift-auth-version
  13527. AuthVersion - optional - set to (1,2,3) if your auth URL has no version
  13528. (ST_AUTH_VERSION)
  13529. - Config: auth_version
  13530. - Env Var: RCLONE_SWIFT_AUTH_VERSION
  13531. - Type: int
  13532. - Default: 0
  13533. –swift-endpoint-type
  13534. Endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE)
  13535. - Config: endpoint_type
  13536. - Env Var: RCLONE_SWIFT_ENDPOINT_TYPE
  13537. - Type: string
  13538. - Default: “public”
  13539. - Examples:
  13540. - “public”
  13541. - Public (default, choose this if not sure)
  13542. - “internal”
  13543. - Internal (use internal service net)
  13544. - “admin”
  13545. - Admin
  13546. –swift-storage-policy
  13547. The storage policy to use when creating a new container
  13548. This applies the specified storage policy when creating a new container.
  13549. The policy cannot be changed afterwards. The allowed configuration
  13550. values and their meaning depend on your Swift storage provider.
  13551. - Config: storage_policy
  13552. - Env Var: RCLONE_SWIFT_STORAGE_POLICY
  13553. - Type: string
  13554. - Default: ""
  13555. - Examples:
  13556. - ""
  13557. - Default
  13558. - “pcs”
  13559. - OVH Public Cloud Storage
  13560. - “pca”
  13561. - OVH Public Cloud Archive
  13562. Advanced Options
  13563. Here are the advanced options specific to swift (Openstack Swift
  13564. (Rackspace Cloud Files, Memset Memstore, OVH)).
  13565. –swift-chunk-size
  13566. Above this size files will be chunked into a _segments container.
  13567. Above this size files will be chunked into a _segments container. The
  13568. default for this is 5GB which is its maximum value.
  13569. - Config: chunk_size
  13570. - Env Var: RCLONE_SWIFT_CHUNK_SIZE
  13571. - Type: SizeSuffix
  13572. - Default: 5G
  13573. –swift-no-chunk
  13574. Don’t chunk files during streaming upload.
  13575. When doing streaming uploads (eg using rcat or mount) setting this flag
  13576. will cause the swift backend to not upload chunked files.
  13577. This will limit the maximum upload size to 5GB. However non chunked
  13578. files are easier to deal with and have an MD5SUM.
  13579. Rclone will still chunk files bigger than chunk_size when doing normal
  13580. copy operations.
  13581. - Config: no_chunk
  13582. - Env Var: RCLONE_SWIFT_NO_CHUNK
  13583. - Type: bool
  13584. - Default: false
  13585. –swift-encoding
  13586. This sets the encoding for the backend.
  13587. See: the encoding section in the overview for more info.
  13588. - Config: encoding
  13589. - Env Var: RCLONE_SWIFT_ENCODING
  13590. - Type: MultiEncoder
  13591. - Default: Slash,InvalidUtf8
  13592. Modified time
  13593. The modified time is stored as metadata on the object as
  13594. X-Object-Meta-Mtime as floating point since the epoch accurate to 1 ns.
  13595. This is a defacto standard (used in the official python-swiftclient
  13596. amongst others) for storing the modification time for an object.
  13597. Restricted filename characters
  13598. Character Value Replacement
  13599. ----------- ------- -------------
  13600. NUL 0x00 ␀
  13601. / 0x2F /
  13602. Invalid UTF-8 bytes will also be replaced, as they can’t be used in JSON
  13603. strings.
  13604. Limitations
  13605. The Swift API doesn’t return a correct MD5SUM for segmented files
  13606. (Dynamic or Static Large Objects) so rclone won’t check or use the
  13607. MD5SUM for these.
  13608. Troubleshooting
  13609. Rclone gives Failed to create file system for “remote:”: Bad Request
  13610. Due to an oddity of the underlying swift library, it gives a “Bad
  13611. Request” error rather than a more sensible error when the authentication
  13612. fails for Swift.
  13613. So this most likely means your username / password is wrong. You can
  13614. investigate further with the --dump-bodies flag.
  13615. This may also be caused by specifying the region when you shouldn’t have
  13616. (eg OVH).
  13617. Rclone gives Failed to create file system: Response didn’t have storage storage url and auth token
  13618. This is most likely caused by forgetting to specify your tenant when
  13619. setting up a swift remote.
  13620. pCloud
  13621. Paths are specified as remote:path
  13622. Paths may be as deep as required, eg remote:directory/subdirectory.
  13623. The initial setup for pCloud involves getting a token from pCloud which
  13624. you need to do in your browser. rclone config walks you through it.
  13625. Here is an example of how to make a remote called remote. First run:
  13626. rclone config
  13627. This will guide you through an interactive setup process:
  13628. No remotes found - make a new one
  13629. n) New remote
  13630. s) Set configuration password
  13631. q) Quit config
  13632. n/s/q> n
  13633. name> remote
  13634. Type of storage to configure.
  13635. Choose a number from below, or type in your own value
  13636. [snip]
  13637. XX / Pcloud
  13638. \ "pcloud"
  13639. [snip]
  13640. Storage> pcloud
  13641. Pcloud App Client Id - leave blank normally.
  13642. client_id>
  13643. Pcloud App Client Secret - leave blank normally.
  13644. client_secret>
  13645. Remote config
  13646. Use auto config?
  13647. * Say Y if not sure
  13648. * Say N if you are working on a remote or headless machine
  13649. y) Yes
  13650. n) No
  13651. y/n> y
  13652. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  13653. Log in and authorize rclone for access
  13654. Waiting for code...
  13655. Got code
  13656. --------------------
  13657. [remote]
  13658. client_id =
  13659. client_secret =
  13660. token = {"access_token":"XXX","token_type":"bearer","expiry":"0001-01-01T00:00:00Z"}
  13661. --------------------
  13662. y) Yes this is OK
  13663. e) Edit this remote
  13664. d) Delete this remote
  13665. y/e/d> y
  13666. See the remote setup docs for how to set it up on a machine with no
  13667. Internet browser available.
  13668. Note that rclone runs a webserver on your local machine to collect the
  13669. token as returned from pCloud. This only runs from the moment it opens
  13670. your browser to the moment you get back the verification code. This is
  13671. on http://127.0.0.1:53682/ and this it may require you to unblock it
  13672. temporarily if you are running a host firewall.
  13673. Once configured you can then use rclone like this,
  13674. List directories in top level of your pCloud
  13675. rclone lsd remote:
  13676. List all the files in your pCloud
  13677. rclone ls remote:
  13678. To copy a local directory to an pCloud directory called backup
  13679. rclone copy /home/source remote:backup
  13680. Modified time and hashes
  13681. pCloud allows modification times to be set on objects accurate to 1
  13682. second. These will be used to detect whether objects need syncing or
  13683. not. In order to set a Modification time pCloud requires the object be
  13684. re-uploaded.
  13685. pCloud supports MD5 and SHA1 type hashes, so you can use the --checksum
  13686. flag.
  13687. Restricted filename characters
  13688. In addition to the default restricted characters set the following
  13689. characters are also replaced:
  13690. Character Value Replacement
  13691. ----------- ------- -------------
  13692. \ 0x5C \
  13693. Invalid UTF-8 bytes will also be replaced, as they can’t be used in JSON
  13694. strings.
  13695. Deleting files
  13696. Deleted files will be moved to the trash. Your subscription level will
  13697. determine how long items stay in the trash. rclone cleanup can be used
  13698. to empty the trash.
  13699. Standard Options
  13700. Here are the standard options specific to pcloud (Pcloud).
  13701. –pcloud-client-id
  13702. Pcloud App Client Id Leave blank normally.
  13703. - Config: client_id
  13704. - Env Var: RCLONE_PCLOUD_CLIENT_ID
  13705. - Type: string
  13706. - Default: ""
  13707. –pcloud-client-secret
  13708. Pcloud App Client Secret Leave blank normally.
  13709. - Config: client_secret
  13710. - Env Var: RCLONE_PCLOUD_CLIENT_SECRET
  13711. - Type: string
  13712. - Default: ""
  13713. Advanced Options
  13714. Here are the advanced options specific to pcloud (Pcloud).
  13715. –pcloud-encoding
  13716. This sets the encoding for the backend.
  13717. See: the encoding section in the overview for more info.
  13718. - Config: encoding
  13719. - Env Var: RCLONE_PCLOUD_ENCODING
  13720. - Type: MultiEncoder
  13721. - Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
  13722. premiumize.me
  13723. Paths are specified as remote:path
  13724. Paths may be as deep as required, eg remote:directory/subdirectory.
  13725. The initial setup for premiumize.me involves getting a token from
  13726. premiumize.me which you need to do in your browser. rclone config walks
  13727. you through it.
  13728. Here is an example of how to make a remote called remote. First run:
  13729. rclone config
  13730. This will guide you through an interactive setup process:
  13731. No remotes found - make a new one
  13732. n) New remote
  13733. s) Set configuration password
  13734. q) Quit config
  13735. n/s/q> n
  13736. name> remote
  13737. Type of storage to configure.
  13738. Enter a string value. Press Enter for the default ("").
  13739. Choose a number from below, or type in your own value
  13740. [snip]
  13741. XX / premiumize.me
  13742. \ "premiumizeme"
  13743. [snip]
  13744. Storage> premiumizeme
  13745. ** See help for premiumizeme backend at: https://rclone.org/premiumizeme/ **
  13746. Remote config
  13747. Use auto config?
  13748. * Say Y if not sure
  13749. * Say N if you are working on a remote or headless machine
  13750. y) Yes
  13751. n) No
  13752. y/n> y
  13753. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  13754. Log in and authorize rclone for access
  13755. Waiting for code...
  13756. Got code
  13757. --------------------
  13758. [remote]
  13759. type = premiumizeme
  13760. token = {"access_token":"XXX","token_type":"Bearer","refresh_token":"XXX","expiry":"2029-08-07T18:44:15.548915378+01:00"}
  13761. --------------------
  13762. y) Yes this is OK
  13763. e) Edit this remote
  13764. d) Delete this remote
  13765. y/e/d>
  13766. See the remote setup docs for how to set it up on a machine with no
  13767. Internet browser available.
  13768. Note that rclone runs a webserver on your local machine to collect the
  13769. token as returned from premiumize.me. This only runs from the moment it
  13770. opens your browser to the moment you get back the verification code.
  13771. This is on http://127.0.0.1:53682/ and this it may require you to
  13772. unblock it temporarily if you are running a host firewall.
  13773. Once configured you can then use rclone like this,
  13774. List directories in top level of your premiumize.me
  13775. rclone lsd remote:
  13776. List all the files in your premiumize.me
  13777. rclone ls remote:
  13778. To copy a local directory to an premiumize.me directory called backup
  13779. rclone copy /home/source remote:backup
  13780. Modified time and hashes
  13781. premiumize.me does not support modification times or hashes, therefore
  13782. syncing will default to --size-only checking. Note that using --update
  13783. will work.
  13784. Restricted filename characters
  13785. In addition to the default restricted characters set the following
  13786. characters are also replaced:
  13787. Character Value Replacement
  13788. ----------- ------- -------------
  13789. \ 0x5C \
  13790. " 0x22 "
  13791. Invalid UTF-8 bytes will also be replaced, as they can’t be used in JSON
  13792. strings.
  13793. Standard Options
  13794. Here are the standard options specific to premiumizeme (premiumize.me).
  13795. –premiumizeme-api-key
  13796. API Key.
  13797. This is not normally used - use oauth instead.
  13798. - Config: api_key
  13799. - Env Var: RCLONE_PREMIUMIZEME_API_KEY
  13800. - Type: string
  13801. - Default: ""
  13802. Advanced Options
  13803. Here are the advanced options specific to premiumizeme (premiumize.me).
  13804. –premiumizeme-encoding
  13805. This sets the encoding for the backend.
  13806. See: the encoding section in the overview for more info.
  13807. - Config: encoding
  13808. - Env Var: RCLONE_PREMIUMIZEME_ENCODING
  13809. - Type: MultiEncoder
  13810. - Default: Slash,DoubleQuote,BackSlash,Del,Ctl,InvalidUtf8,Dot
  13811. Limitations
  13812. Note that premiumize.me is case insensitive so you can’t have a file
  13813. called “Hello.doc” and one called “hello.doc”.
  13814. premiumize.me file names can’t have the \ or " characters in. rclone
  13815. maps these to and from an identical looking unicode equivalents \ and
  13816. premiumize.me only supports filenames up to 255 characters in length.
  13817. put.io
  13818. Paths are specified as remote:path
  13819. put.io paths may be as deep as required, eg
  13820. remote:directory/subdirectory.
  13821. The initial setup for put.io involves getting a token from put.io which
  13822. you need to do in your browser. rclone config walks you through it.
  13823. Here is an example of how to make a remote called remote. First run:
  13824. rclone config
  13825. This will guide you through an interactive setup process:
  13826. No remotes found - make a new one
  13827. n) New remote
  13828. s) Set configuration password
  13829. q) Quit config
  13830. n/s/q> n
  13831. name> putio
  13832. Type of storage to configure.
  13833. Enter a string value. Press Enter for the default ("").
  13834. Choose a number from below, or type in your own value
  13835. [snip]
  13836. XX / Put.io
  13837. \ "putio"
  13838. [snip]
  13839. Storage> putio
  13840. ** See help for putio backend at: https://rclone.org/putio/ **
  13841. Remote config
  13842. Use auto config?
  13843. * Say Y if not sure
  13844. * Say N if you are working on a remote or headless machine
  13845. y) Yes
  13846. n) No
  13847. y/n> y
  13848. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  13849. Log in and authorize rclone for access
  13850. Waiting for code...
  13851. Got code
  13852. --------------------
  13853. [putio]
  13854. type = putio
  13855. token = {"access_token":"XXXXXXXX","expiry":"0001-01-01T00:00:00Z"}
  13856. --------------------
  13857. y) Yes this is OK
  13858. e) Edit this remote
  13859. d) Delete this remote
  13860. y/e/d> y
  13861. Current remotes:
  13862. Name Type
  13863. ==== ====
  13864. putio putio
  13865. e) Edit existing remote
  13866. n) New remote
  13867. d) Delete remote
  13868. r) Rename remote
  13869. c) Copy remote
  13870. s) Set configuration password
  13871. q) Quit config
  13872. e/n/d/r/c/s/q> q
  13873. Note that rclone runs a webserver on your local machine to collect the
  13874. token as returned from Google if you use auto config mode. This only
  13875. runs from the moment it opens your browser to the moment you get back
  13876. the verification code. This is on http://127.0.0.1:53682/ and this it
  13877. may require you to unblock it temporarily if you are running a host
  13878. firewall, or use manual mode.
  13879. You can then use it like this,
  13880. List directories in top level of your put.io
  13881. rclone lsd remote:
  13882. List all the files in your put.io
  13883. rclone ls remote:
  13884. To copy a local directory to a put.io directory called backup
  13885. rclone copy /home/source remote:backup
  13886. Restricted filename characters
  13887. In addition to the default restricted characters set the following
  13888. characters are also replaced:
  13889. Character Value Replacement
  13890. ----------- ------- -------------
  13891. \ 0x5C \
  13892. Invalid UTF-8 bytes will also be replaced, as they can’t be used in JSON
  13893. strings.
  13894. Advanced Options
  13895. Here are the advanced options specific to putio (Put.io).
  13896. –putio-encoding
  13897. This sets the encoding for the backend.
  13898. See: the encoding section in the overview for more info.
  13899. - Config: encoding
  13900. - Env Var: RCLONE_PUTIO_ENCODING
  13901. - Type: MultiEncoder
  13902. - Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
  13903. SFTP
  13904. SFTP is the Secure (or SSH) File Transfer Protocol.
  13905. The SFTP backend can be used with a number of different providers:
  13906. - C14
  13907. - rsync.net
  13908. SFTP runs over SSH v2 and is installed as standard with most modern SSH
  13909. installations.
  13910. Paths are specified as remote:path. If the path does not begin with a /
  13911. it is relative to the home directory of the user. An empty path remote:
  13912. refers to the user’s home directory.
  13913. "Note that some SFTP servers will need the leading / - Synology is a
  13914. good example of this. rsync.net, on the other hand, requires users to
  13915. OMIT the leading /.
  13916. Here is an example of making an SFTP configuration. First run
  13917. rclone config
  13918. This will guide you through an interactive setup process.
  13919. No remotes found - make a new one
  13920. n) New remote
  13921. s) Set configuration password
  13922. q) Quit config
  13923. n/s/q> n
  13924. name> remote
  13925. Type of storage to configure.
  13926. Choose a number from below, or type in your own value
  13927. [snip]
  13928. XX / SSH/SFTP Connection
  13929. \ "sftp"
  13930. [snip]
  13931. Storage> sftp
  13932. SSH host to connect to
  13933. Choose a number from below, or type in your own value
  13934. 1 / Connect to example.com
  13935. \ "example.com"
  13936. host> example.com
  13937. SSH username, leave blank for current username, ncw
  13938. user> sftpuser
  13939. SSH port, leave blank to use default (22)
  13940. port>
  13941. SSH password, leave blank to use ssh-agent.
  13942. y) Yes type in my own password
  13943. g) Generate random password
  13944. n) No leave this optional password blank
  13945. y/g/n> n
  13946. Path to unencrypted PEM-encoded private key file, leave blank to use ssh-agent.
  13947. key_file>
  13948. Remote config
  13949. --------------------
  13950. [remote]
  13951. host = example.com
  13952. user = sftpuser
  13953. port =
  13954. pass =
  13955. key_file =
  13956. --------------------
  13957. y) Yes this is OK
  13958. e) Edit this remote
  13959. d) Delete this remote
  13960. y/e/d> y
  13961. This remote is called remote and can now be used like this:
  13962. See all directories in the home directory
  13963. rclone lsd remote:
  13964. Make a new directory
  13965. rclone mkdir remote:path/to/directory
  13966. List the contents of a directory
  13967. rclone ls remote:path/to/directory
  13968. Sync /home/local/directory to the remote directory, deleting any excess
  13969. files in the directory.
  13970. rclone sync /home/local/directory remote:directory
  13971. SSH Authentication
  13972. The SFTP remote supports three authentication methods:
  13973. - Password
  13974. - Key file
  13975. - ssh-agent
  13976. Key files should be PEM-encoded private key files. For instance
  13977. /home/$USER/.ssh/id_rsa. Only unencrypted OpenSSH or PEM encrypted files
  13978. are supported.
  13979. If you don’t specify pass or key_file then rclone will attempt to
  13980. contact an ssh-agent.
  13981. You can also specify key_use_agent to force the usage of an ssh-agent.
  13982. In this case key_file can also be specified to force the usage of a
  13983. specific key in the ssh-agent.
  13984. Using an ssh-agent is the only way to load encrypted OpenSSH keys at the
  13985. moment.
  13986. If you set the --sftp-ask-password option, rclone will prompt for a
  13987. password when needed and no password has been configured.
  13988. ssh-agent on macOS
  13989. Note that there seem to be various problems with using an ssh-agent on
  13990. macOS due to recent changes in the OS. The most effective work-around
  13991. seems to be to start an ssh-agent in each session, eg
  13992. eval `ssh-agent -s` && ssh-add -A
  13993. And then at the end of the session
  13994. eval `ssh-agent -k`
  13995. These commands can be used in scripts of course.
  13996. Modified time
  13997. Modified times are stored on the server to 1 second precision.
  13998. Modified times are used in syncing and are fully supported.
  13999. Some SFTP servers disable setting/modifying the file modification time
  14000. after upload (for example, certain configurations of ProFTPd with
  14001. mod_sftp). If you are using one of these servers, you can set the option
  14002. set_modtime = false in your RClone backend configuration to disable this
  14003. behaviour.
  14004. Standard Options
  14005. Here are the standard options specific to sftp (SSH/SFTP Connection).
  14006. –sftp-host
  14007. SSH host to connect to
  14008. - Config: host
  14009. - Env Var: RCLONE_SFTP_HOST
  14010. - Type: string
  14011. - Default: ""
  14012. - Examples:
  14013. - “example.com”
  14014. - Connect to example.com
  14015. –sftp-user
  14016. SSH username, leave blank for current username, ncw
  14017. - Config: user
  14018. - Env Var: RCLONE_SFTP_USER
  14019. - Type: string
  14020. - Default: ""
  14021. –sftp-port
  14022. SSH port, leave blank to use default (22)
  14023. - Config: port
  14024. - Env Var: RCLONE_SFTP_PORT
  14025. - Type: string
  14026. - Default: ""
  14027. –sftp-pass
  14028. SSH password, leave blank to use ssh-agent.
  14029. - Config: pass
  14030. - Env Var: RCLONE_SFTP_PASS
  14031. - Type: string
  14032. - Default: ""
  14033. –sftp-key-file
  14034. Path to PEM-encoded private key file, leave blank or set key-use-agent
  14035. to use ssh-agent.
  14036. - Config: key_file
  14037. - Env Var: RCLONE_SFTP_KEY_FILE
  14038. - Type: string
  14039. - Default: ""
  14040. –sftp-key-file-pass
  14041. The passphrase to decrypt the PEM-encoded private key file.
  14042. Only PEM encrypted key files (old OpenSSH format) are supported.
  14043. Encrypted keys in the new OpenSSH format can’t be used.
  14044. - Config: key_file_pass
  14045. - Env Var: RCLONE_SFTP_KEY_FILE_PASS
  14046. - Type: string
  14047. - Default: ""
  14048. –sftp-key-use-agent
  14049. When set forces the usage of the ssh-agent.
  14050. When key-file is also set, the “.pub” file of the specified key-file is
  14051. read and only the associated key is requested from the ssh-agent. This
  14052. allows to avoid Too many authentication failures for *username* errors
  14053. when the ssh-agent contains many keys.
  14054. - Config: key_use_agent
  14055. - Env Var: RCLONE_SFTP_KEY_USE_AGENT
  14056. - Type: bool
  14057. - Default: false
  14058. –sftp-use-insecure-cipher
  14059. Enable the use of insecure ciphers and key exchange methods.
  14060. This enables the use of the the following insecure ciphers and key
  14061. exchange methods:
  14062. - aes128-cbc
  14063. - aes192-cbc
  14064. - aes256-cbc
  14065. - 3des-cbc
  14066. - diffie-hellman-group-exchange-sha256
  14067. - diffie-hellman-group-exchange-sha1
  14068. Those algorithms are insecure and may allow plaintext data to be
  14069. recovered by an attacker.
  14070. - Config: use_insecure_cipher
  14071. - Env Var: RCLONE_SFTP_USE_INSECURE_CIPHER
  14072. - Type: bool
  14073. - Default: false
  14074. - Examples:
  14075. - “false”
  14076. - Use default Cipher list.
  14077. - “true”
  14078. - Enables the use of the aes128-cbc cipher and
  14079. diffie-hellman-group-exchange-sha256,
  14080. diffie-hellman-group-exchange-sha1 key exchange.
  14081. –sftp-disable-hashcheck
  14082. Disable the execution of SSH commands to determine if remote file
  14083. hashing is available. Leave blank or set to false to enable hashing
  14084. (recommended), set to true to disable hashing.
  14085. - Config: disable_hashcheck
  14086. - Env Var: RCLONE_SFTP_DISABLE_HASHCHECK
  14087. - Type: bool
  14088. - Default: false
  14089. Advanced Options
  14090. Here are the advanced options specific to sftp (SSH/SFTP Connection).
  14091. –sftp-ask-password
  14092. Allow asking for SFTP password when needed.
  14093. If this is set and no password is supplied then rclone will: - ask for a
  14094. password - not contact the ssh agent
  14095. - Config: ask_password
  14096. - Env Var: RCLONE_SFTP_ASK_PASSWORD
  14097. - Type: bool
  14098. - Default: false
  14099. –sftp-path-override
  14100. Override path used by SSH connection.
  14101. This allows checksum calculation when SFTP and SSH paths are different.
  14102. This issue affects among others Synology NAS boxes.
  14103. Shared folders can be found in directories representing volumes
  14104. rclone sync /home/local/directory remote:/directory --ssh-path-override /volume2/directory
  14105. Home directory can be found in a shared folder called “home”
  14106. rclone sync /home/local/directory remote:/home/directory --ssh-path-override /volume1/homes/USER/directory
  14107. - Config: path_override
  14108. - Env Var: RCLONE_SFTP_PATH_OVERRIDE
  14109. - Type: string
  14110. - Default: ""
  14111. –sftp-set-modtime
  14112. Set the modified time on the remote if set.
  14113. - Config: set_modtime
  14114. - Env Var: RCLONE_SFTP_SET_MODTIME
  14115. - Type: bool
  14116. - Default: true
  14117. –sftp-md5sum-command
  14118. The command used to read md5 hashes. Leave blank for autodetect.
  14119. - Config: md5sum_command
  14120. - Env Var: RCLONE_SFTP_MD5SUM_COMMAND
  14121. - Type: string
  14122. - Default: ""
  14123. –sftp-sha1sum-command
  14124. The command used to read sha1 hashes. Leave blank for autodetect.
  14125. - Config: sha1sum_command
  14126. - Env Var: RCLONE_SFTP_SHA1SUM_COMMAND
  14127. - Type: string
  14128. - Default: ""
  14129. –sftp-skip-links
  14130. Set to skip any symlinks and any other non regular files.
  14131. - Config: skip_links
  14132. - Env Var: RCLONE_SFTP_SKIP_LINKS
  14133. - Type: bool
  14134. - Default: false
  14135. Limitations
  14136. SFTP supports checksums if the same login has shell access and md5sum or
  14137. sha1sum as well as echo are in the remote’s PATH. This remote
  14138. checksumming (file hashing) is recommended and enabled by default.
  14139. Disabling the checksumming may be required if you are connecting to SFTP
  14140. servers which are not under your control, and to which the execution of
  14141. remote commands is prohibited. Set the configuration option
  14142. disable_hashcheck to true to disable checksumming.
  14143. SFTP also supports about if the same login has shell access and df are
  14144. in the remote’s PATH. about will return the total space, free space, and
  14145. used space on the remote for the disk of the specified path on the
  14146. remote or, if not set, the disk of the root on the remote. about will
  14147. fail if it does not have shell access or if df is not in the remote’s
  14148. PATH.
  14149. Note that some SFTP servers (eg Synology) the paths are different for
  14150. SSH and SFTP so the hashes can’t be calculated properly. For them using
  14151. disable_hashcheck is a good idea.
  14152. The only ssh agent supported under Windows is Putty’s pageant.
  14153. The Go SSH library disables the use of the aes128-cbc cipher by default,
  14154. due to security concerns. This can be re-enabled on a per-connection
  14155. basis by setting the use_insecure_cipher setting in the configuration
  14156. file to true. Further details on the insecurity of this cipher can be
  14157. found [in this paper] (http://www.isg.rhul.ac.uk/~kp/SandPfinal.pdf).
  14158. SFTP isn’t supported under plan9 until this issue is fixed.
  14159. Note that since SFTP isn’t HTTP based the following flags don’t work
  14160. with it: --dump-headers, --dump-bodies, --dump-auth
  14161. Note that --timeout isn’t supported (but --contimeout is).
  14162. C14
  14163. C14 is supported through the SFTP backend.
  14164. See C14’s documentation
  14165. rsync.net
  14166. rsync.net is supported through the SFTP backend.
  14167. See rsync.net’s documentation of rclone examples.
  14168. SugarSync
  14169. SugarSync is a cloud service that enables active synchronization of
  14170. files across computers and other devices for file backup, access,
  14171. syncing, and sharing.
  14172. The initial setup for SugarSync involves getting a token from SugarSync
  14173. which you can do with rclone. rclone config walks you through it.
  14174. Here is an example of how to make a remote called remote. First run:
  14175. rclone config
  14176. This will guide you through an interactive setup process:
  14177. No remotes found - make a new one
  14178. n) New remote
  14179. s) Set configuration password
  14180. q) Quit config
  14181. n/s/q> n
  14182. name> remote
  14183. Type of storage to configure.
  14184. Enter a string value. Press Enter for the default ("").
  14185. Choose a number from below, or type in your own value
  14186. [snip]
  14187. XX / Sugarsync
  14188. \ "sugarsync"
  14189. [snip]
  14190. Storage> sugarsync
  14191. ** See help for sugarsync backend at: https://rclone.org/sugarsync/ **
  14192. Sugarsync App ID.
  14193. Leave blank to use rclone's.
  14194. Enter a string value. Press Enter for the default ("").
  14195. app_id>
  14196. Sugarsync Access Key ID.
  14197. Leave blank to use rclone's.
  14198. Enter a string value. Press Enter for the default ("").
  14199. access_key_id>
  14200. Sugarsync Private Access Key
  14201. Leave blank to use rclone's.
  14202. Enter a string value. Press Enter for the default ("").
  14203. private_access_key>
  14204. Permanently delete files if true
  14205. otherwise put them in the deleted files.
  14206. Enter a boolean value (true or false). Press Enter for the default ("false").
  14207. hard_delete>
  14208. Edit advanced config? (y/n)
  14209. y) Yes
  14210. n) No (default)
  14211. y/n> n
  14212. Remote config
  14213. Username (email address)> nick@craig-wood.com
  14214. Your Sugarsync password is only required during setup and will not be stored.
  14215. password:
  14216. --------------------
  14217. [remote]
  14218. type = sugarsync
  14219. refresh_token = https://api.sugarsync.com/app-authorization/XXXXXXXXXXXXXXXXXX
  14220. --------------------
  14221. y) Yes this is OK (default)
  14222. e) Edit this remote
  14223. d) Delete this remote
  14224. y/e/d> y
  14225. Note that the config asks for your email and password but doesn’t store
  14226. them, it only uses them to get the initial token.
  14227. Once configured you can then use rclone like this,
  14228. List directories (sync folders) in top level of your SugarSync
  14229. rclone lsd remote:
  14230. List all the files in your SugarSync folder “Test”
  14231. rclone ls remote:Test
  14232. To copy a local directory to an SugarSync folder called backup
  14233. rclone copy /home/source remote:backup
  14234. Paths are specified as remote:path
  14235. Paths may be as deep as required, eg remote:directory/subdirectory.
  14236. NB you can’t create files in the top level folder you have to create a
  14237. folder, which rclone will create as a “Sync Folder” with SugarSync.
  14238. Modified time and hashes
  14239. SugarSync does not support modification times or hashes, therefore
  14240. syncing will default to --size-only checking. Note that using --update
  14241. will work as rclone can read the time files were uploaded.
  14242. Restricted filename characters
  14243. SugarSync replaces the default restricted characters set except for DEL.
  14244. Invalid UTF-8 bytes will also be replaced, as they can’t be used in XML
  14245. strings.
  14246. Deleting files
  14247. Deleted files will be moved to the “Deleted items” folder by default.
  14248. However you can supply the flag --sugarsync-hard-delete or set the
  14249. config parameter hard_delete = true if you would like files to be
  14250. deleted straight away.
  14251. Standard Options
  14252. Here are the standard options specific to sugarsync (Sugarsync).
  14253. –sugarsync-app-id
  14254. Sugarsync App ID.
  14255. Leave blank to use rclone’s.
  14256. - Config: app_id
  14257. - Env Var: RCLONE_SUGARSYNC_APP_ID
  14258. - Type: string
  14259. - Default: ""
  14260. –sugarsync-access-key-id
  14261. Sugarsync Access Key ID.
  14262. Leave blank to use rclone’s.
  14263. - Config: access_key_id
  14264. - Env Var: RCLONE_SUGARSYNC_ACCESS_KEY_ID
  14265. - Type: string
  14266. - Default: ""
  14267. –sugarsync-private-access-key
  14268. Sugarsync Private Access Key
  14269. Leave blank to use rclone’s.
  14270. - Config: private_access_key
  14271. - Env Var: RCLONE_SUGARSYNC_PRIVATE_ACCESS_KEY
  14272. - Type: string
  14273. - Default: ""
  14274. –sugarsync-hard-delete
  14275. Permanently delete files if true otherwise put them in the deleted
  14276. files.
  14277. - Config: hard_delete
  14278. - Env Var: RCLONE_SUGARSYNC_HARD_DELETE
  14279. - Type: bool
  14280. - Default: false
  14281. Advanced Options
  14282. Here are the advanced options specific to sugarsync (Sugarsync).
  14283. –sugarsync-refresh-token
  14284. Sugarsync refresh token
  14285. Leave blank normally, will be auto configured by rclone.
  14286. - Config: refresh_token
  14287. - Env Var: RCLONE_SUGARSYNC_REFRESH_TOKEN
  14288. - Type: string
  14289. - Default: ""
  14290. –sugarsync-authorization
  14291. Sugarsync authorization
  14292. Leave blank normally, will be auto configured by rclone.
  14293. - Config: authorization
  14294. - Env Var: RCLONE_SUGARSYNC_AUTHORIZATION
  14295. - Type: string
  14296. - Default: ""
  14297. –sugarsync-authorization-expiry
  14298. Sugarsync authorization expiry
  14299. Leave blank normally, will be auto configured by rclone.
  14300. - Config: authorization_expiry
  14301. - Env Var: RCLONE_SUGARSYNC_AUTHORIZATION_EXPIRY
  14302. - Type: string
  14303. - Default: ""
  14304. –sugarsync-user
  14305. Sugarsync user
  14306. Leave blank normally, will be auto configured by rclone.
  14307. - Config: user
  14308. - Env Var: RCLONE_SUGARSYNC_USER
  14309. - Type: string
  14310. - Default: ""
  14311. –sugarsync-root-id
  14312. Sugarsync root id
  14313. Leave blank normally, will be auto configured by rclone.
  14314. - Config: root_id
  14315. - Env Var: RCLONE_SUGARSYNC_ROOT_ID
  14316. - Type: string
  14317. - Default: ""
  14318. –sugarsync-deleted-id
  14319. Sugarsync deleted folder id
  14320. Leave blank normally, will be auto configured by rclone.
  14321. - Config: deleted_id
  14322. - Env Var: RCLONE_SUGARSYNC_DELETED_ID
  14323. - Type: string
  14324. - Default: ""
  14325. –sugarsync-encoding
  14326. This sets the encoding for the backend.
  14327. See: the encoding section in the overview for more info.
  14328. - Config: encoding
  14329. - Env Var: RCLONE_SUGARSYNC_ENCODING
  14330. - Type: MultiEncoder
  14331. - Default: Slash,Ctl,InvalidUtf8,Dot
  14332. Union
  14333. The union remote provides a unification similar to UnionFS using other
  14334. remotes.
  14335. Paths may be as deep as required or a local path, eg
  14336. remote:directory/subdirectory or /directory/subdirectory.
  14337. During the initial setup with rclone config you will specify the target
  14338. remotes as a space separated list. The target remotes can either be a
  14339. local paths or other remotes.
  14340. The order of the remotes is important as it defines which remotes take
  14341. precedence over others if there are files with the same name in the same
  14342. logical path. The last remote is the topmost remote and replaces files
  14343. with the same name from previous remotes.
  14344. Only the last remote is used to write to and delete from, all other
  14345. remotes are read-only.
  14346. Subfolders can be used in target remote. Assume a union remote named
  14347. backup with the remotes mydrive:private/backup mydrive2:/backup.
  14348. Invoking rclone mkdir backup:desktop is exactly the same as invoking
  14349. rclone mkdir mydrive2:/backup/desktop.
  14350. There will be no special handling of paths containing .. segments.
  14351. Invoking rclone mkdir backup:../desktop is exactly the same as invoking
  14352. rclone mkdir mydrive2:/backup/../desktop.
  14353. Here is an example of how to make a union called remote for local
  14354. folders. First run:
  14355. rclone config
  14356. This will guide you through an interactive setup process:
  14357. No remotes found - make a new one
  14358. n) New remote
  14359. s) Set configuration password
  14360. q) Quit config
  14361. n/s/q> n
  14362. name> remote
  14363. Type of storage to configure.
  14364. Choose a number from below, or type in your own value
  14365. [snip]
  14366. XX / Union merges the contents of several remotes
  14367. \ "union"
  14368. [snip]
  14369. Storage> union
  14370. List of space separated remotes.
  14371. Can be 'remotea:test/dir remoteb:', '"remotea:test/space dir" remoteb:', etc.
  14372. The last remote is used to write to.
  14373. Enter a string value. Press Enter for the default ("").
  14374. remotes>
  14375. Remote config
  14376. --------------------
  14377. [remote]
  14378. type = union
  14379. remotes = C:\dir1 C:\dir2 C:\dir3
  14380. --------------------
  14381. y) Yes this is OK
  14382. e) Edit this remote
  14383. d) Delete this remote
  14384. y/e/d> y
  14385. Current remotes:
  14386. Name Type
  14387. ==== ====
  14388. remote union
  14389. e) Edit existing remote
  14390. n) New remote
  14391. d) Delete remote
  14392. r) Rename remote
  14393. c) Copy remote
  14394. s) Set configuration password
  14395. q) Quit config
  14396. e/n/d/r/c/s/q> q
  14397. Once configured you can then use rclone like this,
  14398. List directories in top level in C:\dir1, C:\dir2 and C:\dir3
  14399. rclone lsd remote:
  14400. List all the files in C:\dir1, C:\dir2 and C:\dir3
  14401. rclone ls remote:
  14402. Copy another local directory to the union directory called source, which
  14403. will be placed into C:\dir3
  14404. rclone copy C:\source remote:source
  14405. Standard Options
  14406. Here are the standard options specific to union (Union merges the
  14407. contents of several remotes).
  14408. –union-remotes
  14409. List of space separated remotes. Can be ‘remotea:test/dir remoteb:’,
  14410. ‘“remotea:test/space dir” remoteb:’, etc. The last remote is used to
  14411. write to.
  14412. - Config: remotes
  14413. - Env Var: RCLONE_UNION_REMOTES
  14414. - Type: string
  14415. - Default: ""
  14416. WebDAV
  14417. Paths are specified as remote:path
  14418. Paths may be as deep as required, eg remote:directory/subdirectory.
  14419. To configure the WebDAV remote you will need to have a URL for it, and a
  14420. username and password. If you know what kind of system you are
  14421. connecting to then rclone can enable extra features.
  14422. Here is an example of how to make a remote called remote. First run:
  14423. rclone config
  14424. This will guide you through an interactive setup process:
  14425. No remotes found - make a new one
  14426. n) New remote
  14427. s) Set configuration password
  14428. q) Quit config
  14429. n/s/q> n
  14430. name> remote
  14431. Type of storage to configure.
  14432. Choose a number from below, or type in your own value
  14433. [snip]
  14434. XX / Webdav
  14435. \ "webdav"
  14436. [snip]
  14437. Storage> webdav
  14438. URL of http host to connect to
  14439. Choose a number from below, or type in your own value
  14440. 1 / Connect to example.com
  14441. \ "https://example.com"
  14442. url> https://example.com/remote.php/webdav/
  14443. Name of the Webdav site/service/software you are using
  14444. Choose a number from below, or type in your own value
  14445. 1 / Nextcloud
  14446. \ "nextcloud"
  14447. 2 / Owncloud
  14448. \ "owncloud"
  14449. 3 / Sharepoint
  14450. \ "sharepoint"
  14451. 4 / Other site/service or software
  14452. \ "other"
  14453. vendor> 1
  14454. User name
  14455. user> user
  14456. Password.
  14457. y) Yes type in my own password
  14458. g) Generate random password
  14459. n) No leave this optional password blank
  14460. y/g/n> y
  14461. Enter the password:
  14462. password:
  14463. Confirm the password:
  14464. password:
  14465. Bearer token instead of user/pass (eg a Macaroon)
  14466. bearer_token>
  14467. Remote config
  14468. --------------------
  14469. [remote]
  14470. type = webdav
  14471. url = https://example.com/remote.php/webdav/
  14472. vendor = nextcloud
  14473. user = user
  14474. pass = *** ENCRYPTED ***
  14475. bearer_token =
  14476. --------------------
  14477. y) Yes this is OK
  14478. e) Edit this remote
  14479. d) Delete this remote
  14480. y/e/d> y
  14481. Once configured you can then use rclone like this,
  14482. List directories in top level of your WebDAV
  14483. rclone lsd remote:
  14484. List all the files in your WebDAV
  14485. rclone ls remote:
  14486. To copy a local directory to an WebDAV directory called backup
  14487. rclone copy /home/source remote:backup
  14488. Modified time and hashes
  14489. Plain WebDAV does not support modified times. However when used with
  14490. Owncloud or Nextcloud rclone will support modified times.
  14491. Likewise plain WebDAV does not support hashes, however when used with
  14492. Owncloud or Nextcloud rclone will support SHA1 and MD5 hashes. Depending
  14493. on the exact version of Owncloud or Nextcloud hashes may appear on all
  14494. objects, or only on objects which had a hash uploaded with them.
  14495. Standard Options
  14496. Here are the standard options specific to webdav (Webdav).
  14497. –webdav-url
  14498. URL of http host to connect to
  14499. - Config: url
  14500. - Env Var: RCLONE_WEBDAV_URL
  14501. - Type: string
  14502. - Default: ""
  14503. - Examples:
  14504. - “https://example.com”
  14505. - Connect to example.com
  14506. –webdav-vendor
  14507. Name of the Webdav site/service/software you are using
  14508. - Config: vendor
  14509. - Env Var: RCLONE_WEBDAV_VENDOR
  14510. - Type: string
  14511. - Default: ""
  14512. - Examples:
  14513. - “nextcloud”
  14514. - Nextcloud
  14515. - “owncloud”
  14516. - Owncloud
  14517. - “sharepoint”
  14518. - Sharepoint
  14519. - “other”
  14520. - Other site/service or software
  14521. –webdav-user
  14522. User name
  14523. - Config: user
  14524. - Env Var: RCLONE_WEBDAV_USER
  14525. - Type: string
  14526. - Default: ""
  14527. –webdav-pass
  14528. Password.
  14529. - Config: pass
  14530. - Env Var: RCLONE_WEBDAV_PASS
  14531. - Type: string
  14532. - Default: ""
  14533. –webdav-bearer-token
  14534. Bearer token instead of user/pass (eg a Macaroon)
  14535. - Config: bearer_token
  14536. - Env Var: RCLONE_WEBDAV_BEARER_TOKEN
  14537. - Type: string
  14538. - Default: ""
  14539. Advanced Options
  14540. Here are the advanced options specific to webdav (Webdav).
  14541. –webdav-bearer-token-command
  14542. Command to run to get a bearer token
  14543. - Config: bearer_token_command
  14544. - Env Var: RCLONE_WEBDAV_BEARER_TOKEN_COMMAND
  14545. - Type: string
  14546. - Default: ""
  14547. Provider notes
  14548. See below for notes on specific providers.
  14549. Owncloud
  14550. Click on the settings cog in the bottom right of the page and this will
  14551. show the WebDAV URL that rclone needs in the config step. It will look
  14552. something like https://example.com/remote.php/webdav/.
  14553. Owncloud supports modified times using the X-OC-Mtime header.
  14554. Nextcloud
  14555. This is configured in an identical way to Owncloud. Note that Nextcloud
  14556. does not support streaming of files (rcat) whereas Owncloud does. This
  14557. may be fixed in the future.
  14558. Sharepoint
  14559. Rclone can be used with Sharepoint provided by OneDrive for Business or
  14560. Office365 Education Accounts. This feature is only needed for a few of
  14561. these Accounts, mostly Office365 Education ones. These accounts are
  14562. sometimes not verified by the domain owner github#1975
  14563. This means that these accounts can’t be added using the official API
  14564. (other Accounts should work with the “onedrive” option). However, it is
  14565. possible to access them using webdav.
  14566. To use a sharepoint remote with rclone, add it like this: First, you
  14567. need to get your remote’s URL:
  14568. - Go here to open your OneDrive or to sign in
  14569. - Now take a look at your address bar, the URL should look like this:
  14570. https://[YOUR-DOMAIN]-my.sharepoint.com/personal/[YOUR-EMAIL]/_layouts/15/onedrive.aspx
  14571. You’ll only need this URL upto the email address. After that, you’ll
  14572. most likely want to add “/Documents”. That subdirectory contains the
  14573. actual data stored on your OneDrive.
  14574. Add the remote to rclone like this: Configure the url as
  14575. https://[YOUR-DOMAIN]-my.sharepoint.com/personal/[YOUR-EMAIL]/Documents
  14576. and use your normal account email and password for user and pass. If you
  14577. have 2FA enabled, you have to generate an app password. Set the vendor
  14578. to sharepoint.
  14579. Your config file should look like this:
  14580. [sharepoint]
  14581. type = webdav
  14582. url = https://[YOUR-DOMAIN]-my.sharepoint.com/personal/[YOUR-EMAIL]/Documents
  14583. vendor = other
  14584. user = YourEmailAddress
  14585. pass = encryptedpassword
  14586. Required Flags for SharePoint
  14587. As SharePoint does some special things with uploaded documents, you
  14588. won’t be able to use the documents size or the documents hash to compare
  14589. if a file has been changed since the upload / which file is newer.
  14590. For Rclone calls copying files (especially Office files such as .docx,
  14591. .xlsx, etc.) from/to SharePoint (like copy, sync, etc.), you should
  14592. append these flags to ensure Rclone uses the “Last Modified” datetime
  14593. property to compare your documents:
  14594. --ignore-size --ignore-checksum --update
  14595. dCache
  14596. dCache is a storage system that supports many protocols and
  14597. authentication/authorisation schemes. For WebDAV clients, it allows
  14598. users to authenticate with username and password (BASIC), X.509,
  14599. Kerberos, and various bearer tokens, including Macaroons and
  14600. OpenID-Connect access tokens.
  14601. Configure as normal using the other type. Don’t enter a username or
  14602. password, instead enter your Macaroon as the bearer_token.
  14603. The config will end up looking something like this.
  14604. [dcache]
  14605. type = webdav
  14606. url = https://dcache...
  14607. vendor = other
  14608. user =
  14609. pass =
  14610. bearer_token = your-macaroon
  14611. There is a script that obtains a Macaroon from a dCache WebDAV endpoint,
  14612. and creates an rclone config file.
  14613. Macaroons may also be obtained from the dCacheView
  14614. web-browser/JavaScript client that comes with dCache.
  14615. OpenID-Connect
  14616. dCache also supports authenticating with OpenID-Connect access tokens.
  14617. OpenID-Connect is a protocol (based on OAuth 2.0) that allows services
  14618. to identify users who have authenticated with some central service.
  14619. Support for OpenID-Connect in rclone is currently achieved using another
  14620. software package called oidc-agent. This is a command-line tool that
  14621. facilitates obtaining an access token. Once installed and configured, an
  14622. access token is obtained by running the oidc-token command. The
  14623. following example shows a (shortened) access token obtained from the
  14624. _XDC_ OIDC Provider.
  14625. paul@celebrimbor:~$ oidc-token XDC
  14626. eyJraWQ[...]QFXDt0
  14627. paul@celebrimbor:~$
  14628. NOTE Before the oidc-token command will work, the refresh token must be
  14629. loaded into the oidc agent. This is done with the oidc-add command
  14630. (e.g., oidc-add XDC). This is typically done once per login session.
  14631. Full details on this and how to register oidc-agent with your OIDC
  14632. Provider are provided in the oidc-agent documentation.
  14633. The rclone bearer_token_command configuration option is used to fetch
  14634. the access token from oidc-agent.
  14635. Configure as a normal WebDAV endpoint, using the ‘other’ vendor, leaving
  14636. the username and password empty. When prompted, choose to edit the
  14637. advanced config and enter the command to get a bearer token (e.g.,
  14638. oidc-agent XDC).
  14639. The following example config shows a WebDAV endpoint that uses
  14640. oidc-agent to supply an access token from the _XDC_ OIDC Provider.
  14641. [dcache]
  14642. type = webdav
  14643. url = https://dcache.example.org/
  14644. vendor = other
  14645. bearer_token_command = oidc-token XDC
  14646. Yandex Disk
  14647. Yandex Disk is a cloud storage solution created by Yandex.
  14648. Here is an example of making a yandex configuration. First run
  14649. rclone config
  14650. This will guide you through an interactive setup process:
  14651. No remotes found - make a new one
  14652. n) New remote
  14653. s) Set configuration password
  14654. n/s> n
  14655. name> remote
  14656. Type of storage to configure.
  14657. Choose a number from below, or type in your own value
  14658. [snip]
  14659. XX / Yandex Disk
  14660. \ "yandex"
  14661. [snip]
  14662. Storage> yandex
  14663. Yandex Client Id - leave blank normally.
  14664. client_id>
  14665. Yandex Client Secret - leave blank normally.
  14666. client_secret>
  14667. Remote config
  14668. Use auto config?
  14669. * Say Y if not sure
  14670. * Say N if you are working on a remote or headless machine
  14671. y) Yes
  14672. n) No
  14673. y/n> y
  14674. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  14675. Log in and authorize rclone for access
  14676. Waiting for code...
  14677. Got code
  14678. --------------------
  14679. [remote]
  14680. client_id =
  14681. client_secret =
  14682. token = {"access_token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","token_type":"bearer","expiry":"2016-12-29T12:27:11.362788025Z"}
  14683. --------------------
  14684. y) Yes this is OK
  14685. e) Edit this remote
  14686. d) Delete this remote
  14687. y/e/d> y
  14688. See the remote setup docs for how to set it up on a machine with no
  14689. Internet browser available.
  14690. Note that rclone runs a webserver on your local machine to collect the
  14691. token as returned from Yandex Disk. This only runs from the moment it
  14692. opens your browser to the moment you get back the verification code.
  14693. This is on http://127.0.0.1:53682/ and this it may require you to
  14694. unblock it temporarily if you are running a host firewall.
  14695. Once configured you can then use rclone like this,
  14696. See top level directories
  14697. rclone lsd remote:
  14698. Make a new directory
  14699. rclone mkdir remote:directory
  14700. List the contents of a directory
  14701. rclone ls remote:directory
  14702. Sync /home/local/directory to the remote path, deleting any excess files
  14703. in the path.
  14704. rclone sync /home/local/directory remote:directory
  14705. Yandex paths may be as deep as required, eg
  14706. remote:directory/subdirectory.
  14707. Modified time
  14708. Modified times are supported and are stored accurate to 1 ns in custom
  14709. metadata called rclone_modified in RFC3339 with nanoseconds format.
  14710. MD5 checksums
  14711. MD5 checksums are natively supported by Yandex Disk.
  14712. Emptying Trash
  14713. If you wish to empty your trash you can use the rclone cleanup remote:
  14714. command which will permanently delete all your trashed files. This
  14715. command does not take any path arguments.
  14716. Quota information
  14717. To view your current quota you can use the rclone about remote: command
  14718. which will display your usage limit (quota) and the current usage.
  14719. Restricted filename characters
  14720. The default restricted characters set are replaced.
  14721. Invalid UTF-8 bytes will also be replaced, as they can’t be used in JSON
  14722. strings.
  14723. Limitations
  14724. When uploading very large files (bigger than about 5GB) you will need to
  14725. increase the --timeout parameter. This is because Yandex pauses (perhaps
  14726. to calculate the MD5SUM for the entire file) before returning
  14727. confirmation that the file has been uploaded. The default handling of
  14728. timeouts in rclone is to assume a 5 minute pause is an error and close
  14729. the connection - you’ll see net/http: timeout awaiting response headers
  14730. errors in the logs if this is happening. Setting the timeout to twice
  14731. the max size of file in GB should be enough, so if you want to upload a
  14732. 30GB file set a timeout of 2 * 30 = 60m, that is --timeout 60m.
  14733. Standard Options
  14734. Here are the standard options specific to yandex (Yandex Disk).
  14735. –yandex-client-id
  14736. Yandex Client Id Leave blank normally.
  14737. - Config: client_id
  14738. - Env Var: RCLONE_YANDEX_CLIENT_ID
  14739. - Type: string
  14740. - Default: ""
  14741. –yandex-client-secret
  14742. Yandex Client Secret Leave blank normally.
  14743. - Config: client_secret
  14744. - Env Var: RCLONE_YANDEX_CLIENT_SECRET
  14745. - Type: string
  14746. - Default: ""
  14747. Advanced Options
  14748. Here are the advanced options specific to yandex (Yandex Disk).
  14749. –yandex-unlink
  14750. Remove existing public link to file/folder with link command rather than
  14751. creating. Default is false, meaning link command will create or retrieve
  14752. public link.
  14753. - Config: unlink
  14754. - Env Var: RCLONE_YANDEX_UNLINK
  14755. - Type: bool
  14756. - Default: false
  14757. –yandex-encoding
  14758. This sets the encoding for the backend.
  14759. See: the encoding section in the overview for more info.
  14760. - Config: encoding
  14761. - Env Var: RCLONE_YANDEX_ENCODING
  14762. - Type: MultiEncoder
  14763. - Default: Slash,Del,Ctl,InvalidUtf8,Dot
  14764. Local Filesystem
  14765. Local paths are specified as normal filesystem paths, eg
  14766. /path/to/wherever, so
  14767. rclone sync /home/source /tmp/destination
  14768. Will sync /home/source to /tmp/destination
  14769. These can be configured into the config file for consistencies sake, but
  14770. it is probably easier not to.
  14771. Modified time
  14772. Rclone reads and writes the modified time using an accuracy determined
  14773. by the OS. Typically this is 1ns on Linux, 10 ns on Windows and 1 Second
  14774. on OS X.
  14775. Filenames
  14776. Filenames should be encoded in UTF-8 on disk. This is the normal case
  14777. for Windows and OS X.
  14778. There is a bit more uncertainty in the Linux world, but new
  14779. distributions will have UTF-8 encoded files names. If you are using an
  14780. old Linux filesystem with non UTF-8 file names (eg latin1) then you can
  14781. use the convmv tool to convert the filesystem to UTF-8. This tool is
  14782. available in most distributions’ package managers.
  14783. If an invalid (non-UTF8) filename is read, the invalid characters will
  14784. be replaced with a quoted representation of the invalid bytes. The name
  14785. gro\xdf will be transferred as gro‛DF. rclone will emit a debug message
  14786. in this case (use -v to see), eg
  14787. Local file system at .: Replacing invalid UTF-8 characters in "gro\xdf"
  14788. Restricted characters
  14789. On non Windows platforms the following characters are replaced when
  14790. handling file names.
  14791. Character Value Replacement
  14792. ----------- ------- -------------
  14793. NUL 0x00 ␀
  14794. / 0x2F /
  14795. When running on Windows the following characters are replaced. This list
  14796. is based on the Windows file naming conventions.
  14797. Character Value Replacement
  14798. ----------- ------- -------------
  14799. NUL 0x00 ␀
  14800. SOH 0x01 ␁
  14801. STX 0x02 ␂
  14802. ETX 0x03 ␃
  14803. EOT 0x04 ␄
  14804. ENQ 0x05 ␅
  14805. ACK 0x06 ␆
  14806. BEL 0x07 ␇
  14807. BS 0x08 ␈
  14808. HT 0x09 ␉
  14809. LF 0x0A ␊
  14810. VT 0x0B ␋
  14811. FF 0x0C ␌
  14812. CR 0x0D ␍
  14813. SO 0x0E ␎
  14814. SI 0x0F ␏
  14815. DLE 0x10 ␐
  14816. DC1 0x11 ␑
  14817. DC2 0x12 ␒
  14818. DC3 0x13 ␓
  14819. DC4 0x14 ␔
  14820. NAK 0x15 ␕
  14821. SYN 0x16 ␖
  14822. ETB 0x17 ␗
  14823. CAN 0x18 ␘
  14824. EM 0x19 ␙
  14825. SUB 0x1A ␚
  14826. ESC 0x1B ␛
  14827. FS 0x1C ␜
  14828. GS 0x1D ␝
  14829. RS 0x1E ␞
  14830. US 0x1F ␟
  14831. / 0x2F /
  14832. " 0x22 "
  14833. * 0x2A *
  14834. : 0x3A :
  14835. < 0x3C <
  14836. > 0x3E >
  14837. ? 0x3F ?
  14838. \ 0x5C \
  14839. | 0x7C |
  14840. File names on Windows can also not end with the following characters.
  14841. These only get replaced if they are last character in the name:
  14842. Character Value Replacement
  14843. ----------- ------- -------------
  14844. SP 0x20 ␠
  14845. . 0x2E .
  14846. Invalid UTF-8 bytes will also be replaced, as they can’t be converted to
  14847. UTF-16.
  14848. Long paths on Windows
  14849. Rclone handles long paths automatically, by converting all paths to long
  14850. UNC paths which allows paths up to 32,767 characters.
  14851. This is why you will see that your paths, for instance c:\files is
  14852. converted to the UNC path \\?\c:\files in the output, and \\server\share
  14853. is converted to \\?\UNC\server\share.
  14854. However, in rare cases this may cause problems with buggy file system
  14855. drivers like EncFS. To disable UNC conversion globally, add this to your
  14856. .rclone.conf file:
  14857. [local]
  14858. nounc = true
  14859. If you want to selectively disable UNC, you can add it to a separate
  14860. entry like this:
  14861. [nounc]
  14862. type = local
  14863. nounc = true
  14864. And use rclone like this:
  14865. rclone copy c:\src nounc:z:\dst
  14866. This will use UNC paths on c:\src but not on z:\dst. Of course this will
  14867. cause problems if the absolute path length of a file exceeds 258
  14868. characters on z, so only use this option if you have to.
  14869. Symlinks / Junction points
  14870. Normally rclone will ignore symlinks or junction points (which behave
  14871. like symlinks under Windows).
  14872. If you supply --copy-links or -L then rclone will follow the symlink and
  14873. copy the pointed to file or directory. Note that this flag is
  14874. incompatible with -links / -l.
  14875. This flag applies to all commands.
  14876. For example, supposing you have a directory structure like this
  14877. $ tree /tmp/a
  14878. /tmp/a
  14879. ├── b -> ../b
  14880. ├── expected -> ../expected
  14881. ├── one
  14882. └── two
  14883. └── three
  14884. Then you can see the difference with and without the flag like this
  14885. $ rclone ls /tmp/a
  14886. 6 one
  14887. 6 two/three
  14888. and
  14889. $ rclone -L ls /tmp/a
  14890. 4174 expected
  14891. 6 one
  14892. 6 two/three
  14893. 6 b/two
  14894. 6 b/one
  14895. –links, -l
  14896. Normally rclone will ignore symlinks or junction points (which behave
  14897. like symlinks under Windows).
  14898. If you supply this flag then rclone will copy symbolic links from the
  14899. local storage, and store them as text files, with a ‘.rclonelink’ suffix
  14900. in the remote storage.
  14901. The text file will contain the target of the symbolic link (see
  14902. example).
  14903. This flag applies to all commands.
  14904. For example, supposing you have a directory structure like this
  14905. $ tree /tmp/a
  14906. /tmp/a
  14907. ├── file1 -> ./file4
  14908. └── file2 -> /home/user/file3
  14909. Copying the entire directory with ‘-l’
  14910. $ rclone copyto -l /tmp/a/file1 remote:/tmp/a/
  14911. The remote files are created with a ‘.rclonelink’ suffix
  14912. $ rclone ls remote:/tmp/a
  14913. 5 file1.rclonelink
  14914. 14 file2.rclonelink
  14915. The remote files will contain the target of the symbolic links
  14916. $ rclone cat remote:/tmp/a/file1.rclonelink
  14917. ./file4
  14918. $ rclone cat remote:/tmp/a/file2.rclonelink
  14919. /home/user/file3
  14920. Copying them back with ‘-l’
  14921. $ rclone copyto -l remote:/tmp/a/ /tmp/b/
  14922. $ tree /tmp/b
  14923. /tmp/b
  14924. ├── file1 -> ./file4
  14925. └── file2 -> /home/user/file3
  14926. However, if copied back without ‘-l’
  14927. $ rclone copyto remote:/tmp/a/ /tmp/b/
  14928. $ tree /tmp/b
  14929. /tmp/b
  14930. ├── file1.rclonelink
  14931. └── file2.rclonelink
  14932. Note that this flag is incompatible with -copy-links / -L.
  14933. Restricting filesystems with –one-file-system
  14934. Normally rclone will recurse through filesystems as mounted.
  14935. However if you set --one-file-system or -x this tells rclone to stay in
  14936. the filesystem specified by the root and not to recurse into different
  14937. file systems.
  14938. For example if you have a directory hierarchy like this
  14939. root
  14940. ├── disk1 - disk1 mounted on the root
  14941. │   └── file3 - stored on disk1
  14942. ├── disk2 - disk2 mounted on the root
  14943. │   └── file4 - stored on disk12
  14944. ├── file1 - stored on the root disk
  14945. └── file2 - stored on the root disk
  14946. Using rclone --one-file-system copy root remote: will only copy file1
  14947. and file2. Eg
  14948. $ rclone -q --one-file-system ls root
  14949. 0 file1
  14950. 0 file2
  14951. $ rclone -q ls root
  14952. 0 disk1/file3
  14953. 0 disk2/file4
  14954. 0 file1
  14955. 0 file2
  14956. NB Rclone (like most unix tools such as du, rsync and tar) treats a bind
  14957. mount to the same device as being on the same filesystem.
  14958. NB This flag is only available on Unix based systems. On systems where
  14959. it isn’t supported (eg Windows) it will be ignored.
  14960. Standard Options
  14961. Here are the standard options specific to local (Local Disk).
  14962. –local-nounc
  14963. Disable UNC (long path names) conversion on Windows
  14964. - Config: nounc
  14965. - Env Var: RCLONE_LOCAL_NOUNC
  14966. - Type: string
  14967. - Default: ""
  14968. - Examples:
  14969. - “true”
  14970. - Disables long file names
  14971. Advanced Options
  14972. Here are the advanced options specific to local (Local Disk).
  14973. –copy-links / -L
  14974. Follow symlinks and copy the pointed to item.
  14975. - Config: copy_links
  14976. - Env Var: RCLONE_LOCAL_COPY_LINKS
  14977. - Type: bool
  14978. - Default: false
  14979. –links / -l
  14980. Translate symlinks to/from regular files with a ‘.rclonelink’ extension
  14981. - Config: links
  14982. - Env Var: RCLONE_LOCAL_LINKS
  14983. - Type: bool
  14984. - Default: false
  14985. –skip-links
  14986. Don’t warn about skipped symlinks. This flag disables warning messages
  14987. on skipped symlinks or junction points, as you explicitly acknowledge
  14988. that they should be skipped.
  14989. - Config: skip_links
  14990. - Env Var: RCLONE_LOCAL_SKIP_LINKS
  14991. - Type: bool
  14992. - Default: false
  14993. –local-no-unicode-normalization
  14994. Don’t apply unicode normalization to paths and filenames (Deprecated)
  14995. This flag is deprecated now. Rclone no longer normalizes unicode file
  14996. names, but it compares them with unicode normalization in the sync
  14997. routine instead.
  14998. - Config: no_unicode_normalization
  14999. - Env Var: RCLONE_LOCAL_NO_UNICODE_NORMALIZATION
  15000. - Type: bool
  15001. - Default: false
  15002. –local-no-check-updated
  15003. Don’t check to see if the files change during upload
  15004. Normally rclone checks the size and modification time of files as they
  15005. are being uploaded and aborts with a message which starts “can’t copy -
  15006. source file is being updated” if the file changes during upload.
  15007. However on some file systems this modification time check may fail (eg
  15008. Glusterfs #2206) so this check can be disabled with this flag.
  15009. - Config: no_check_updated
  15010. - Env Var: RCLONE_LOCAL_NO_CHECK_UPDATED
  15011. - Type: bool
  15012. - Default: false
  15013. –one-file-system / -x
  15014. Don’t cross filesystem boundaries (unix/macOS only).
  15015. - Config: one_file_system
  15016. - Env Var: RCLONE_LOCAL_ONE_FILE_SYSTEM
  15017. - Type: bool
  15018. - Default: false
  15019. –local-case-sensitive
  15020. Force the filesystem to report itself as case sensitive.
  15021. Normally the local backend declares itself as case insensitive on
  15022. Windows/macOS and case sensitive for everything else. Use this flag to
  15023. override the default choice.
  15024. - Config: case_sensitive
  15025. - Env Var: RCLONE_LOCAL_CASE_SENSITIVE
  15026. - Type: bool
  15027. - Default: false
  15028. –local-case-insensitive
  15029. Force the filesystem to report itself as case insensitive
  15030. Normally the local backend declares itself as case insensitive on
  15031. Windows/macOS and case sensitive for everything else. Use this flag to
  15032. override the default choice.
  15033. - Config: case_insensitive
  15034. - Env Var: RCLONE_LOCAL_CASE_INSENSITIVE
  15035. - Type: bool
  15036. - Default: false
  15037. –local-encoding
  15038. This sets the encoding for the backend.
  15039. See: the encoding section in the overview for more info.
  15040. - Config: encoding
  15041. - Env Var: RCLONE_LOCAL_ENCODING
  15042. - Type: MultiEncoder
  15043. - Default: Slash,Dot
  15044. CHANGELOG
  15045. v1.51.0 - 2020-02-01
  15046. - New backends
  15047. - Memory (Nick Craig-Wood)
  15048. - Sugarsync (Nick Craig-Wood)
  15049. - New Features
  15050. - Adjust all backends to have --backend-encoding parameter (Nick
  15051. Craig-Wood)
  15052. - this enables the encoding for special characters to be
  15053. adjusted or disabled
  15054. - Add --max-duration flag to control the maximum duration of a
  15055. transfer session (boosh)
  15056. - Add --expect-continue-timeout flag, default 1s (Nick Craig-Wood)
  15057. - Add --no-check-dest flag for copying without testing the
  15058. destination (Nick Craig-Wood)
  15059. - Implement --order-by flag to order transfers (Nick Craig-Wood)
  15060. - accounting
  15061. - Don’t show entries in both transferring and checking (Nick
  15062. Craig-Wood)
  15063. - Add option to delete stats (Aleksandar Jankovic)
  15064. - build
  15065. - Compress the test builds with gzip (Nick Craig-Wood)
  15066. - Implement a framework for starting test servers during tests
  15067. (Nick Craig-Wood)
  15068. - cmd: Always print elapsed time to tenth place seconds in
  15069. progress (Gary Kim)
  15070. - config
  15071. - Add --password-command to allow dynamic config password
  15072. (Damon Permezel)
  15073. - Give config questions default values (Nick Craig-Wood)
  15074. - Check a remote exists when creating a new one (Nick
  15075. Craig-Wood)
  15076. - copyurl: Add --stdout flag to write to stdout (Nick Craig-Wood)
  15077. - dedupe: Implement keep smallest too (Nick Craig-Wood)
  15078. - hashsum: Add flag --base64 flag (landall)
  15079. - lsf: Speed up on s3/swift/etc by not reading mimetype by default
  15080. (Nick Craig-Wood)
  15081. - lsjson: Add --no-mimetype flag (Nick Craig-Wood)
  15082. - rc: Add methods to turn on blocking and mutex profiling (Nick
  15083. Craig-Wood)
  15084. - rcd
  15085. - Adding group parameter to stats (Chaitanya)
  15086. - Move webgui apart; option to disable browser (Xiaoxing Ye)
  15087. - serve sftp: Add support for public key with auth proxy (Paul
  15088. Tinsley)
  15089. - stats: Show deletes in stats and hide zero stats (anuar45)
  15090. - Bug Fixes
  15091. - accounting
  15092. - Fix error counter counting multiple times (Ankur Gupta)
  15093. - Fix error count shown as checks (Cnly)
  15094. - Clear finished transfer in stats-reset (Maciej Zimnoch)
  15095. - Added StatsInfo locking in statsGroups sum function (Michał
  15096. Matczuk)
  15097. - asyncreader: Fix EOF error (buengese)
  15098. - check: Fix --one-way recursing more directories than it needs to
  15099. (Nick Craig-Wood)
  15100. - chunkedreader: Disable hash calculation for first segment (Nick
  15101. Craig-Wood)
  15102. - config
  15103. - Do not open browser on headless on drive/gcs/google photos
  15104. (Xiaoxing Ye)
  15105. - SetValueAndSave ignore error if config section does not
  15106. exist yet (buengese)
  15107. - cmd: Fix completion with an encrypted config (Danil Semelenov)
  15108. - dbhashsum: Stop it returning UNSUPPORTED on dropbox (Nick
  15109. Craig-Wood)
  15110. - dedupe: Add missing modes to help string (Nick Craig-Wood)
  15111. - operations
  15112. - Fix dedupe continuing on errors like
  15113. insufficientFilePermisson (SezalAgrawal)
  15114. - Clear accounting before low level retry (Maciej Zimnoch)
  15115. - Write debug message when hashes could not be checked (Ole
  15116. Schütt)
  15117. - Move interface assertion to tests to remove pflag dependency
  15118. (Nick Craig-Wood)
  15119. - Make NewOverrideObjectInfo public and factor uses (Nick
  15120. Craig-Wood)
  15121. - proxy: Replace use of bcrypt with sha256 (Nick Craig-Wood)
  15122. - vendor
  15123. - Update bazil.org/fuse to fix FreeBSD 12.1 (Nick Craig-Wood)
  15124. - Update github.com/t3rm1n4l/go-mega to fix mega “illegal
  15125. base64 data at input byte 22” (Nick Craig-Wood)
  15126. - Update termbox-go to fix ncdu command on FreeBSD (Kuang-che
  15127. Wu)
  15128. - Update t3rm1n4l/go-mega - fixes mega: couldn’t login:
  15129. crypto/aes: invalid key size 0 (Nick Craig-Wood)
  15130. - Mount
  15131. - Enable async reads for a 20% speedup (Nick Craig-Wood)
  15132. - Replace use of WriteAt with Write for cache mode >= writes and
  15133. O_APPEND (Brett Dutro)
  15134. - Make sure we call unmount when exiting (Nick Craig-Wood)
  15135. - Don’t build on go1.10 as bazil/fuse no longer supports it (Nick
  15136. Craig-Wood)
  15137. - When setting dates discard out of range dates (Nick Craig-Wood)
  15138. - VFS
  15139. - Add a newly created file straight into the directory (Nick
  15140. Craig-Wood)
  15141. - Only calculate one hash for reads for a speedup (Nick
  15142. Craig-Wood)
  15143. - Make ReadAt for non cached files work better with non-sequential
  15144. reads (Nick Craig-Wood)
  15145. - Fix edge cases when reading ModTime from file (Nick Craig-Wood)
  15146. - Make sure existing files opened for write show correct size
  15147. (Nick Craig-Wood)
  15148. - Don’t cache the path in RW file objects to fix renaming (Nick
  15149. Craig-Wood)
  15150. - Fix rename of open files when using the VFS cache (Nick
  15151. Craig-Wood)
  15152. - When renaming files in the cache, rename the cache item in
  15153. memory too (Nick Craig-Wood)
  15154. - Fix open file renaming on drive when using
  15155. --vfs-cache-mode writes (Nick Craig-Wood)
  15156. - Fix incorrect modtime for mv into mount with
  15157. --vfs-cache-modes writes (Nick Craig-Wood)
  15158. - On rename, rename in cache too if the file exists (Anagh Kumar
  15159. Baranwal)
  15160. - Local
  15161. - Make source file being updated errors be NoLowLevelRetry errors
  15162. (Nick Craig-Wood)
  15163. - Fix update of hidden files on Windows (Nick Craig-Wood)
  15164. - Cache
  15165. - Follow move of upstream library github.com/coreos/bbolt
  15166. github.com/etcd-io/bbolt (Nick Craig-Wood)
  15167. - Fix fatal error: concurrent map writes (Nick Craig-Wood)
  15168. - Crypt
  15169. - Reorder the filename encryption options (Thomas Eales)
  15170. - Correctly handle trailing dot (buengese)
  15171. - Chunker
  15172. - Reduce length of temporary suffix (Ivan Andreev)
  15173. - Drive
  15174. - Add --drive-stop-on-upload-limit flag to stop syncs when upload
  15175. limit reached (Nick Craig-Wood)
  15176. - Add --drive-use-shared-date to use date file was shared instead
  15177. of modified date (Garry McNulty)
  15178. - Make sure invalid auth for teamdrives always reports an error
  15179. (Nick Craig-Wood)
  15180. - Fix --fast-list when using appDataFolder (Nick Craig-Wood)
  15181. - Use multipart resumable uploads for streaming and uploads in
  15182. mount (Nick Craig-Wood)
  15183. - Log an ERROR if an incomplete search is returned (Nick
  15184. Craig-Wood)
  15185. - Hide dangerous config from the configurator (Nick Craig-Wood)
  15186. - Dropbox
  15187. - Treat insufficient_space errors as non retriable errors (Nick
  15188. Craig-Wood)
  15189. - Jottacloud
  15190. - Use new auth method used by official client (buengese)
  15191. - Add URL to generate Login Token to config wizard (Nick
  15192. Craig-Wood)
  15193. - Add support whitelabel versions (buengese)
  15194. - Koofr
  15195. - Use rclone HTTP client. (jaKa)
  15196. - Onedrive
  15197. - Add Sites.Read.All permission (Benjamin Richter)
  15198. - Add support “Retry-After” header (Motonori IWAMURO)
  15199. - Opendrive
  15200. - Implement --opendrive-chunk-size (Nick Craig-Wood)
  15201. - S3
  15202. - Re-implement multipart upload to fix memory issues (Nick
  15203. Craig-Wood)
  15204. - Add --s3-copy-cutoff for size to switch to multipart copy (Nick
  15205. Craig-Wood)
  15206. - Add new region Asia Patific (Hong Kong) (Outvi V)
  15207. - Reduce memory usage streaming files by reducing max stream
  15208. upload size (Nick Craig-Wood)
  15209. - Add --s3-list-chunk option for bucket listing (Thomas
  15210. Kriechbaumer)
  15211. - Force path style bucket access to off for AWS deprecation (Nick
  15212. Craig-Wood)
  15213. - Use AWS web identity role provider if available (Tennix)
  15214. - Fix ExpiryWindow value (Aleksandar Jankovic)
  15215. - Fix DisableChecksum condition (Aleksandar Janković)
  15216. - Fix URL decoding of NextMarker (Nick Craig-Wood)
  15217. - SFTP
  15218. - Add --sftp-skip-links to skip symlinks and non regular files
  15219. (Nick Craig-Wood)
  15220. - Retry Creation of Connection (Sebastian Brandt)
  15221. - Fix “failed to parse private key file: ssh: not an encrypted
  15222. key” error (Nick Craig-Wood)
  15223. - Open files for update write only to fix AWS SFTP interop (Nick
  15224. Craig-Wood)
  15225. - Swift
  15226. - Reserve segments of dynamic large object when delete objects in
  15227. container what was enabled versioning. (Nguyễn Hữu Luân)
  15228. - Fix parsing of X-Object-Manifest (Nick Craig-Wood)
  15229. - Update OVH API endpoint (unbelauscht)
  15230. - WebDAV
  15231. - Make nextcloud only upload SHA1 checksums (Nick Craig-Wood)
  15232. - Fix case of “Bearer” in Authorization: header to agree with RFC
  15233. (Nick Craig-Wood)
  15234. - Add Referer header to fix problems with WAFs (Nick Craig-Wood)
  15235. v1.50.2 - 2019-11-19
  15236. - Bug Fixes
  15237. - accounting: Fix memory leak on retries operations (Nick
  15238. Craig-Wood)
  15239. - Drive
  15240. - Fix listing of the root directory with drive.files scope (Nick
  15241. Craig-Wood)
  15242. - Fix –drive-root-folder-id with team/shared drives (Nick
  15243. Craig-Wood)
  15244. v1.50.1 - 2019-11-02
  15245. - Bug Fixes
  15246. - hash: Fix accidentally changed hash names for DropboxHash and
  15247. CRC-32 (Nick Craig-Wood)
  15248. - fshttp: Fix error reporting on tpslimit token bucket errors
  15249. (Nick Craig-Wood)
  15250. - fshttp: Don’t print token bucket errors on context cancelled
  15251. (Nick Craig-Wood)
  15252. - Local
  15253. - Fix listings of . on Windows (Nick Craig-Wood)
  15254. - Onedrive
  15255. - Fix DirMove/Move after Onedrive change (Xiaoxing Ye)
  15256. v1.50.0 - 2019-10-26
  15257. - New backends
  15258. - Citrix Sharefile (Nick Craig-Wood)
  15259. - Chunker - an overlay backend to split files into smaller parts
  15260. (Ivan Andreev)
  15261. - Mail.ru Cloud (Ivan Andreev)
  15262. - New Features
  15263. - encodings (Fabian Möller & Nick Craig-Wood)
  15264. - All backends now use file name encoding to ensure any file
  15265. name can be written to any backend.
  15266. - See the restricted file name docs for more info and the
  15267. local backend docs.
  15268. - Some file names may look different in rclone if you are
  15269. using any control characters in names or unicode FULLWIDTH
  15270. symbols.
  15271. - build
  15272. - Update to use go1.13 for the build (Nick Craig-Wood)
  15273. - Drop support for go1.9 (Nick Craig-Wood)
  15274. - Build rclone with GitHub actions (Nick Craig-Wood)
  15275. - Convert python scripts to python3 (Nick Craig-Wood)
  15276. - Swap Azure/go-ansiterm for mattn/go-colorable (Nick
  15277. Craig-Wood)
  15278. - Dockerfile fixes (Matei David)
  15279. - Add plugin support for backends and commands (Richard Patel)
  15280. - config
  15281. - Use alternating Red/Green in config to make more obvious
  15282. (Nick Craig-Wood)
  15283. - contrib
  15284. - Add sample DLNA server Docker Compose manifest. (pataquets)
  15285. - Add sample WebDAV server Docker Compose manifest.
  15286. (pataquets)
  15287. - copyurl
  15288. - Add --auto-filename flag for using file name from URL in
  15289. destination path (Denis)
  15290. - serve dlna:
  15291. - Many compatability improvements (Dan Walters)
  15292. - Support for external srt subtitles (Dan Walters)
  15293. - rc
  15294. - Added command core/quit (Saksham Khanna)
  15295. - Bug Fixes
  15296. - sync
  15297. - Make --update/-u not transfer files that haven’t changed
  15298. (Nick Craig-Wood)
  15299. - Free objects after they come out of the transfer pipe to
  15300. save memory (Nick Craig-Wood)
  15301. - Fix --files-from without --no-traverse doing a recursive
  15302. scan (Nick Craig-Wood)
  15303. - operations
  15304. - Fix accounting for server side copies (Nick Craig-Wood)
  15305. - Display ‘All duplicates removed’ only if dedupe successful
  15306. (Sezal Agrawal)
  15307. - Display ‘Deleted X extra copies’ only if dedupe successful
  15308. (Sezal Agrawal)
  15309. - accounting
  15310. - Only allow up to 100 completed transfers in the accounting
  15311. list to save memory (Nick Craig-Wood)
  15312. - Cull the old time ranges when possible to save memory (Nick
  15313. Craig-Wood)
  15314. - Fix panic due to server-side copy fallback (Ivan Andreev)
  15315. - Fix memory leak noticeable for transfers of large numbers of
  15316. objects (Nick Craig-Wood)
  15317. - Fix total duration calculation (Nick Craig-Wood)
  15318. - cmd
  15319. - Fix environment variables not setting command line flags
  15320. (Nick Craig-Wood)
  15321. - Make autocomplete compatible with bash’s posix mode for
  15322. macOS (Danil Semelenov)
  15323. - Make --progress work in git bash on Windows (Nick
  15324. Craig-Wood)
  15325. - Fix ‘compopt: command not found’ on autocomplete on macOS
  15326. (Danil Semelenov)
  15327. - config
  15328. - Fix setting of non top level flags from environment
  15329. variables (Nick Craig-Wood)
  15330. - Check config names more carefully and report errors (Nick
  15331. Craig-Wood)
  15332. - Remove error: can’t use --size-only and --ignore-size
  15333. together. (Nick Craig-Wood)
  15334. - filter: Prevent mixing options when --files-from is in use
  15335. (Michele Caci)
  15336. - serve sftp: Fix crash on unsupported operations (eg Readlink)
  15337. (Nick Craig-Wood)
  15338. - Mount
  15339. - Allow files of unkown size to be read properly (Nick Craig-Wood)
  15340. - Skip tests on <= 2 CPUs to avoid lockup (Nick Craig-Wood)
  15341. - Fix panic on File.Open (Nick Craig-Wood)
  15342. - Fix “mount_fusefs: -o timeout=: option not supported” on FreeBSD
  15343. (Nick Craig-Wood)
  15344. - Don’t pass huge filenames (>4k) to FUSE as it can’t cope (Nick
  15345. Craig-Wood)
  15346. - VFS
  15347. - Add flag --vfs-case-insensitive for windows/macOS mounts (Ivan
  15348. Andreev)
  15349. - Make objects of unknown size readable through the VFS (Nick
  15350. Craig-Wood)
  15351. - Move writeback of dirty data out of close() method into its own
  15352. method (FlushWrites) and remove close() call from Flush() (Brett
  15353. Dutro)
  15354. - Stop empty dirs disappearing when renamed on bucket based
  15355. remotes (Nick Craig-Wood)
  15356. - Stop change notify polling clearing so much of the directory
  15357. cache (Nick Craig-Wood)
  15358. - Azure Blob
  15359. - Disable logging to the Windows event log (Nick Craig-Wood)
  15360. - B2
  15361. - Remove unverified: prefix on sha1 to improve interop (eg with
  15362. CyberDuck) (Nick Craig-Wood)
  15363. - Box
  15364. - Add options to get access token via JWT auth (David)
  15365. - Drive
  15366. - Disable HTTP/2 by default to work around INTERNAL_ERROR problems
  15367. (Nick Craig-Wood)
  15368. - Make sure that drive root ID is always canonical (Nick
  15369. Craig-Wood)
  15370. - Fix --drive-shared-with-me from the root with lsand --fast-list
  15371. (Nick Craig-Wood)
  15372. - Fix ChangeNotify polling for shared drives (Nick Craig-Wood)
  15373. - Fix change notify polling when using appDataFolder (Nick
  15374. Craig-Wood)
  15375. - Dropbox
  15376. - Make disallowed filenames errors not retry (Nick Craig-Wood)
  15377. - Fix nil pointer exception on restricted files (Nick Craig-Wood)
  15378. - Fichier
  15379. - Fix accessing files > 2GB on 32 bit systems (Nick Craig-Wood)
  15380. - FTP
  15381. - Allow disabling EPSV mode (Jon Fautley)
  15382. - HTTP
  15383. - HEAD directory entries in parallel to speedup (Nick Craig-Wood)
  15384. - Add --http-no-head to stop rclone doing HEAD in listings (Nick
  15385. Craig-Wood)
  15386. - Putio
  15387. - Add ability to resume uploads (Cenk Alti)
  15388. - S3
  15389. - Fix signature v2_auth headers (Anthony Rusdi)
  15390. - Fix encoding for control characters (Nick Craig-Wood)
  15391. - Only ask for URL encoded directory listings if we need them on
  15392. Ceph (Nick Craig-Wood)
  15393. - Add option for multipart failiure behaviour (Aleksandar
  15394. Jankovic)
  15395. - Support for multipart copy (庄天翼)
  15396. - Fix nil pointer reference if no metadata returned for object
  15397. (Nick Craig-Wood)
  15398. - SFTP
  15399. - Fix --sftp-ask-password trying to contact the ssh agent (Nick
  15400. Craig-Wood)
  15401. - Fix hashes of files with backslashes (Nick Craig-Wood)
  15402. - Include more ciphers with --sftp-use-insecure-cipher (Carlos
  15403. Ferreyra)
  15404. - WebDAV
  15405. - Parse and return Sharepoint error response (Henning Surmeier)
  15406. v1.49.5 - 2019-10-05
  15407. - Bug Fixes
  15408. - Revert back to go1.12.x for the v1.49.x builds as go1.13.x was
  15409. causing issues (Nick Craig-Wood)
  15410. - Fix rpm packages by using master builds of nfpm (Nick
  15411. Craig-Wood)
  15412. - Fix macOS build after brew changes (Nick Craig-Wood)
  15413. v1.49.4 - 2019-09-29
  15414. - Bug Fixes
  15415. - cmd/rcd: Address ZipSlip vulnerability (Richard Patel)
  15416. - accounting: Fix file handle leak on errors (Nick Craig-Wood)
  15417. - oauthutil: Fix security problem when running with two users on
  15418. the same machine (Nick Craig-Wood)
  15419. - FTP
  15420. - Fix listing of an empty root returning: error dir not found
  15421. (Nick Craig-Wood)
  15422. - S3
  15423. - Fix SetModTime on GLACIER/ARCHIVE objects and implement set/get
  15424. tier (Nick Craig-Wood)
  15425. v1.49.3 - 2019-09-15
  15426. - Bug Fixes
  15427. - accounting
  15428. - Fix total duration calculation (Aleksandar Jankovic)
  15429. - Fix “file already closed” on transfer retries (Nick
  15430. Craig-Wood)
  15431. v1.49.2 - 2019-09-08
  15432. - New Features
  15433. - build: Add Docker workflow support (Alfonso Montero)
  15434. - Bug Fixes
  15435. - accounting: Fix locking in Transfer to avoid deadlock with
  15436. --progress (Nick Craig-Wood)
  15437. - docs: Fix template argument for mktemp in install.sh (Cnly)
  15438. - operations: Fix -u/--update with google photos / files of
  15439. unknown size (Nick Craig-Wood)
  15440. - rc: Fix docs for config/create /update /password (Nick
  15441. Craig-Wood)
  15442. - Google Cloud Storage
  15443. - Fix need for elevated permissions on SetModTime (Nick
  15444. Craig-Wood)
  15445. v1.49.1 - 2019-08-28
  15446. - Bug Fixes
  15447. - config: Fix generated passwords being stored as empty password
  15448. (Nick Craig-Wood)
  15449. - rcd: Added missing parameter for web-gui info logs. (Chaitanya)
  15450. - Googlephotos
  15451. - Fix crash on error response (Nick Craig-Wood)
  15452. - Onedrive
  15453. - Fix crash on error response (Nick Craig-Wood)
  15454. v1.49.0 - 2019-08-26
  15455. - New backends
  15456. - 1fichier (Laura Hausmann)
  15457. - Google Photos (Nick Craig-Wood)
  15458. - Putio (Cenk Alti)
  15459. - premiumize.me (Nick Craig-Wood)
  15460. - New Features
  15461. - Experimental web GUI (Chaitanya Bankanhal)
  15462. - Implement --compare-dest & --copy-dest (yparitcher)
  15463. - Implement --suffix without --backup-dir for backup to current
  15464. dir (yparitcher)
  15465. - config reconnect to re-login (re-run the oauth login) for the
  15466. backend. (Nick Craig-Wood)
  15467. - config userinfo to discover which user you are logged in as.
  15468. (Nick Craig-Wood)
  15469. - config disconnect to disconnect you (log out) from the backend.
  15470. (Nick Craig-Wood)
  15471. - Add --use-json-log for JSON logging (justinalin)
  15472. - Add context propagation to rclone (Aleksandar Jankovic)
  15473. - Reworking internal statistics interfaces so they work with rc
  15474. jobs (Aleksandar Jankovic)
  15475. - Add Higher units for ETA (AbelThar)
  15476. - Update rclone logos to new design (Andreas Chlupka)
  15477. - hash: Add CRC-32 support (Cenk Alti)
  15478. - help showbackend: Fixed advanced option category when there are
  15479. no standard options (buengese)
  15480. - ncdu: Display/Copy to Clipboard Current Path (Gary Kim)
  15481. - operations:
  15482. - Run hashing operations in parallel (Nick Craig-Wood)
  15483. - Don’t calculate checksums when using --ignore-checksum (Nick
  15484. Craig-Wood)
  15485. - Check transfer hashes when using --size-only mode (Nick
  15486. Craig-Wood)
  15487. - Disable multi thread copy for local to local copies (Nick
  15488. Craig-Wood)
  15489. - Debug successful hashes as well as failures (Nick
  15490. Craig-Wood)
  15491. - rc
  15492. - Add ability to stop async jobs (Aleksandar Jankovic)
  15493. - Return current settings if core/bwlimit called without
  15494. parameters (Nick Craig-Wood)
  15495. - Rclone-WebUI integration with rclone (Chaitanya Bankanhal)
  15496. - Added command line parameter to control the cross origin
  15497. resource sharing (CORS) in the rcd. (Security Improvement)
  15498. (Chaitanya Bankanhal)
  15499. - Add anchor tags to the docs so links are consistent (Nick
  15500. Craig-Wood)
  15501. - Remove _async key from input parameters after parsing so
  15502. later operations won’t get confused (buengese)
  15503. - Add call to clear stats (Aleksandar Jankovic)
  15504. - rcd
  15505. - Auto-login for web-gui (Chaitanya Bankanhal)
  15506. - Implement --baseurl for rcd and web-gui (Chaitanya
  15507. Bankanhal)
  15508. - serve dlna
  15509. - Only select interfaces which can multicast for SSDP (Nick
  15510. Craig-Wood)
  15511. - Add more builtin mime types to cover standard audio/video
  15512. (Nick Craig-Wood)
  15513. - Fix missing mime types on Android causing missing videos
  15514. (Nick Craig-Wood)
  15515. - serve ftp
  15516. - Refactor to bring into line with other serve commands (Nick
  15517. Craig-Wood)
  15518. - Implement --auth-proxy (Nick Craig-Wood)
  15519. - serve http: Implement --baseurl (Nick Craig-Wood)
  15520. - serve restic: Implement --baseurl (Nick Craig-Wood)
  15521. - serve sftp
  15522. - Implement auth proxy (Nick Craig-Wood)
  15523. - Fix detection of whether server is authorized (Nick
  15524. Craig-Wood)
  15525. - serve webdav
  15526. - Implement --baseurl (Nick Craig-Wood)
  15527. - Support --auth-proxy (Nick Craig-Wood)
  15528. - Bug Fixes
  15529. - Make “bad record MAC” a retriable error (Nick Craig-Wood)
  15530. - copyurl: Fix copying files that return HTTP errors (Nick
  15531. Craig-Wood)
  15532. - march: Fix checking sub-directories when using --no-traverse
  15533. (buengese)
  15534. - rc
  15535. - Fix unmarshalable http.AuthFn in options and put in test for
  15536. marshalability (Nick Craig-Wood)
  15537. - Move job expire flags to rc to fix initalization problem
  15538. (Nick Craig-Wood)
  15539. - Fix --loopback with rc/list and others (Nick Craig-Wood)
  15540. - rcat: Fix slowdown on systems with multiple hashes (Nick
  15541. Craig-Wood)
  15542. - rcd: Fix permissions problems on cache directory with web gui
  15543. download (Nick Craig-Wood)
  15544. - Mount
  15545. - Default --deamon-timout to 15 minutes on macOS and FreeBSD (Nick
  15546. Craig-Wood)
  15547. - Update docs to show mounting from root OK for bucket based (Nick
  15548. Craig-Wood)
  15549. - Remove nonseekable flag from write files (Nick Craig-Wood)
  15550. - VFS
  15551. - Make write without cache more efficient (Nick Craig-Wood)
  15552. - Fix --vfs-cache-mode minimal and writes ignoring cached files
  15553. (Nick Craig-Wood)
  15554. - Local
  15555. - Add --local-case-sensitive and --local-case-insensitive (Nick
  15556. Craig-Wood)
  15557. - Avoid polluting page cache when uploading local files to remote
  15558. backends (Michał Matczuk)
  15559. - Don’t calculate any hashes by default (Nick Craig-Wood)
  15560. - Fadvise run syscall on a dedicated go routine (Michał Matczuk)
  15561. - Azure Blob
  15562. - Azure Storage Emulator support (Sandeep)
  15563. - Updated config help details to remove connection string
  15564. references (Sandeep)
  15565. - Make all operations work from the root (Nick Craig-Wood)
  15566. - B2
  15567. - Implement link sharing (yparitcher)
  15568. - Enable server side copy to copy between buckets (Nick
  15569. Craig-Wood)
  15570. - Make all operations work from the root (Nick Craig-Wood)
  15571. - Drive
  15572. - Fix server side copy of big files (Nick Craig-Wood)
  15573. - Update API for teamdrive use (Nick Craig-Wood)
  15574. - Add error for purge with --drive-trashed-only (ginvine)
  15575. - Fichier
  15576. - Make FolderID int and adjust related code (buengese)
  15577. - Google Cloud Storage
  15578. - Reduce oauth scope requested as suggested by Google (Nick
  15579. Craig-Wood)
  15580. - Make all operations work from the root (Nick Craig-Wood)
  15581. - HTTP
  15582. - Add --http-headers flag for setting arbitrary headers (Nick
  15583. Craig-Wood)
  15584. - Jottacloud
  15585. - Use new api for retrieving internal username (buengese)
  15586. - Refactor configuration and minor cleanup (buengese)
  15587. - Koofr
  15588. - Support setting modification times on Koofr backend. (jaKa)
  15589. - Opendrive
  15590. - Refactor to use existing lib/rest facilities for uploads (Nick
  15591. Craig-Wood)
  15592. - Qingstor
  15593. - Upgrade to v3 SDK and fix listing loop (Nick Craig-Wood)
  15594. - Make all operations work from the root (Nick Craig-Wood)
  15595. - S3
  15596. - Add INTELLIGENT_TIERING storage class (Matti Niemenmaa)
  15597. - Make all operations work from the root (Nick Craig-Wood)
  15598. - SFTP
  15599. - Add missing interface check and fix About (Nick Craig-Wood)
  15600. - Completely ignore all modtime checks if SetModTime=false (Jon
  15601. Fautley)
  15602. - Support md5/sha1 with rsync.net (Nick Craig-Wood)
  15603. - Save the md5/sha1 command in use to the config file for
  15604. efficiency (Nick Craig-Wood)
  15605. - Opt-in support for diffie-hellman-group-exchange-sha256
  15606. diffie-hellman-group-exchange-sha1 (Yi FU)
  15607. - Swift
  15608. - Use FixRangeOption to fix 0 length files via the VFS (Nick
  15609. Craig-Wood)
  15610. - Fix upload when using no_chunk to return the correct size (Nick
  15611. Craig-Wood)
  15612. - Make all operations work from the root (Nick Craig-Wood)
  15613. - Fix segments leak during failed large file uploads.
  15614. (nguyenhuuluan434)
  15615. - WebDAV
  15616. - Add --webdav-bearer-token-command (Nick Craig-Wood)
  15617. - Refresh token when it expires with --webdav-bearer-token-command
  15618. (Nick Craig-Wood)
  15619. - Add docs for using bearer_token_command with oidc-agent (Paul
  15620. Millar)
  15621. v1.48.0 - 2019-06-15
  15622. - New commands
  15623. - serve sftp: Serve an rclone remote over SFTP (Nick Craig-Wood)
  15624. - New Features
  15625. - Multi threaded downloads to local storage (Nick Craig-Wood)
  15626. - controlled with --multi-thread-cutoff and
  15627. --multi-thread-streams
  15628. - Use rclone.conf from rclone executable directory to enable
  15629. portable use (albertony)
  15630. - Allow sync of a file and a directory with the same name
  15631. (forgems)
  15632. - this is common on bucket based remotes, eg s3, gcs
  15633. - Add --ignore-case-sync for forced case insensitivity (garry415)
  15634. - Implement --stats-one-line-date and --stats-one-line-date-format
  15635. (Peter Berbec)
  15636. - Log an ERROR for all commands which exit with non-zero status
  15637. (Nick Craig-Wood)
  15638. - Use go-homedir to read the home directory more reliably (Nick
  15639. Craig-Wood)
  15640. - Enable creating encrypted config through external script
  15641. invocation (Wojciech Smigielski)
  15642. - build: Drop support for go1.8 (Nick Craig-Wood)
  15643. - config: Make config create/update encrypt passwords where
  15644. necessary (Nick Craig-Wood)
  15645. - copyurl: Honor --no-check-certificate (Stefan Breunig)
  15646. - install: Linux skip man pages if no mandb (didil)
  15647. - lsf: Support showing the Tier of the object (Nick Craig-Wood)
  15648. - lsjson
  15649. - Added EncryptedPath to output (calisro)
  15650. - Support showing the Tier of the object (Nick Craig-Wood)
  15651. - Add IsBucket field for bucket based remote listing of the
  15652. root (Nick Craig-Wood)
  15653. - rc
  15654. - Add --loopback flag to run commands directly without a
  15655. server (Nick Craig-Wood)
  15656. - Add operations/fsinfo: Return information about the remote
  15657. (Nick Craig-Wood)
  15658. - Skip auth for OPTIONS request (Nick Craig-Wood)
  15659. - cmd/providers: Add DefaultStr, ValueStr and Type fields
  15660. (Nick Craig-Wood)
  15661. - jobs: Make job expiry timeouts configurable (Aleksandar
  15662. Jankovic)
  15663. - serve dlna reworked and improved (Dan Walters)
  15664. - serve ftp: add --ftp-public-ip flag to specify public IP
  15665. (calistri)
  15666. - serve restic: Add support for --private-repos in serve restic
  15667. (Florian Apolloner)
  15668. - serve webdav: Combine serve webdav and serve http (Gary Kim)
  15669. - size: Ignore negative sizes when calculating total (Garry
  15670. McNulty)
  15671. - Bug Fixes
  15672. - Make move and copy individual files obey --backup-dir (Nick
  15673. Craig-Wood)
  15674. - If --ignore-checksum is in effect, don’t calculate checksum
  15675. (Nick Craig-Wood)
  15676. - moveto: Fix case-insensitive same remote move (Gary Kim)
  15677. - rc: Fix serving bucket based objects with --rc-serve (Nick
  15678. Craig-Wood)
  15679. - serve webdav: Fix serveDir not being updated with changes from
  15680. webdav (Gary Kim)
  15681. - Mount
  15682. - Fix poll interval documentation (Animosity022)
  15683. - VFS
  15684. - Make WriteAt for non cached files work with non-sequential
  15685. writes (Nick Craig-Wood)
  15686. - Local
  15687. - Only calculate the required hashes for big speedup (Nick
  15688. Craig-Wood)
  15689. - Log errors when listing instead of returning an error (Nick
  15690. Craig-Wood)
  15691. - Fix preallocate warning on Linux with ZFS (Nick Craig-Wood)
  15692. - Crypt
  15693. - Make rclone dedupe work through crypt (Nick Craig-Wood)
  15694. - Fix wrapping of ChangeNotify to decrypt directories properly
  15695. (Nick Craig-Wood)
  15696. - Support PublicLink (rclone link) of underlying backend (Nick
  15697. Craig-Wood)
  15698. - Implement Optional methods SetTier, GetTier (Nick Craig-Wood)
  15699. - B2
  15700. - Implement server side copy (Nick Craig-Wood)
  15701. - Implement SetModTime (Nick Craig-Wood)
  15702. - Drive
  15703. - Fix move and copy from TeamDrive to GDrive (Fionera)
  15704. - Add notes that cleanup works in the background on drive (Nick
  15705. Craig-Wood)
  15706. - Add --drive-server-side-across-configs to default back to old
  15707. server side copy semantics by default (Nick Craig-Wood)
  15708. - Add --drive-size-as-quota to show storage quota usage for file
  15709. size (Garry McNulty)
  15710. - FTP
  15711. - Add FTP List timeout (Jeff Quinn)
  15712. - Add FTP over TLS support (Gary Kim)
  15713. - Add --ftp-no-check-certificate option for FTPS (Gary Kim)
  15714. - Google Cloud Storage
  15715. - Fix upload errors when uploading pre 1970 files (Nick
  15716. Craig-Wood)
  15717. - Jottacloud
  15718. - Add support for selecting device and mountpoint. (buengese)
  15719. - Mega
  15720. - Add cleanup support (Gary Kim)
  15721. - Onedrive
  15722. - More accurately check if root is found (Cnly)
  15723. - S3
  15724. - Suppport S3 Accelerated endpoints with
  15725. --s3-use-accelerate-endpoint (Nick Craig-Wood)
  15726. - Add config info for Wasabi’s EU Central endpoint (Robert Marko)
  15727. - Make SetModTime work for GLACIER while syncing (Philip Harvey)
  15728. - SFTP
  15729. - Add About support (Gary Kim)
  15730. - Fix about parsing of df results so it can cope with -ve results
  15731. (Nick Craig-Wood)
  15732. - Send custom client version and debug server version (Nick
  15733. Craig-Wood)
  15734. - WebDAV
  15735. - Retry on 423 Locked errors (Nick Craig-Wood)
  15736. v1.47.0 - 2019-04-13
  15737. - New backends
  15738. - Backend for Koofr cloud storage service. (jaKa)
  15739. - New Features
  15740. - Resume downloads if the reader fails in copy (Nick Craig-Wood)
  15741. - this means rclone will restart transfers if the source has
  15742. an error
  15743. - this is most useful for downloads or cloud to cloud copies
  15744. - Use --fast-list for listing operations where it won’t use more
  15745. memory (Nick Craig-Wood)
  15746. - this should speed up the following operations on remotes
  15747. which support ListR
  15748. - dedupe, serve restic lsf, ls, lsl, lsjson, lsd, md5sum,
  15749. sha1sum, hashsum, size, delete, cat, settier
  15750. - use --disable ListR to get old behaviour if required
  15751. - Make --files-from traverse the destination unless --no-traverse
  15752. is set (Nick Craig-Wood)
  15753. - this fixes --files-from with Google drive and excessive API
  15754. use in general.
  15755. - Make server side copy account bytes and obey --max-transfer
  15756. (Nick Craig-Wood)
  15757. - Add --create-empty-src-dirs flag and default to not creating
  15758. empty dirs (ishuah)
  15759. - Add client side TLS/SSL flags
  15760. --ca-cert/--client-cert/--client-key (Nick Craig-Wood)
  15761. - Implement --suffix-keep-extension for use with --suffix (Nick
  15762. Craig-Wood)
  15763. - build:
  15764. - Switch to semvar compliant version tags to be go modules
  15765. compliant (Nick Craig-Wood)
  15766. - Update to use go1.12.x for the build (Nick Craig-Wood)
  15767. - serve dlna: Add connection manager service description to
  15768. improve compatibility (Dan Walters)
  15769. - lsf: Add ‘e’ format to show encrypted names and ‘o’ for original
  15770. IDs (Nick Craig-Wood)
  15771. - lsjson: Added --files-only and --dirs-only flags (calistri)
  15772. - rc: Implement operations/publiclink the equivalent of
  15773. rclone link (Nick Craig-Wood)
  15774. - Bug Fixes
  15775. - accounting: Fix total ETA when --stats-unit bits is in effect
  15776. (Nick Craig-Wood)
  15777. - Bash TAB completion
  15778. - Use private custom func to fix clash between rclone and
  15779. kubectl (Nick Craig-Wood)
  15780. - Fix for remotes with underscores in their names (Six)
  15781. - Fix completion of remotes (Florian Gamböck)
  15782. - Fix autocompletion of remote paths with spaces (Danil
  15783. Semelenov)
  15784. - serve dlna: Fix root XML service descriptor (Dan Walters)
  15785. - ncdu: Fix display corruption with Chinese characters (Nick
  15786. Craig-Wood)
  15787. - Add SIGTERM to signals which run the exit handlers on unix (Nick
  15788. Craig-Wood)
  15789. - rc: Reload filter when the options are set via the rc (Nick
  15790. Craig-Wood)
  15791. - VFS / Mount
  15792. - Fix FreeBSD: Ignore Truncate if called with no readers and
  15793. already the correct size (Nick Craig-Wood)
  15794. - Read directory and check for a file before mkdir (Nick
  15795. Craig-Wood)
  15796. - Shorten the locking window for vfs/refresh (Nick Craig-Wood)
  15797. - Azure Blob
  15798. - Enable MD5 checksums when uploading files bigger than the
  15799. “Cutoff” (Dr.Rx)
  15800. - Fix SAS URL support (Nick Craig-Wood)
  15801. - B2
  15802. - Allow manual configuration of backblaze downloadUrl (Vince)
  15803. - Ignore already_hidden error on remove (Nick Craig-Wood)
  15804. - Ignore malformed src_last_modified_millis (Nick Craig-Wood)
  15805. - Drive
  15806. - Add --skip-checksum-gphotos to ignore incorrect checksums on
  15807. Google Photos (Nick Craig-Wood)
  15808. - Allow server side move/copy between different remotes. (Fionera)
  15809. - Add docs on team drives and --fast-list eventual consistency
  15810. (Nestar47)
  15811. - Fix imports of text files (Nick Craig-Wood)
  15812. - Fix range requests on 0 length files (Nick Craig-Wood)
  15813. - Fix creation of duplicates with server side copy (Nick
  15814. Craig-Wood)
  15815. - Dropbox
  15816. - Retry blank errors to fix long listings (Nick Craig-Wood)
  15817. - FTP
  15818. - Add --ftp-concurrency to limit maximum number of connections
  15819. (Nick Craig-Wood)
  15820. - Google Cloud Storage
  15821. - Fall back to default application credentials (marcintustin)
  15822. - Allow bucket policy only buckets (Nick Craig-Wood)
  15823. - HTTP
  15824. - Add --http-no-slash for websites with directories with no
  15825. slashes (Nick Craig-Wood)
  15826. - Remove duplicates from listings (Nick Craig-Wood)
  15827. - Fix socket leak on 404 errors (Nick Craig-Wood)
  15828. - Jottacloud
  15829. - Fix token refresh (Sebastian Bünger)
  15830. - Add device registration (Oliver Heyme)
  15831. - Onedrive
  15832. - Implement graceful cancel of multipart uploads if rclone is
  15833. interrupted (Cnly)
  15834. - Always add trailing colon to path when addressing items, (Cnly)
  15835. - Return errors instead of panic for invalid uploads (Fabian
  15836. Möller)
  15837. - S3
  15838. - Add support for “Glacier Deep Archive” storage class (Manu)
  15839. - Update Dreamhost endpoint (Nick Craig-Wood)
  15840. - Note incompatibility with CEPH Jewel (Nick Craig-Wood)
  15841. - SFTP
  15842. - Allow custom ssh client config (Alexandru Bumbacea)
  15843. - Swift
  15844. - Obey Retry-After to enable OVH restore from cold storage (Nick
  15845. Craig-Wood)
  15846. - Work around token expiry on CEPH (Nick Craig-Wood)
  15847. - WebDAV
  15848. - Allow IsCollection property to be integer or boolean (Nick
  15849. Craig-Wood)
  15850. - Fix race when creating directories (Nick Craig-Wood)
  15851. - Fix About/df when reading the available/total returns 0 (Nick
  15852. Craig-Wood)
  15853. v1.46 - 2019-02-09
  15854. - New backends
  15855. - Support Alibaba Cloud (Aliyun) OSS via the s3 backend (Nick
  15856. Craig-Wood)
  15857. - New commands
  15858. - serve dlna: serves a remove via DLNA for the local network
  15859. (nicolov)
  15860. - New Features
  15861. - copy, move: Restore deprecated --no-traverse flag (Nick
  15862. Craig-Wood)
  15863. - This is useful for when transferring a small number of files
  15864. into a large destination
  15865. - genautocomplete: Add remote path completion for bash completion
  15866. (Christopher Peterson & Danil Semelenov)
  15867. - Buffer memory handling reworked to return memory to the OS
  15868. better (Nick Craig-Wood)
  15869. - Buffer recycling library to replace sync.Pool
  15870. - Optionally use memory mapped memory for better memory
  15871. shrinking
  15872. - Enable with --use-mmap if having memory problems - not
  15873. default yet
  15874. - Parallelise reading of files specified by --files-from (Nick
  15875. Craig-Wood)
  15876. - check: Add stats showing total files matched. (Dario Guzik)
  15877. - Allow rename/delete open files under Windows (Nick Craig-Wood)
  15878. - lsjson: Use exactly the correct number of decimal places in the
  15879. seconds (Nick Craig-Wood)
  15880. - Add cookie support with cmdline switch --use-cookies for all
  15881. HTTP based remotes (qip)
  15882. - Warn if --checksum is set but there are no hashes available
  15883. (Nick Craig-Wood)
  15884. - Rework rate limiting (pacer) to be more accurate and allow
  15885. bursting (Nick Craig-Wood)
  15886. - Improve error reporting for too many/few arguments in commands
  15887. (Nick Craig-Wood)
  15888. - listremotes: Remove -l short flag as it conflicts with the new
  15889. global flag (weetmuts)
  15890. - Make http serving with auth generate INFO messages on auth fail
  15891. (Nick Craig-Wood)
  15892. - Bug Fixes
  15893. - Fix layout of stats (Nick Craig-Wood)
  15894. - Fix --progress crash under Windows Jenkins (Nick Craig-Wood)
  15895. - Fix transfer of google/onedrive docs by calling Rcat in Copy
  15896. when size is -1 (Cnly)
  15897. - copyurl: Fix checking of --dry-run (Denis Skovpen)
  15898. - Mount
  15899. - Check that mountpoint and local directory to mount don’t overlap
  15900. (Nick Craig-Wood)
  15901. - Fix mount size under 32 bit Windows (Nick Craig-Wood)
  15902. - VFS
  15903. - Implement renaming of directories for backends without DirMove
  15904. (Nick Craig-Wood)
  15905. - now all backends except b2 support renaming directories
  15906. - Implement --vfs-cache-max-size to limit the total size of the
  15907. cache (Nick Craig-Wood)
  15908. - Add --dir-perms and --file-perms flags to set default
  15909. permissions (Nick Craig-Wood)
  15910. - Fix deadlock on concurrent operations on a directory (Nick
  15911. Craig-Wood)
  15912. - Fix deadlock between RWFileHandle.close and File.Remove (Nick
  15913. Craig-Wood)
  15914. - Fix renaming/deleting open files with cache mode “writes” under
  15915. Windows (Nick Craig-Wood)
  15916. - Fix panic on rename with --dry-run set (Nick Craig-Wood)
  15917. - Fix vfs/refresh with recurse=true needing the --fast-list flag
  15918. - Local
  15919. - Add support for -l/--links (symbolic link translation)
  15920. (yair@unicorn)
  15921. - this works by showing links as link.rclonelink - see local
  15922. backend docs for more info
  15923. - this errors if used with -L/--copy-links
  15924. - Fix renaming/deleting open files on Windows (Nick Craig-Wood)
  15925. - Crypt
  15926. - Check for maximum length before decrypting filename to fix panic
  15927. (Garry McNulty)
  15928. - Azure Blob
  15929. - Allow building azureblob backend on *BSD (themylogin)
  15930. - Use the rclone HTTP client to support --dump headers, --tpslimit
  15931. etc (Nick Craig-Wood)
  15932. - Use the s3 pacer for 0 delay in non error conditions (Nick
  15933. Craig-Wood)
  15934. - Ignore directory markers (Nick Craig-Wood)
  15935. - Stop Mkdir attempting to create existing containers (Nick
  15936. Craig-Wood)
  15937. - B2
  15938. - cleanup: will remove unfinished large files >24hrs old (Garry
  15939. McNulty)
  15940. - For a bucket limited application key check the bucket name (Nick
  15941. Craig-Wood)
  15942. - before this, rclone would use the authorised bucket
  15943. regardless of what you put on the command line
  15944. - Added --b2-disable-checksum flag (Wojciech Smigielski)
  15945. - this enables large files to be uploaded without a SHA-1 hash
  15946. for speed reasons
  15947. - Drive
  15948. - Set default pacer to 100ms for 10 tps (Nick Craig-Wood)
  15949. - This fits the Google defaults much better and reduces the
  15950. 403 errors massively
  15951. - Add --drive-pacer-min-sleep and --drive-pacer-burst to
  15952. control the pacer
  15953. - Improve ChangeNotify support for items with multiple parents
  15954. (Fabian Möller)
  15955. - Fix ListR for items with multiple parents - this fixes oddities
  15956. with vfs/refresh (Fabian Möller)
  15957. - Fix using --drive-impersonate and appfolders (Nick Craig-Wood)
  15958. - Fix google docs in rclone mount for some (not all) applications
  15959. (Nick Craig-Wood)
  15960. - Dropbox
  15961. - Retry-After support for Dropbox backend (Mathieu Carbou)
  15962. - FTP
  15963. - Wait for 60 seconds for a connection to Close then declare it
  15964. dead (Nick Craig-Wood)
  15965. - helps with indefinite hangs on some FTP servers
  15966. - Google Cloud Storage
  15967. - Update google cloud storage endpoints (weetmuts)
  15968. - HTTP
  15969. - Add an example with username and password which is supported but
  15970. wasn’t documented (Nick Craig-Wood)
  15971. - Fix backend with --files-from and non-existent files (Nick
  15972. Craig-Wood)
  15973. - Hubic
  15974. - Make error message more informative if authentication fails
  15975. (Nick Craig-Wood)
  15976. - Jottacloud
  15977. - Resume and deduplication support (Oliver Heyme)
  15978. - Use token auth for all API requests Don’t store password anymore
  15979. (Sebastian Bünger)
  15980. - Add support for 2-factor authentification (Sebastian Bünger)
  15981. - Mega
  15982. - Implement v2 account login which fixes logins for newer Mega
  15983. accounts (Nick Craig-Wood)
  15984. - Return error if an unknown length file is attempted to be
  15985. uploaded (Nick Craig-Wood)
  15986. - Add new error codes for better error reporting (Nick Craig-Wood)
  15987. - Onedrive
  15988. - Fix broken support for “shared with me” folders (Alex Chen)
  15989. - Fix root ID not normalised (Cnly)
  15990. - Return err instead of panic on unknown-sized uploads (Cnly)
  15991. - Qingstor
  15992. - Fix go routine leak on multipart upload errors (Nick Craig-Wood)
  15993. - Add upload chunk size/concurrency/cutoff control (Nick
  15994. Craig-Wood)
  15995. - Default --qingstor-upload-concurrency to 1 to work around bug
  15996. (Nick Craig-Wood)
  15997. - S3
  15998. - Implement --s3-upload-cutoff for single part uploads below this
  15999. (Nick Craig-Wood)
  16000. - Change --s3-upload-concurrency default to 4 to increase
  16001. perfomance (Nick Craig-Wood)
  16002. - Add --s3-bucket-acl to control bucket ACL (Nick Craig-Wood)
  16003. - Auto detect region for buckets on operation failure (Nick
  16004. Craig-Wood)
  16005. - Add GLACIER storage class (William Cocker)
  16006. - Add Scaleway to s3 documentation (Rémy Léone)
  16007. - Add AWS endpoint eu-north-1 (weetmuts)
  16008. - SFTP
  16009. - Add support for PEM encrypted private keys (Fabian Möller)
  16010. - Add option to force the usage of an ssh-agent (Fabian Möller)
  16011. - Perform environment variable expansion on key-file (Fabian
  16012. Möller)
  16013. - Fix rmdir on Windows based servers (eg CrushFTP) (Nick
  16014. Craig-Wood)
  16015. - Fix rmdir deleting directory contents on some SFTP servers (Nick
  16016. Craig-Wood)
  16017. - Fix error on dangling symlinks (Nick Craig-Wood)
  16018. - Swift
  16019. - Add --swift-no-chunk to disable segmented uploads in rcat/mount
  16020. (Nick Craig-Wood)
  16021. - Introduce application credential auth support (kayrus)
  16022. - Fix memory usage by slimming Object (Nick Craig-Wood)
  16023. - Fix extra requests on upload (Nick Craig-Wood)
  16024. - Fix reauth on big files (Nick Craig-Wood)
  16025. - Union
  16026. - Fix poll-interval not working (Nick Craig-Wood)
  16027. - WebDAV
  16028. - Support About which means rclone mount will show the correct
  16029. disk size (Nick Craig-Wood)
  16030. - Support MD5 and SHA1 hashes with Owncloud and Nextcloud (Nick
  16031. Craig-Wood)
  16032. - Fail soft on time parsing errors (Nick Craig-Wood)
  16033. - Fix infinite loop on failed directory creation (Nick Craig-Wood)
  16034. - Fix identification of directories for Bitrix Site Manager (Nick
  16035. Craig-Wood)
  16036. - Fix upload of 0 length files on some servers (Nick Craig-Wood)
  16037. - Fix if MKCOL fails with 423 Locked assume the directory exists
  16038. (Nick Craig-Wood)
  16039. v1.45 - 2018-11-24
  16040. - New backends
  16041. - The Yandex backend was re-written - see below for details
  16042. (Sebastian Bünger)
  16043. - New commands
  16044. - rcd: New command just to serve the remote control API (Nick
  16045. Craig-Wood)
  16046. - New Features
  16047. - The remote control API (rc) was greatly expanded to allow full
  16048. control over rclone (Nick Craig-Wood)
  16049. - sensitive operations require authorization or the
  16050. --rc-no-auth flag
  16051. - config/* operations to configure rclone
  16052. - options/* for reading/setting command line flags
  16053. - operations/* for all low level operations, eg copy file,
  16054. list directory
  16055. - sync/* for sync, copy and move
  16056. - --rc-files flag to serve files on the rc http server
  16057. - this is for building web native GUIs for rclone
  16058. - Optionally serving objects on the rc http server
  16059. - Ensure rclone fails to start up if the --rc port is in use
  16060. already
  16061. - See the rc docs for more info
  16062. - sync/copy/move
  16063. - Make --files-from only read the objects specified and don’t
  16064. scan directories (Nick Craig-Wood)
  16065. - This is a huge speed improvement for destinations with
  16066. lots of files
  16067. - filter: Add --ignore-case flag (Nick Craig-Wood)
  16068. - ncdu: Add remove function (‘d’ key) (Henning Surmeier)
  16069. - rc command
  16070. - Add --json flag for structured JSON input (Nick Craig-Wood)
  16071. - Add --user and --pass flags and interpret --rc-user,
  16072. --rc-pass, --rc-addr (Nick Craig-Wood)
  16073. - build
  16074. - Require go1.8 or later for compilation (Nick Craig-Wood)
  16075. - Enable softfloat on MIPS arch (Scott Edlund)
  16076. - Integration test framework revamped with a better report and
  16077. better retries (Nick Craig-Wood)
  16078. - Bug Fixes
  16079. - cmd: Make --progress update the stats correctly at the end (Nick
  16080. Craig-Wood)
  16081. - config: Create config directory on save if it is missing (Nick
  16082. Craig-Wood)
  16083. - dedupe: Check for existing filename before renaming a dupe file
  16084. (ssaqua)
  16085. - move: Don’t create directories with --dry-run (Nick Craig-Wood)
  16086. - operations: Fix Purge and Rmdirs when dir is not the root (Nick
  16087. Craig-Wood)
  16088. - serve http/webdav/restic: Ensure rclone exits if the port is in
  16089. use (Nick Craig-Wood)
  16090. - Mount
  16091. - Make --volname work for Windows and macOS (Nick Craig-Wood)
  16092. - Azure Blob
  16093. - Avoid context deadline exceeded error by setting a large
  16094. TryTimeout value (brused27)
  16095. - Fix erroneous Rmdir error “directory not empty” (Nick
  16096. Craig-Wood)
  16097. - Wait for up to 60s to create a just deleted container (Nick
  16098. Craig-Wood)
  16099. - Dropbox
  16100. - Add dropbox impersonate support (Jake Coggiano)
  16101. - Jottacloud
  16102. - Fix bug in --fast-list handing of empty folders (albertony)
  16103. - Opendrive
  16104. - Fix transfer of files with + and & in (Nick Craig-Wood)
  16105. - Fix retries of upload chunks (Nick Craig-Wood)
  16106. - S3
  16107. - Set ACL for server side copies to that provided by the user
  16108. (Nick Craig-Wood)
  16109. - Fix role_arn, credential_source, … (Erik Swanson)
  16110. - Add config info for Wasabi’s US-West endpoint (Henry Ptasinski)
  16111. - SFTP
  16112. - Ensure file hash checking is really disabled (Jon Fautley)
  16113. - Swift
  16114. - Add pacer for retries to make swift more reliable (Nick
  16115. Craig-Wood)
  16116. - WebDAV
  16117. - Add Content-Type to PUT requests (Nick Craig-Wood)
  16118. - Fix config parsing so --webdav-user and --webdav-pass flags work
  16119. (Nick Craig-Wood)
  16120. - Add RFC3339 date format (Ralf Hemberger)
  16121. - Yandex
  16122. - The yandex backend was re-written (Sebastian Bünger)
  16123. - This implements low level retries (Sebastian Bünger)
  16124. - Copy, Move, DirMove, PublicLink and About optional
  16125. interfaces (Sebastian Bünger)
  16126. - Improved general error handling (Sebastian Bünger)
  16127. - Removed ListR for now due to inconsistent behaviour
  16128. (Sebastian Bünger)
  16129. v1.44 - 2018-10-15
  16130. - New commands
  16131. - serve ftp: Add ftp server (Antoine GIRARD)
  16132. - settier: perform storage tier changes on supported remotes
  16133. (sandeepkru)
  16134. - New Features
  16135. - Reworked command line help
  16136. - Make default help less verbose (Nick Craig-Wood)
  16137. - Split flags up into global and backend flags (Nick
  16138. Craig-Wood)
  16139. - Implement specialised help for flags and backends (Nick
  16140. Craig-Wood)
  16141. - Show URL of backend help page when starting config (Nick
  16142. Craig-Wood)
  16143. - stats: Long names now split in center (Joanna Marek)
  16144. - Add --log-format flag for more control over log output (dcpu)
  16145. - rc: Add support for OPTIONS and basic CORS (frenos)
  16146. - stats: show FatalErrors and NoRetryErrors in stats (Cédric
  16147. Connes)
  16148. - Bug Fixes
  16149. - Fix -P not ending with a new line (Nick Craig-Wood)
  16150. - config: don’t create default config dir when user supplies
  16151. --config (albertony)
  16152. - Don’t print non-ASCII characters with --progress on windows
  16153. (Nick Craig-Wood)
  16154. - Correct logs for excluded items (ssaqua)
  16155. - Mount
  16156. - Remove EXPERIMENTAL tags (Nick Craig-Wood)
  16157. - VFS
  16158. - Fix race condition detected by serve ftp tests (Nick Craig-Wood)
  16159. - Add vfs/poll-interval rc command (Fabian Möller)
  16160. - Enable rename for nearly all remotes using server side Move or
  16161. Copy (Nick Craig-Wood)
  16162. - Reduce directory cache cleared by poll-interval (Fabian Möller)
  16163. - Remove EXPERIMENTAL tags (Nick Craig-Wood)
  16164. - Local
  16165. - Skip bad symlinks in dir listing with -L enabled (Cédric Connes)
  16166. - Preallocate files on Windows to reduce fragmentation (Nick
  16167. Craig-Wood)
  16168. - Preallocate files on linux with fallocate(2) (Nick Craig-Wood)
  16169. - Cache
  16170. - Add cache/fetch rc function (Fabian Möller)
  16171. - Fix worker scale down (Fabian Möller)
  16172. - Improve performance by not sending info requests for cached
  16173. chunks (dcpu)
  16174. - Fix error return value of cache/fetch rc method (Fabian Möller)
  16175. - Documentation fix for cache-chunk-total-size (Anagh Kumar
  16176. Baranwal)
  16177. - Preserve leading / in wrapped remote path (Fabian Möller)
  16178. - Add plex_insecure option to skip certificate validation (Fabian
  16179. Möller)
  16180. - Remove entries that no longer exist in the source (dcpu)
  16181. - Crypt
  16182. - Preserve leading / in wrapped remote path (Fabian Möller)
  16183. - Alias
  16184. - Fix handling of Windows network paths (Nick Craig-Wood)
  16185. - Azure Blob
  16186. - Add --azureblob-list-chunk parameter (Santiago Rodríguez)
  16187. - Implemented settier command support on azureblob remote.
  16188. (sandeepkru)
  16189. - Work around SDK bug which causes errors for chunk-sized files
  16190. (Nick Craig-Wood)
  16191. - Box
  16192. - Implement link sharing. (Sebastian Bünger)
  16193. - Drive
  16194. - Add --drive-import-formats - google docs can now be imported
  16195. (Fabian Möller)
  16196. - Rewrite mime type and extension handling (Fabian Möller)
  16197. - Add document links (Fabian Möller)
  16198. - Add support for multipart document extensions (Fabian
  16199. Möller)
  16200. - Add support for apps-script to json export (Fabian Möller)
  16201. - Fix escaped chars in documents during list (Fabian Möller)
  16202. - Add --drive-v2-download-min-size a workaround for slow downloads
  16203. (Fabian Möller)
  16204. - Improve directory notifications in ChangeNotify (Fabian Möller)
  16205. - When listing team drives in config, continue on failure (Nick
  16206. Craig-Wood)
  16207. - FTP
  16208. - Add a small pause after failed upload before deleting file (Nick
  16209. Craig-Wood)
  16210. - Google Cloud Storage
  16211. - Fix service_account_file being ignored (Fabian Möller)
  16212. - Jottacloud
  16213. - Minor improvement in quota info (omit if unlimited) (albertony)
  16214. - Add --fast-list support (albertony)
  16215. - Add permanent delete support: --jottacloud-hard-delete
  16216. (albertony)
  16217. - Add link sharing support (albertony)
  16218. - Fix handling of reserved characters. (Sebastian Bünger)
  16219. - Fix socket leak on Object.Remove (Nick Craig-Wood)
  16220. - Onedrive
  16221. - Rework to support Microsoft Graph (Cnly)
  16222. - NB this will require re-authenticating the remote
  16223. - Removed upload cutoff and always do session uploads (Oliver
  16224. Heyme)
  16225. - Use single-part upload for empty files (Cnly)
  16226. - Fix new fields not saved when editing old config (Alex Chen)
  16227. - Fix sometimes special chars in filenames not replaced (Alex
  16228. Chen)
  16229. - Ignore OneNote files by default (Alex Chen)
  16230. - Add link sharing support (jackyzy823)
  16231. - S3
  16232. - Use custom pacer, to retry operations when reasonable (Craig
  16233. Miskell)
  16234. - Use configured server-side-encryption and storace class options
  16235. when calling CopyObject() (Paul Kohout)
  16236. - Make --s3-v2-auth flag (Nick Craig-Wood)
  16237. - Fix v2 auth on files with spaces (Nick Craig-Wood)
  16238. - Union
  16239. - Implement union backend which reads from multiple backends
  16240. (Felix Brucker)
  16241. - Implement optional interfaces (Move, DirMove, Copy etc) (Nick
  16242. Craig-Wood)
  16243. - Fix ChangeNotify to support multiple remotes (Fabian Möller)
  16244. - Fix --backup-dir on union backend (Nick Craig-Wood)
  16245. - WebDAV
  16246. - Add another time format (Nick Craig-Wood)
  16247. - Add a small pause after failed upload before deleting file (Nick
  16248. Craig-Wood)
  16249. - Add workaround for missing mtime (buergi)
  16250. - Sharepoint: Renew cookies after 12hrs (Henning Surmeier)
  16251. - Yandex
  16252. - Remove redundant nil checks (teresy)
  16253. v1.43.1 - 2018-09-07
  16254. Point release to fix hubic and azureblob backends.
  16255. - Bug Fixes
  16256. - ncdu: Return error instead of log.Fatal in Show (Fabian Möller)
  16257. - cmd: Fix crash with --progress and --stats 0 (Nick Craig-Wood)
  16258. - docs: Tidy website display (Anagh Kumar Baranwal)
  16259. - Azure Blob:
  16260. - Fix multi-part uploads. (sandeepkru)
  16261. - Hubic
  16262. - Fix uploads (Nick Craig-Wood)
  16263. - Retry auth fetching if it fails to make hubic more reliable
  16264. (Nick Craig-Wood)
  16265. v1.43 - 2018-09-01
  16266. - New backends
  16267. - Jottacloud (Sebastian Bünger)
  16268. - New commands
  16269. - copyurl: copies a URL to a remote (Denis)
  16270. - New Features
  16271. - Reworked config for backends (Nick Craig-Wood)
  16272. - All backend config can now be supplied by command line, env
  16273. var or config file
  16274. - Advanced section in the config wizard for the optional items
  16275. - A large step towards rclone backends being usable in other
  16276. go software
  16277. - Allow on the fly remotes with :backend: syntax
  16278. - Stats revamp
  16279. - Add --progress/-P flag to show interactive progress (Nick
  16280. Craig-Wood)
  16281. - Show the total progress of the sync in the stats (Nick
  16282. Craig-Wood)
  16283. - Add --stats-one-line flag for single line stats (Nick
  16284. Craig-Wood)
  16285. - Added weekday schedule into --bwlimit (Mateusz)
  16286. - lsjson: Add option to show the original object IDs (Fabian
  16287. Möller)
  16288. - serve webdav: Make Content-Type without reading the file and add
  16289. --etag-hash (Nick Craig-Wood)
  16290. - build
  16291. - Build macOS with native compiler (Nick Craig-Wood)
  16292. - Update to use go1.11 for the build (Nick Craig-Wood)
  16293. - rc
  16294. - Added core/stats to return the stats (reddi1)
  16295. - version --check: Prints the current release and beta versions
  16296. (Nick Craig-Wood)
  16297. - Bug Fixes
  16298. - accounting
  16299. - Fix time to completion estimates (Nick Craig-Wood)
  16300. - Fix moving average speed for file stats (Nick Craig-Wood)
  16301. - config: Fix error reading password from piped input (Nick
  16302. Craig-Wood)
  16303. - move: Fix --delete-empty-src-dirs flag to delete all empty dirs
  16304. on move (ishuah)
  16305. - Mount
  16306. - Implement --daemon-timeout flag for OSXFUSE (Nick Craig-Wood)
  16307. - Fix mount --daemon not working with encrypted config (Alex Chen)
  16308. - Clip the number of blocks to 2^32-1 on macOS - fixes borg backup
  16309. (Nick Craig-Wood)
  16310. - VFS
  16311. - Enable vfs-read-chunk-size by default (Fabian Möller)
  16312. - Add the vfs/refresh rc command (Fabian Möller)
  16313. - Add non recursive mode to vfs/refresh rc command (Fabian Möller)
  16314. - Try to seek buffer on read only files (Fabian Möller)
  16315. - Local
  16316. - Fix crash when deprecated --local-no-unicode-normalization is
  16317. supplied (Nick Craig-Wood)
  16318. - Fix mkdir error when trying to copy files to the root of a drive
  16319. on windows (Nick Craig-Wood)
  16320. - Cache
  16321. - Fix nil pointer deref when using lsjson on cached directory
  16322. (Nick Craig-Wood)
  16323. - Fix nil pointer deref for occasional crash on playback (Nick
  16324. Craig-Wood)
  16325. - Crypt
  16326. - Fix accounting when checking hashes on upload (Nick Craig-Wood)
  16327. - Amazon Cloud Drive
  16328. - Make very clear in the docs that rclone has no ACD keys (Nick
  16329. Craig-Wood)
  16330. - Azure Blob
  16331. - Add connection string and SAS URL auth (Nick Craig-Wood)
  16332. - List the container to see if it exists (Nick Craig-Wood)
  16333. - Port new Azure Blob Storage SDK (sandeepkru)
  16334. - Added blob tier, tier between Hot, Cool and Archive.
  16335. (sandeepkru)
  16336. - Remove leading / from paths (Nick Craig-Wood)
  16337. - B2
  16338. - Support Application Keys (Nick Craig-Wood)
  16339. - Remove leading / from paths (Nick Craig-Wood)
  16340. - Box
  16341. - Fix upload of > 2GB files on 32 bit platforms (Nick Craig-Wood)
  16342. - Make --box-commit-retries flag defaulting to 100 to fix large
  16343. uploads (Nick Craig-Wood)
  16344. - Drive
  16345. - Add --drive-keep-revision-forever flag (lewapm)
  16346. - Handle gdocs when filtering file names in list (Fabian Möller)
  16347. - Support using --fast-list for large speedups (Fabian Möller)
  16348. - FTP
  16349. - Fix Put mkParentDir failed: 521 for BunnyCDN (Nick Craig-Wood)
  16350. - Google Cloud Storage
  16351. - Fix index out of range error with --fast-list (Nick Craig-Wood)
  16352. - Jottacloud
  16353. - Fix MD5 error check (Oliver Heyme)
  16354. - Handle empty time values (Martin Polden)
  16355. - Calculate missing MD5s (Oliver Heyme)
  16356. - Docs, fixes and tests for MD5 calculation (Nick Craig-Wood)
  16357. - Add optional MimeTyper interface. (Sebastian Bünger)
  16358. - Implement optional About interface (for df support). (Sebastian
  16359. Bünger)
  16360. - Mega
  16361. - Wait for events instead of arbitrary sleeping (Nick Craig-Wood)
  16362. - Add --mega-hard-delete flag (Nick Craig-Wood)
  16363. - Fix failed logins with upper case chars in email (Nick
  16364. Craig-Wood)
  16365. - Onedrive
  16366. - Shared folder support (Yoni Jah)
  16367. - Implement DirMove (Cnly)
  16368. - Fix rmdir sometimes deleting directories with contents (Nick
  16369. Craig-Wood)
  16370. - Pcloud
  16371. - Delete half uploaded files on upload error (Nick Craig-Wood)
  16372. - Qingstor
  16373. - Remove leading / from paths (Nick Craig-Wood)
  16374. - S3
  16375. - Fix index out of range error with --fast-list (Nick Craig-Wood)
  16376. - Add --s3-force-path-style (Nick Craig-Wood)
  16377. - Add support for KMS Key ID (bsteiss)
  16378. - Remove leading / from paths (Nick Craig-Wood)
  16379. - Swift
  16380. - Add storage_policy (Ruben Vandamme)
  16381. - Make it so just storage_url or auth_token can be overidden (Nick
  16382. Craig-Wood)
  16383. - Fix server side copy bug for unusal file names (Nick Craig-Wood)
  16384. - Remove leading / from paths (Nick Craig-Wood)
  16385. - WebDAV
  16386. - Ensure we call MKCOL with a URL with a trailing / for QNAP
  16387. interop (Nick Craig-Wood)
  16388. - If root ends with / then don’t check if it is a file (Nick
  16389. Craig-Wood)
  16390. - Don’t accept redirects when reading metadata (Nick Craig-Wood)
  16391. - Add bearer token (Macaroon) support for dCache (Nick Craig-Wood)
  16392. - Document dCache and Macaroons (Onno Zweers)
  16393. - Sharepoint recursion with different depth (Henning)
  16394. - Attempt to remove failed uploads (Nick Craig-Wood)
  16395. - Yandex
  16396. - Fix listing/deleting files in the root (Nick Craig-Wood)
  16397. v1.42 - 2018-06-16
  16398. - New backends
  16399. - OpenDrive (Oliver Heyme, Jakub Karlicek, ncw)
  16400. - New commands
  16401. - deletefile command (Filip Bartodziej)
  16402. - New Features
  16403. - copy, move: Copy single files directly, don’t use --files-from
  16404. work-around
  16405. - this makes them much more efficient
  16406. - Implement --max-transfer flag to quit transferring at a limit
  16407. - make exit code 8 for --max-transfer exceeded
  16408. - copy: copy empty source directories to destination (Ishuah
  16409. Kariuki)
  16410. - check: Add --one-way flag (Kasper Byrdal Nielsen)
  16411. - Add siginfo handler for macOS for ctrl-T stats (kubatasiemski)
  16412. - rc
  16413. - add core/gc to run a garbage collection on demand
  16414. - enable go profiling by default on the --rc port
  16415. - return error from remote on failure
  16416. - lsf
  16417. - Add --absolute flag to add a leading / onto path names
  16418. - Add --csv flag for compliant CSV output
  16419. - Add ‘m’ format specifier to show the MimeType
  16420. - Implement ‘i’ format for showing object ID
  16421. - lsjson
  16422. - Add MimeType to the output
  16423. - Add ID field to output to show Object ID
  16424. - Add --retries-sleep flag (Benjamin Joseph Dag)
  16425. - Oauth tidy up web page and error handling (Henning Surmeier)
  16426. - Bug Fixes
  16427. - Password prompt output with --log-file fixed for unix (Filip
  16428. Bartodziej)
  16429. - Calculate ModifyWindow each time on the fly to fix various
  16430. problems (Stefan Breunig)
  16431. - Mount
  16432. - Only print “File.rename error” if there actually is an error
  16433. (Stefan Breunig)
  16434. - Delay rename if file has open writers instead of failing
  16435. outright (Stefan Breunig)
  16436. - Ensure atexit gets run on interrupt
  16437. - macOS enhancements
  16438. - Make --noappledouble --noapplexattr
  16439. - Add --volname flag and remove special chars from it
  16440. - Make Get/List/Set/Remove xattr return ENOSYS for efficiency
  16441. - Make --daemon work for macOS without CGO
  16442. - VFS
  16443. - Add --vfs-read-chunk-size and --vfs-read-chunk-size-limit
  16444. (Fabian Möller)
  16445. - Fix ChangeNotify for new or changed folders (Fabian Möller)
  16446. - Local
  16447. - Fix symlink/junction point directory handling under Windows
  16448. - NB you will need to add -L to your command line to copy
  16449. files with reparse points
  16450. - Cache
  16451. - Add non cached dirs on notifications (Remus Bunduc)
  16452. - Allow root to be expired from rc (Remus Bunduc)
  16453. - Clean remaining empty folders from temp upload path (Remus
  16454. Bunduc)
  16455. - Cache lists using batch writes (Remus Bunduc)
  16456. - Use secure websockets for HTTPS Plex addresses (John Clayton)
  16457. - Reconnect plex websocket on failures (Remus Bunduc)
  16458. - Fix panic when running without plex configs (Remus Bunduc)
  16459. - Fix root folder caching (Remus Bunduc)
  16460. - Crypt
  16461. - Check the crypted hash of files when uploading for extra data
  16462. security
  16463. - Dropbox
  16464. - Make Dropbox for business folders accessible using an initial /
  16465. in the path
  16466. - Google Cloud Storage
  16467. - Low level retry all operations if necessary
  16468. - Google Drive
  16469. - Add --drive-acknowledge-abuse to download flagged files
  16470. - Add --drive-alternate-export to fix large doc export
  16471. - Don’t attempt to choose Team Drives when using rclone config
  16472. create
  16473. - Fix change list polling with team drives
  16474. - Fix ChangeNotify for folders (Fabian Möller)
  16475. - Fix about (and df on a mount) for team drives
  16476. - Onedrive
  16477. - Errorhandler for onedrive for business requests (Henning
  16478. Surmeier)
  16479. - S3
  16480. - Adjust upload concurrency with --s3-upload-concurrency
  16481. (themylogin)
  16482. - Fix --s3-chunk-size which was always using the minimum
  16483. - SFTP
  16484. - Add --ssh-path-override flag (Piotr Oleszczyk)
  16485. - Fix slow downloads for long latency connections
  16486. - Webdav
  16487. - Add workarounds for biz.mail.ru
  16488. - Ignore Reason-Phrase in status line to fix 4shared (Rodrigo)
  16489. - Better error message generation
  16490. v1.41 - 2018-04-28
  16491. - New backends
  16492. - Mega support added
  16493. - Webdav now supports SharePoint cookie authentication (hensur)
  16494. - New commands
  16495. - link: create public link to files and folders (Stefan Breunig)
  16496. - about: gets quota info from a remote (a-roussos, ncw)
  16497. - hashsum: a generic tool for any hash to produce md5sum like
  16498. output
  16499. - New Features
  16500. - lsd: Add -R flag and fix and update docs for all ls commands
  16501. - ncdu: added a “refresh” key - CTRL-L (Keith Goldfarb)
  16502. - serve restic: Add append-only mode (Steve Kriss)
  16503. - serve restic: Disallow overwriting files in append-only mode
  16504. (Alexander Neumann)
  16505. - serve restic: Print actual listener address (Matt Holt)
  16506. - size: Add –json flag (Matthew Holt)
  16507. - sync: implement –ignore-errors (Mateusz Pabian)
  16508. - dedupe: Add dedupe largest functionality (Richard Yang)
  16509. - fs: Extend SizeSuffix to include TB and PB for rclone about
  16510. - fs: add –dump goroutines and –dump openfiles for debugging
  16511. - rc: implement core/memstats to print internal memory usage info
  16512. - rc: new call rc/pid (Michael P. Dubner)
  16513. - Compile
  16514. - Drop support for go1.6
  16515. - Release
  16516. - Fix make tarball (Chih-Hsuan Yen)
  16517. - Bug Fixes
  16518. - filter: fix –min-age and –max-age together check
  16519. - fs: limit MaxIdleConns and MaxIdleConnsPerHost in transport
  16520. - lsd,lsf: make sure all times we output are in local time
  16521. - rc: fix setting bwlimit to unlimited
  16522. - rc: take note of the –rc-addr flag too as per the docs
  16523. - Mount
  16524. - Use About to return the correct disk total/used/free (eg in df)
  16525. - Set --attr-timeout default to 1s - fixes:
  16526. - rclone using too much memory
  16527. - rclone not serving files to samba
  16528. - excessive time listing directories
  16529. - Fix df -i (upstream fix)
  16530. - VFS
  16531. - Filter files . and .. from directory listing
  16532. - Only make the VFS cache if –vfs-cache-mode > Off
  16533. - Local
  16534. - Add –local-no-check-updated to disable updated file checks
  16535. - Retry remove on Windows sharing violation error
  16536. - Cache
  16537. - Flush the memory cache after close
  16538. - Purge file data on notification
  16539. - Always forget parent dir for notifications
  16540. - Integrate with Plex websocket
  16541. - Add rc cache/stats (seuffert)
  16542. - Add info log on notification
  16543. - Box
  16544. - Fix failure reading large directories - parse file/directory
  16545. size as float
  16546. - Dropbox
  16547. - Fix crypt+obfuscate on dropbox
  16548. - Fix repeatedly uploading the same files
  16549. - FTP
  16550. - Work around strange response from box FTP server
  16551. - More workarounds for FTP servers to fix mkParentDir error
  16552. - Fix no error on listing non-existent directory
  16553. - Google Cloud Storage
  16554. - Add service_account_credentials (Matt Holt)
  16555. - Detect bucket presence by listing it - minimises permissions
  16556. needed
  16557. - Ignore zero length directory markers
  16558. - Google Drive
  16559. - Add service_account_credentials (Matt Holt)
  16560. - Fix directory move leaving a hardlinked directory behind
  16561. - Return proper google errors when Opening files
  16562. - When initialized with a filepath, optional features used
  16563. incorrect root path (Stefan Breunig)
  16564. - HTTP
  16565. - Fix sync for servers which don’t return Content-Length in HEAD
  16566. - Onedrive
  16567. - Add QuickXorHash support for OneDrive for business
  16568. - Fix socket leak in multipart session upload
  16569. - S3
  16570. - Look in S3 named profile files for credentials
  16571. - Add --s3-disable-checksum to disable checksum uploading (Chris
  16572. Redekop)
  16573. - Hierarchical configuration support (Giri Badanahatti)
  16574. - Add in config for all the supported S3 providers
  16575. - Add One Zone Infrequent Access storage class (Craig Rachel)
  16576. - Add –use-server-modtime support (Peter Baumgartner)
  16577. - Add –s3-chunk-size option to control multipart uploads
  16578. - Ignore zero length directory markers
  16579. - SFTP
  16580. - Update docs to match code, fix typos and clarify
  16581. disable_hashcheck prompt (Michael G. Noll)
  16582. - Update docs with Synology quirks
  16583. - Fail soft with a debug on hash failure
  16584. - Swift
  16585. - Add –use-server-modtime support (Peter Baumgartner)
  16586. - Webdav
  16587. - Support SharePoint cookie authentication (hensur)
  16588. - Strip leading and trailing / off root
  16589. v1.40 - 2018-03-19
  16590. - New backends
  16591. - Alias backend to create aliases for existing remote names
  16592. (Fabian Möller)
  16593. - New commands
  16594. - lsf: list for parsing purposes (Jakub Tasiemski)
  16595. - by default this is a simple non recursive list of files and
  16596. directories
  16597. - it can be configured to add more info in an easy to parse
  16598. way
  16599. - serve restic: for serving a remote as a Restic REST endpoint
  16600. - This enables restic to use any backends that rclone can
  16601. access
  16602. - Thanks Alexander Neumann for help, patches and review
  16603. - rc: enable the remote control of a running rclone
  16604. - The running rclone must be started with –rc and related
  16605. flags.
  16606. - Currently there is support for bwlimit, and flushing for
  16607. mount and cache.
  16608. - New Features
  16609. - --max-delete flag to add a delete threshold (Bjørn Erik
  16610. Pedersen)
  16611. - All backends now support RangeOption for ranged Open
  16612. - cat: Use RangeOption for limited fetches to make more
  16613. efficient
  16614. - cryptcheck: make reading of nonce more efficient with
  16615. RangeOption
  16616. - serve http/webdav/restic
  16617. - support SSL/TLS
  16618. - add --user --pass and --htpasswd for authentication
  16619. - copy/move: detect file size change during copy/move and abort
  16620. transfer (ishuah)
  16621. - cryptdecode: added option to return encrypted file names.
  16622. (ishuah)
  16623. - lsjson: add --encrypted to show encrypted name (Jakub Tasiemski)
  16624. - Add --stats-file-name-length to specify the printed file name
  16625. length for stats (Will Gunn)
  16626. - Compile
  16627. - Code base was shuffled and factored
  16628. - backends moved into a backend directory
  16629. - large packages split up
  16630. - See the CONTRIBUTING.md doc for info as to what lives where
  16631. now
  16632. - Update to using go1.10 as the default go version
  16633. - Implement daily full integration tests
  16634. - Release
  16635. - Include a source tarball and sign it and the binaries
  16636. - Sign the git tags as part of the release process
  16637. - Add .deb and .rpm packages as part of the build
  16638. - Make a beta release for all branches on the main repo (but not
  16639. pull requests)
  16640. - Bug Fixes
  16641. - config: fixes errors on non existing config by loading config
  16642. file only on first access
  16643. - config: retry saving the config after failure (Mateusz)
  16644. - sync: when using --backup-dir don’t delete files if we can’t set
  16645. their modtime
  16646. - this fixes odd behaviour with Dropbox and --backup-dir
  16647. - fshttp: fix idle timeouts for HTTP connections
  16648. - serve http: fix serving files with : in - fixes
  16649. - Fix --exclude-if-present to ignore directories which it doesn’t
  16650. have permission for (Iakov Davydov)
  16651. - Make accounting work properly with crypt and b2
  16652. - remove --no-traverse flag because it is obsolete
  16653. - Mount
  16654. - Add --attr-timeout flag to control attribute caching in kernel
  16655. - this now defaults to 0 which is correct but less efficient
  16656. - see the mount docs for more info
  16657. - Add --daemon flag to allow mount to run in the background
  16658. (ishuah)
  16659. - Fix: Return ENOSYS rather than EIO on attempted link
  16660. - This fixes FileZilla accessing an rclone mount served over
  16661. sftp.
  16662. - Fix setting modtime twice
  16663. - Mount tests now run on CI for Linux (mount & cmount)/Mac/Windows
  16664. - Many bugs fixed in the VFS layer - see below
  16665. - VFS
  16666. - Many fixes for --vfs-cache-mode writes and above
  16667. - Update cached copy if we know it has changed (fixes stale
  16668. data)
  16669. - Clean path names before using them in the cache
  16670. - Disable cache cleaner if --vfs-cache-poll-interval=0
  16671. - Fill and clean the cache immediately on startup
  16672. - Fix Windows opening every file when it stats the file
  16673. - Fix applying modtime for an open Write Handle
  16674. - Fix creation of files when truncating
  16675. - Write 0 bytes when flushing unwritten handles to avoid race
  16676. conditions in FUSE
  16677. - Downgrade “poll-interval is not supported” message to Info
  16678. - Make OpenFile and friends return EINVAL if O_RDONLY and O_TRUNC
  16679. - Local
  16680. - Downgrade “invalid cross-device link: trying copy” to debug
  16681. - Make DirMove return fs.ErrorCantDirMove to allow fallback to
  16682. Copy for cross device
  16683. - Fix race conditions updating the hashes
  16684. - Cache
  16685. - Add support for polling - cache will update when remote changes
  16686. on supported backends
  16687. - Reduce log level for Plex api
  16688. - Fix dir cache issue
  16689. - Implement --cache-db-wait-time flag
  16690. - Improve efficiency with RangeOption and RangeSeek
  16691. - Fix dirmove with temp fs enabled
  16692. - Notify vfs when using temp fs
  16693. - Offline uploading
  16694. - Remote control support for path flushing
  16695. - Amazon cloud drive
  16696. - Rclone no longer has any working keys - disable integration
  16697. tests
  16698. - Implement DirChangeNotify to notify cache/vfs/mount of changes
  16699. - Azureblob
  16700. - Don’t check for bucket/container presense if listing was OK
  16701. - this makes rclone do one less request per invocation
  16702. - Improve accounting for chunked uploads
  16703. - Backblaze B2
  16704. - Don’t check for bucket/container presense if listing was OK
  16705. - this makes rclone do one less request per invocation
  16706. - Box
  16707. - Improve accounting for chunked uploads
  16708. - Dropbox
  16709. - Fix custom oauth client parameters
  16710. - Google Cloud Storage
  16711. - Don’t check for bucket/container presense if listing was OK
  16712. - this makes rclone do one less request per invocation
  16713. - Google Drive
  16714. - Migrate to api v3 (Fabian Möller)
  16715. - Add scope configuration and root folder selection
  16716. - Add --drive-impersonate for service accounts
  16717. - thanks to everyone who tested, explored and contributed docs
  16718. - Add --drive-use-created-date to use created date as modified
  16719. date (nbuchanan)
  16720. - Request the export formats only when required
  16721. - This makes rclone quicker when there are no google docs
  16722. - Fix finding paths with latin1 chars (a workaround for a drive
  16723. bug)
  16724. - Fix copying of a single Google doc file
  16725. - Fix --drive-auth-owner-only to look in all directories
  16726. - HTTP
  16727. - Fix handling of directories with & in
  16728. - Onedrive
  16729. - Removed upload cutoff and always do session uploads
  16730. - this stops the creation of multiple versions on business
  16731. onedrive
  16732. - Overwrite object size value with real size when reading file.
  16733. (Victor)
  16734. - this fixes oddities when onedrive misreports the size of
  16735. images
  16736. - Pcloud
  16737. - Remove unused chunked upload flag and code
  16738. - Qingstor
  16739. - Don’t check for bucket/container presense if listing was OK
  16740. - this makes rclone do one less request per invocation
  16741. - S3
  16742. - Support hashes for multipart files (Chris Redekop)
  16743. - Initial support for IBM COS (S3) (Giri Badanahatti)
  16744. - Update docs to discourage use of v2 auth with CEPH and others
  16745. - Don’t check for bucket/container presense if listing was OK
  16746. - this makes rclone do one less request per invocation
  16747. - Fix server side copy and set modtime on files with + in
  16748. - SFTP
  16749. - Add option to disable remote hash check command execution (Jon
  16750. Fautley)
  16751. - Add --sftp-ask-password flag to prompt for password when needed
  16752. (Leo R. Lundgren)
  16753. - Add set_modtime configuration option
  16754. - Fix following of symlinks
  16755. - Fix reading config file outside of Fs setup
  16756. - Fix reading $USER in username fallback not $HOME
  16757. - Fix running under crontab - Use correct OS way of reading
  16758. username
  16759. - Swift
  16760. - Fix refresh of authentication token
  16761. - in v1.39 a bug was introduced which ignored new tokens -
  16762. this fixes it
  16763. - Fix extra HEAD transaction when uploading a new file
  16764. - Don’t check for bucket/container presense if listing was OK
  16765. - this makes rclone do one less request per invocation
  16766. - Webdav
  16767. - Add new time formats to support mydrive.ch and others
  16768. v1.39 - 2017-12-23
  16769. - New backends
  16770. - WebDAV
  16771. - tested with nextcloud, owncloud, put.io and others!
  16772. - Pcloud
  16773. - cache - wraps a cache around other backends (Remus Bunduc)
  16774. - useful in combination with mount
  16775. - NB this feature is in beta so use with care
  16776. - New commands
  16777. - serve command with subcommands:
  16778. - serve webdav: this implements a webdav server for any rclone
  16779. remote.
  16780. - serve http: command to serve a remote over HTTP
  16781. - config: add sub commands for full config file management
  16782. - create/delete/dump/edit/file/password/providers/show/update
  16783. - touch: to create or update the timestamp of a file (Jakub
  16784. Tasiemski)
  16785. - New Features
  16786. - curl install for rclone (Filip Bartodziej)
  16787. - –stats now shows percentage, size, rate and ETA in condensed
  16788. form (Ishuah Kariuki)
  16789. - –exclude-if-present to exclude a directory if a file is present
  16790. (Iakov Davydov)
  16791. - rmdirs: add –leave-root flag (lewpam)
  16792. - move: add –delete-empty-src-dirs flag to remove dirs after move
  16793. (Ishuah Kariuki)
  16794. - Add –dump flag, introduce –dump requests, responses and remove
  16795. –dump-auth, –dump-filters
  16796. - Obscure X-Auth-Token: from headers when dumping too
  16797. - Document and implement exit codes for different failure modes
  16798. (Ishuah Kariuki)
  16799. - Compile
  16800. - Bug Fixes
  16801. - Retry lots more different types of errors to make multipart
  16802. transfers more reliable
  16803. - Save the config before asking for a token, fixes disappearing
  16804. oauth config
  16805. - Warn the user if –include and –exclude are used together (Ernest
  16806. Borowski)
  16807. - Fix duplicate files (eg on Google drive) causing spurious copies
  16808. - Allow trailing and leading whitespace for passwords (Jason Rose)
  16809. - ncdu: fix crashes on empty directories
  16810. - rcat: fix goroutine leak
  16811. - moveto/copyto: Fix to allow copying to the same name
  16812. - Mount
  16813. - –vfs-cache mode to make writes into mounts more reliable.
  16814. - this requires caching files on the disk (see –cache-dir)
  16815. - As this is a new feature, use with care
  16816. - Use sdnotify to signal systemd the mount is ready (Fabian
  16817. Möller)
  16818. - Check if directory is not empty before mounting (Ernest
  16819. Borowski)
  16820. - Local
  16821. - Add error message for cross file system moves
  16822. - Fix equality check for times
  16823. - Dropbox
  16824. - Rework multipart upload
  16825. - buffer the chunks when uploading large files so they can be
  16826. retried
  16827. - change default chunk size to 48MB now we are buffering them
  16828. in memory
  16829. - retry every error after the first chunk is done successfully
  16830. - Fix error when renaming directories
  16831. - Swift
  16832. - Fix crash on bad authentication
  16833. - Google Drive
  16834. - Add service account support (Tim Cooijmans)
  16835. - S3
  16836. - Make it work properly with Digital Ocean Spaces (Andrew
  16837. Starr-Bochicchio)
  16838. - Fix crash if a bad listing is received
  16839. - Add support for ECS task IAM roles (David Minor)
  16840. - Backblaze B2
  16841. - Fix multipart upload retries
  16842. - Fix –hard-delete to make it work 100% of the time
  16843. - Swift
  16844. - Allow authentication with storage URL and auth key (Giovanni
  16845. Pizzi)
  16846. - Add new fields for swift configuration to support IBM Bluemix
  16847. Swift (Pierre Carlson)
  16848. - Add OS_TENANT_ID and OS_USER_ID to config
  16849. - Allow configs with user id instead of user name
  16850. - Check if swift segments container exists before creating (John
  16851. Leach)
  16852. - Fix memory leak in swift transfers (upstream fix)
  16853. - SFTP
  16854. - Add option to enable the use of aes128-cbc cipher (Jon Fautley)
  16855. - Amazon cloud drive
  16856. - Fix download of large files failing with “Only one auth
  16857. mechanism allowed”
  16858. - crypt
  16859. - Option to encrypt directory names or leave them intact
  16860. - Implement DirChangeNotify (Fabian Möller)
  16861. - onedrive
  16862. - Add option to choose resourceURL during setup of OneDrive
  16863. Business account if more than one is available for user
  16864. v1.38 - 2017-09-30
  16865. - New backends
  16866. - Azure Blob Storage (thanks Andrei Dragomir)
  16867. - Box
  16868. - Onedrive for Business (thanks Oliver Heyme)
  16869. - QingStor from QingCloud (thanks wuyu)
  16870. - New commands
  16871. - rcat - read from standard input and stream upload
  16872. - tree - shows a nicely formatted recursive listing
  16873. - cryptdecode - decode crypted file names (thanks ishuah)
  16874. - config show - print the config file
  16875. - config file - print the config file location
  16876. - New Features
  16877. - Empty directories are deleted on sync
  16878. - dedupe - implement merging of duplicate directories
  16879. - check and cryptcheck made more consistent and use less memory
  16880. - cleanup for remaining remotes (thanks ishuah)
  16881. - --immutable for ensuring that files don’t change (thanks Jacob
  16882. McNamee)
  16883. - --user-agent option (thanks Alex McGrath Kraak)
  16884. - --disable flag to disable optional features
  16885. - --bind flag for choosing the local addr on outgoing connections
  16886. - Support for zsh auto-completion (thanks bpicode)
  16887. - Stop normalizing file names but do a normalized compare in sync
  16888. - Compile
  16889. - Update to using go1.9 as the default go version
  16890. - Remove snapd build due to maintenance problems
  16891. - Bug Fixes
  16892. - Improve retriable error detection which makes multipart uploads
  16893. better
  16894. - Make check obey --ignore-size
  16895. - Fix bwlimit toggle in conjunction with schedules (thanks
  16896. cbruegg)
  16897. - config ensures newly written config is on the same mount
  16898. - Local
  16899. - Revert to copy when moving file across file system boundaries
  16900. - --skip-links to suppress symlink warnings (thanks Zhiming Wang)
  16901. - Mount
  16902. - Re-use rcat internals to support uploads from all remotes
  16903. - Dropbox
  16904. - Fix “entry doesn’t belong in directory” error
  16905. - Stop using deprecated API methods
  16906. - Swift
  16907. - Fix server side copy to empty container with --fast-list
  16908. - Google Drive
  16909. - Change the default for --drive-use-trash to true
  16910. - S3
  16911. - Set session token when using STS (thanks Girish Ramakrishnan)
  16912. - Glacier docs and error messages (thanks Jan Varho)
  16913. - Read 1000 (not 1024) items in dir listings to fix Wasabi
  16914. - Backblaze B2
  16915. - Fix SHA1 mismatch when downloading files with no SHA1
  16916. - Calculate missing hashes on the fly instead of spooling
  16917. - --b2-hard-delete to permanently delete (not hide) files (thanks
  16918. John Papandriopoulos)
  16919. - Hubic
  16920. - Fix creating containers - no longer have to use the default
  16921. container
  16922. - Swift
  16923. - Optionally configure from a standard set of OpenStack
  16924. environment vars
  16925. - Add endpoint_type config
  16926. - Google Cloud Storage
  16927. - Fix bucket creation to work with limited permission users
  16928. - SFTP
  16929. - Implement connection pooling for multiple ssh connections
  16930. - Limit new connections per second
  16931. - Add support for MD5 and SHA1 hashes where available (thanks
  16932. Christian Brüggemann)
  16933. - HTTP
  16934. - Fix URL encoding issues
  16935. - Fix directories with : in
  16936. - Fix panic with URL encoded content
  16937. v1.37 - 2017-07-22
  16938. - New backends
  16939. - FTP - thanks to Antonio Messina
  16940. - HTTP - thanks to Vasiliy Tolstov
  16941. - New commands
  16942. - rclone ncdu - for exploring a remote with a text based user
  16943. interface.
  16944. - rclone lsjson - for listing with a machine readable output
  16945. - rclone dbhashsum - to show Dropbox style hashes of files (local
  16946. or Dropbox)
  16947. - New Features
  16948. - Implement –fast-list flag
  16949. - This allows remotes to list recursively if they can
  16950. - This uses less transactions (important if you pay for them)
  16951. - This may or may not be quicker
  16952. - This will use more memory as it has to hold the listing in
  16953. memory
  16954. - –old-sync-method deprecated - the remaining uses are covered
  16955. by –fast-list
  16956. - This involved a major re-write of all the listing code
  16957. - Add –tpslimit and –tpslimit-burst to limit transactions per
  16958. second
  16959. - this is useful in conjuction with rclone mount to limit
  16960. external apps
  16961. - Add –stats-log-level so can see –stats without -v
  16962. - Print password prompts to stderr - Hraban Luyat
  16963. - Warn about duplicate files when syncing
  16964. - Oauth improvements
  16965. - allow auth_url and token_url to be set in the config file
  16966. - Print redirection URI if using own credentials.
  16967. - Don’t Mkdir at the start of sync to save transactions
  16968. - Compile
  16969. - Update build to go1.8.3
  16970. - Require go1.6 for building rclone
  16971. - Compile 386 builds with “GO386=387” for maximum compatibility
  16972. - Bug Fixes
  16973. - Fix menu selection when no remotes
  16974. - Config saving reworked to not kill the file if disk gets full
  16975. - Don’t delete remote if name does not change while renaming
  16976. - moveto, copyto: report transfers and checks as per move and copy
  16977. - Local
  16978. - Add –local-no-unicode-normalization flag - Bob Potter
  16979. - Mount
  16980. - Now supported on Windows using cgofuse and WinFsp - thanks to
  16981. Bill Zissimopoulos for much help
  16982. - Compare checksums on upload/download via FUSE
  16983. - Unmount when program ends with SIGINT (Ctrl+C) or SIGTERM -
  16984. Jérôme Vizcaino
  16985. - On read only open of file, make open pending until first read
  16986. - Make –read-only reject modify operations
  16987. - Implement ModTime via FUSE for remotes that support it
  16988. - Allow modTime to be changed even before all writers are closed
  16989. - Fix panic on renames
  16990. - Fix hang on errored upload
  16991. - Crypt
  16992. - Report the name:root as specified by the user
  16993. - Add an “obfuscate” option for filename encryption - Stephen
  16994. Harris
  16995. - Amazon Drive
  16996. - Fix initialization order for token renewer
  16997. - Remove revoked credentials, allow oauth proxy config and update
  16998. docs
  16999. - B2
  17000. - Reduce minimum chunk size to 5MB
  17001. - Drive
  17002. - Add team drive support
  17003. - Reduce bandwidth by adding fields for partial responses - Martin
  17004. Kristensen
  17005. - Implement –drive-shared-with-me flag to view shared with me
  17006. files - Danny Tsai
  17007. - Add –drive-trashed-only to read only the files in the trash
  17008. - Remove obsolete –drive-full-list
  17009. - Add missing seek to start on retries of chunked uploads
  17010. - Fix stats accounting for upload
  17011. - Convert / in names to a unicode equivalent (/)
  17012. - Poll for Google Drive changes when mounted
  17013. - OneDrive
  17014. - Fix the uploading of files with spaces
  17015. - Fix initialization order for token renewer
  17016. - Display speeds accurately when uploading - Yoni Jah
  17017. - Swap to using http://localhost:53682/ as redirect URL - Michael
  17018. Ledin
  17019. - Retry on token expired error, reset upload body on retry - Yoni
  17020. Jah
  17021. - Google Cloud Storage
  17022. - Add ability to specify location and storage class via config and
  17023. command line - thanks gdm85
  17024. - Create container if necessary on server side copy
  17025. - Increase directory listing chunk to 1000 to increase performance
  17026. - Obtain a refresh token for GCS - Steven Lu
  17027. - Yandex
  17028. - Fix the name reported in log messages (was empty)
  17029. - Correct error return for listing empty directory
  17030. - Dropbox
  17031. - Rewritten to use the v2 API
  17032. - Now supports ModTime
  17033. - Can only set by uploading the file again
  17034. - If you uploaded with an old rclone, rclone may upload
  17035. everything again
  17036. - Use --size-only or --checksum to avoid this
  17037. - Now supports the Dropbox content hashing scheme
  17038. - Now supports low level retries
  17039. - S3
  17040. - Work around eventual consistency in bucket creation
  17041. - Create container if necessary on server side copy
  17042. - Add us-east-2 (Ohio) and eu-west-2 (London) S3 regions - Zahiar
  17043. Ahmed
  17044. - Swift, Hubic
  17045. - Fix zero length directory markers showing in the subdirectory
  17046. listing
  17047. - this caused lots of duplicate transfers
  17048. - Fix paged directory listings
  17049. - this caused duplicate directory errors
  17050. - Create container if necessary on server side copy
  17051. - Increase directory listing chunk to 1000 to increase performance
  17052. - Make sensible error if the user forgets the container
  17053. - SFTP
  17054. - Add support for using ssh key files
  17055. - Fix under Windows
  17056. - Fix ssh agent on Windows
  17057. - Adapt to latest version of library - Igor Kharin
  17058. v1.36 - 2017-03-18
  17059. - New Features
  17060. - SFTP remote (Jack Schmidt)
  17061. - Re-implement sync routine to work a directory at a time reducing
  17062. memory usage
  17063. - Logging revamped to be more inline with rsync - now much
  17064. quieter * -v only shows transfers * -vv is for full debug *
  17065. –syslog to log to syslog on capable platforms
  17066. - Implement –backup-dir and –suffix
  17067. - Implement –track-renames (initial implementation by Bjørn Erik
  17068. Pedersen)
  17069. - Add time-based bandwidth limits (Lukas Loesche)
  17070. - rclone cryptcheck: checks integrity of crypt remotes
  17071. - Allow all config file variables and options to be set from
  17072. environment variables
  17073. - Add –buffer-size parameter to control buffer size for copy
  17074. - Make –delete-after the default
  17075. - Add –ignore-checksum flag (fixed by Hisham Zarka)
  17076. - rclone check: Add –download flag to check all the data, not just
  17077. hashes
  17078. - rclone cat: add –head, –tail, –offset, –count and –discard
  17079. - rclone config: when choosing from a list, allow the value to be
  17080. entered too
  17081. - rclone config: allow rename and copy of remotes
  17082. - rclone obscure: for generating encrypted passwords for rclone’s
  17083. config (T.C. Ferguson)
  17084. - Comply with XDG Base Directory specification (Dario Giovannetti)
  17085. - this moves the default location of the config file in a
  17086. backwards compatible way
  17087. - Release changes
  17088. - Ubuntu snap support (Dedsec1)
  17089. - Compile with go 1.8
  17090. - MIPS/Linux big and little endian support
  17091. - Bug Fixes
  17092. - Fix copyto copying things to the wrong place if the destination
  17093. dir didn’t exist
  17094. - Fix parsing of remotes in moveto and copyto
  17095. - Fix –delete-before deleting files on copy
  17096. - Fix –files-from with an empty file copying everything
  17097. - Fix sync: don’t update mod times if –dry-run set
  17098. - Fix MimeType propagation
  17099. - Fix filters to add ** rules to directory rules
  17100. - Local
  17101. - Implement -L, –copy-links flag to allow rclone to follow
  17102. symlinks
  17103. - Open files in write only mode so rclone can write to an rclone
  17104. mount
  17105. - Fix unnormalised unicode causing problems reading directories
  17106. - Fix interaction between -x flag and –max-depth
  17107. - Mount
  17108. - Implement proper directory handling (mkdir, rmdir, renaming)
  17109. - Make include and exclude filters apply to mount
  17110. - Implement read and write async buffers - control with
  17111. –buffer-size
  17112. - Fix fsync on for directories
  17113. - Fix retry on network failure when reading off crypt
  17114. - Crypt
  17115. - Add –crypt-show-mapping to show encrypted file mapping
  17116. - Fix crypt writer getting stuck in a loop
  17117. - IMPORTANT this bug had the potential to cause data
  17118. corruption when
  17119. - reading data from a network based remote and
  17120. - writing to a crypt on Google Drive
  17121. - Use the cryptcheck command to validate your data if you are
  17122. concerned
  17123. - If syncing two crypt remotes, sync the unencrypted remote
  17124. - Amazon Drive
  17125. - Fix panics on Move (rename)
  17126. - Fix panic on token expiry
  17127. - B2
  17128. - Fix inconsistent listings and rclone check
  17129. - Fix uploading empty files with go1.8
  17130. - Constrain memory usage when doing multipart uploads
  17131. - Fix upload url not being refreshed properly
  17132. - Drive
  17133. - Fix Rmdir on directories with trashed files
  17134. - Fix “Ignoring unknown object” when downloading
  17135. - Add –drive-list-chunk
  17136. - Add –drive-skip-gdocs (Károly Oláh)
  17137. - OneDrive
  17138. - Implement Move
  17139. - Fix Copy
  17140. - Fix overwrite detection in Copy
  17141. - Fix waitForJob to parse errors correctly
  17142. - Use token renewer to stop auth errors on long uploads
  17143. - Fix uploading empty files with go1.8
  17144. - Google Cloud Storage
  17145. - Fix depth 1 directory listings
  17146. - Yandex
  17147. - Fix single level directory listing
  17148. - Dropbox
  17149. - Normalise the case for single level directory listings
  17150. - Fix depth 1 listing
  17151. - S3
  17152. - Added ca-central-1 region (Jon Yergatian)
  17153. v1.35 - 2017-01-02
  17154. - New Features
  17155. - moveto and copyto commands for choosing a destination name on
  17156. copy/move
  17157. - rmdirs command to recursively delete empty directories
  17158. - Allow repeated –include/–exclude/–filter options
  17159. - Only show transfer stats on commands which transfer stuff
  17160. - show stats on any command using the --stats flag
  17161. - Allow overlapping directories in move when server side dir move
  17162. is supported
  17163. - Add –stats-unit option - thanks Scott McGillivray
  17164. - Bug Fixes
  17165. - Fix the config file being overwritten when two rclones are
  17166. running
  17167. - Make rclone lsd obey the filters properly
  17168. - Fix compilation on mips
  17169. - Fix not transferring files that don’t differ in size
  17170. - Fix panic on nil retry/fatal error
  17171. - Mount
  17172. - Retry reads on error - should help with reliability a lot
  17173. - Report the modification times for directories from the remote
  17174. - Add bandwidth accounting and limiting (fixes –bwlimit)
  17175. - If –stats provided will show stats and which files are
  17176. transferring
  17177. - Support R/W files if truncate is set.
  17178. - Implement statfs interface so df works
  17179. - Note that write is now supported on Amazon Drive
  17180. - Report number of blocks in a file - thanks Stefan Breunig
  17181. - Crypt
  17182. - Prevent the user pointing crypt at itself
  17183. - Fix failed to authenticate decrypted block errors
  17184. - these will now return the underlying unexpected EOF instead
  17185. - Amazon Drive
  17186. - Add support for server side move and directory move - thanks
  17187. Stefan Breunig
  17188. - Fix nil pointer deref on size attribute
  17189. - B2
  17190. - Use new prefix and delimiter parameters in directory listings
  17191. - This makes –max-depth 1 dir listings as used in mount much
  17192. faster
  17193. - Reauth the account while doing uploads too - should help with
  17194. token expiry
  17195. - Drive
  17196. - Make DirMove more efficient and complain about moving the root
  17197. - Create destination directory on Move()
  17198. v1.34 - 2016-11-06
  17199. - New Features
  17200. - Stop single file and --files-from operations iterating through
  17201. the source bucket.
  17202. - Stop removing failed upload to cloud storage remotes
  17203. - Make ContentType be preserved for cloud to cloud copies
  17204. - Add support to toggle bandwidth limits via SIGUSR2 - thanks
  17205. Marco Paganini
  17206. - rclone check shows count of hashes that couldn’t be checked
  17207. - rclone listremotes command
  17208. - Support linux/arm64 build - thanks Fredrik Fornwall
  17209. - Remove Authorization: lines from --dump-headers output
  17210. - Bug Fixes
  17211. - Ignore files with control characters in the names
  17212. - Fix rclone move command
  17213. - Delete src files which already existed in dst
  17214. - Fix deletion of src file when dst file older
  17215. - Fix rclone check on crypted file systems
  17216. - Make failed uploads not count as “Transferred”
  17217. - Make sure high level retries show with -q
  17218. - Use a vendor directory with godep for repeatable builds
  17219. - rclone mount - FUSE
  17220. - Implement FUSE mount options
  17221. - --no-modtime, --debug-fuse, --read-only, --allow-non-empty,
  17222. --allow-root, --allow-other
  17223. - --default-permissions, --write-back-cache, --max-read-ahead,
  17224. --umask, --uid, --gid
  17225. - Add --dir-cache-time to control caching of directory entries
  17226. - Implement seek for files opened for read (useful for video
  17227. players)
  17228. - with -no-seek flag to disable
  17229. - Fix crash on 32 bit ARM (alignment of 64 bit counter)
  17230. - …and many more internal fixes and improvements!
  17231. - Crypt
  17232. - Don’t show encrypted password in configurator to stop confusion
  17233. - Amazon Drive
  17234. - New wait for upload option --acd-upload-wait-per-gb
  17235. - upload timeouts scale by file size and can be disabled
  17236. - Add 502 Bad Gateway to list of errors we retry
  17237. - Fix overwriting a file with a zero length file
  17238. - Fix ACD file size warning limit - thanks Felix Bünemann
  17239. - Local
  17240. - Unix: implement -x/--one-file-system to stay on a single file
  17241. system
  17242. - thanks Durval Menezes and Luiz Carlos Rumbelsperger Viana
  17243. - Windows: ignore the symlink bit on files
  17244. - Windows: Ignore directory based junction points
  17245. - B2
  17246. - Make sure each upload has at least one upload slot - fixes
  17247. strange upload stats
  17248. - Fix uploads when using crypt
  17249. - Fix download of large files (sha1 mismatch)
  17250. - Return error when we try to create a bucket which someone else
  17251. owns
  17252. - Update B2 docs with Data usage, and Crypt section - thanks
  17253. Tomasz Mazur
  17254. - S3
  17255. - Command line and config file support for
  17256. - Setting/overriding ACL - thanks Radek Senfeld
  17257. - Setting storage class - thanks Asko Tamm
  17258. - Drive
  17259. - Make exponential backoff work exactly as per Google
  17260. specification
  17261. - add .epub, .odp and .tsv as export formats.
  17262. - Swift
  17263. - Don’t read metadata for directory marker objects
  17264. v1.33 - 2016-08-24
  17265. - New Features
  17266. - Implement encryption
  17267. - data encrypted in NACL secretbox format
  17268. - with optional file name encryption
  17269. - New commands
  17270. - rclone mount - implements FUSE mounting of remotes
  17271. (EXPERIMENTAL)
  17272. - works on Linux, FreeBSD and OS X (need testers for the
  17273. last 2!)
  17274. - rclone cat - outputs remote file or files to the terminal
  17275. - rclone genautocomplete - command to make a bash completion
  17276. script for rclone
  17277. - Editing a remote using rclone config now goes through the wizard
  17278. - Compile with go 1.7 - this fixes rclone on macOS Sierra and on
  17279. 386 processors
  17280. - Use cobra for sub commands and docs generation
  17281. - drive
  17282. - Document how to make your own client_id
  17283. - s3
  17284. - User-configurable Amazon S3 ACL (thanks Radek Šenfeld)
  17285. - b2
  17286. - Fix stats accounting for upload - no more jumping to 100% done
  17287. - On cleanup delete hide marker if it is the current file
  17288. - New B2 API endpoint (thanks Per Cederberg)
  17289. - Set maximum backoff to 5 Minutes
  17290. - onedrive
  17291. - Fix URL escaping in file names - eg uploading files with + in
  17292. them.
  17293. - amazon cloud drive
  17294. - Fix token expiry during large uploads
  17295. - Work around 408 REQUEST_TIMEOUT and 504 GATEWAY_TIMEOUT errors
  17296. - local
  17297. - Fix filenames with invalid UTF-8 not being uploaded
  17298. - Fix problem with some UTF-8 characters on OS X
  17299. v1.32 - 2016-07-13
  17300. - Backblaze B2
  17301. - Fix upload of files large files not in root
  17302. v1.31 - 2016-07-13
  17303. - New Features
  17304. - Reduce memory on sync by about 50%
  17305. - Implement –no-traverse flag to stop copy traversing the
  17306. destination remote.
  17307. - This can be used to reduce memory usage down to the smallest
  17308. possible.
  17309. - Useful to copy a small number of files into a large
  17310. destination folder.
  17311. - Implement cleanup command for emptying trash / removing old
  17312. versions of files
  17313. - Currently B2 only
  17314. - Single file handling improved
  17315. - Now copied with –files-from
  17316. - Automatically sets –no-traverse when copying a single file
  17317. - Info on using installing with ansible - thanks Stefan Weichinger
  17318. - Implement –no-update-modtime flag to stop rclone fixing the
  17319. remote modified times.
  17320. - Bug Fixes
  17321. - Fix move command - stop it running for overlapping Fses - this
  17322. was causing data loss.
  17323. - Local
  17324. - Fix incomplete hashes - this was causing problems for B2.
  17325. - Amazon Drive
  17326. - Rename Amazon Cloud Drive to Amazon Drive - no changes to config
  17327. file needed.
  17328. - Swift
  17329. - Add support for non-default project domain - thanks Antonio
  17330. Messina.
  17331. - S3
  17332. - Add instructions on how to use rclone with minio.
  17333. - Add ap-northeast-2 (Seoul) and ap-south-1 (Mumbai) regions.
  17334. - Skip setting the modified time for objects > 5GB as it isn’t
  17335. possible.
  17336. - Backblaze B2
  17337. - Add –b2-versions flag so old versions can be listed and
  17338. retreived.
  17339. - Treat 403 errors (eg cap exceeded) as fatal.
  17340. - Implement cleanup command for deleting old file versions.
  17341. - Make error handling compliant with B2 integrations notes.
  17342. - Fix handling of token expiry.
  17343. - Implement –b2-test-mode to set X-Bz-Test-Mode header.
  17344. - Set cutoff for chunked upload to 200MB as per B2 guidelines.
  17345. - Make upload multi-threaded.
  17346. - Dropbox
  17347. - Don’t retry 461 errors.
  17348. v1.30 - 2016-06-18
  17349. - New Features
  17350. - Directory listing code reworked for more features and better
  17351. error reporting (thanks to Klaus Post for help). This enables
  17352. - Directory include filtering for efficiency
  17353. - –max-depth parameter
  17354. - Better error reporting
  17355. - More to come
  17356. - Retry more errors
  17357. - Add –ignore-size flag - for uploading images to onedrive
  17358. - Log -v output to stdout by default
  17359. - Display the transfer stats in more human readable form
  17360. - Make 0 size files specifiable with --max-size 0b
  17361. - Add b suffix so we can specify bytes in –bwlimit, –min-size etc
  17362. - Use “password:” instead of “password>” prompt - thanks Klaus
  17363. Post and Leigh Klotz
  17364. - Bug Fixes
  17365. - Fix retry doing one too many retries
  17366. - Local
  17367. - Fix problems with OS X and UTF-8 characters
  17368. - Amazon Drive
  17369. - Check a file exists before uploading to help with 408 Conflict
  17370. errors
  17371. - Reauth on 401 errors - this has been causing a lot of problems
  17372. - Work around spurious 403 errors
  17373. - Restart directory listings on error
  17374. - Google Drive
  17375. - Check a file exists before uploading to help with duplicates
  17376. - Fix retry of multipart uploads
  17377. - Backblaze B2
  17378. - Implement large file uploading
  17379. - S3
  17380. - Add AES256 server-side encryption for - thanks Justin R. Wilson
  17381. - Google Cloud Storage
  17382. - Make sure we don’t use conflicting content types on upload
  17383. - Add service account support - thanks Michal Witkowski
  17384. - Swift
  17385. - Add auth version parameter
  17386. - Add domain option for openstack (v3 auth) - thanks Fabian Ruff
  17387. v1.29 - 2016-04-18
  17388. - New Features
  17389. - Implement -I, --ignore-times for unconditional upload
  17390. - Improve dedupecommand
  17391. - Now removes identical copies without asking
  17392. - Now obeys --dry-run
  17393. - Implement --dedupe-mode for non interactive running
  17394. - --dedupe-mode interactive - interactive the default.
  17395. - --dedupe-mode skip - removes identical files then skips
  17396. anything left.
  17397. - --dedupe-mode first - removes identical files then keeps
  17398. the first one.
  17399. - --dedupe-mode newest - removes identical files then
  17400. keeps the newest one.
  17401. - --dedupe-mode oldest - removes identical files then
  17402. keeps the oldest one.
  17403. - --dedupe-mode rename - removes identical files then
  17404. renames the rest to be different.
  17405. - Bug fixes
  17406. - Make rclone check obey the --size-only flag.
  17407. - Use “application/octet-stream” if discovered mime type is
  17408. invalid.
  17409. - Fix missing “quit” option when there are no remotes.
  17410. - Google Drive
  17411. - Increase default chunk size to 8 MB - increases upload speed of
  17412. big files
  17413. - Speed up directory listings and make more reliable
  17414. - Add missing retries for Move and DirMove - increases reliability
  17415. - Preserve mime type on file update
  17416. - Backblaze B2
  17417. - Enable mod time syncing
  17418. - This means that B2 will now check modification times
  17419. - It will upload new files to update the modification times
  17420. - (there isn’t an API to just set the mod time.)
  17421. - If you want the old behaviour use --size-only.
  17422. - Update API to new version
  17423. - Fix parsing of mod time when not in metadata
  17424. - Swift/Hubic
  17425. - Don’t return an MD5SUM for static large objects
  17426. - S3
  17427. - Fix uploading files bigger than 50GB
  17428. v1.28 - 2016-03-01
  17429. - New Features
  17430. - Configuration file encryption - thanks Klaus Post
  17431. - Improve rclone config adding more help and making it easier to
  17432. understand
  17433. - Implement -u/--update so creation times can be used on all
  17434. remotes
  17435. - Implement --low-level-retries flag
  17436. - Optionally disable gzip compression on downloads with
  17437. --no-gzip-encoding
  17438. - Bug fixes
  17439. - Don’t make directories if --dry-run set
  17440. - Fix and document the move command
  17441. - Fix redirecting stderr on unix-like OSes when using --log-file
  17442. - Fix delete command to wait until all finished - fixes missing
  17443. deletes.
  17444. - Backblaze B2
  17445. - Use one upload URL per go routine fixes
  17446. more than one upload using auth token
  17447. - Add pacing, retries and reauthentication - fixes token expiry
  17448. problems
  17449. - Upload without using a temporary file from local (and remotes
  17450. which support SHA1)
  17451. - Fix reading metadata for all files when it shouldn’t have been
  17452. - Drive
  17453. - Fix listing drive documents at root
  17454. - Disable copy and move for Google docs
  17455. - Swift
  17456. - Fix uploading of chunked files with non ASCII characters
  17457. - Allow setting of storage_url in the config - thanks Xavier Lucas
  17458. - S3
  17459. - Allow IAM role and credentials from environment variables -
  17460. thanks Brian Stengaard
  17461. - Allow low privilege users to use S3 (check if directory exists
  17462. during Mkdir) - thanks Jakub Gedeon
  17463. - Amazon Drive
  17464. - Retry on more things to make directory listings more reliable
  17465. v1.27 - 2016-01-31
  17466. - New Features
  17467. - Easier headless configuration with rclone authorize
  17468. - Add support for multiple hash types - we now check SHA1 as well
  17469. as MD5 hashes.
  17470. - delete command which does obey the filters (unlike purge)
  17471. - dedupe command to deduplicate a remote. Useful with Google
  17472. Drive.
  17473. - Add --ignore-existing flag to skip all files that exist on
  17474. destination.
  17475. - Add --delete-before, --delete-during, --delete-after flags.
  17476. - Add --memprofile flag to debug memory use.
  17477. - Warn the user about files with same name but different case
  17478. - Make --include rules add their implict exclude * at the end of
  17479. the filter list
  17480. - Deprecate compiling with go1.3
  17481. - Amazon Drive
  17482. - Fix download of files > 10 GB
  17483. - Fix directory traversal (“Next token is expired”) for large
  17484. directory listings
  17485. - Remove 409 conflict from error codes we will retry - stops very
  17486. long pauses
  17487. - Backblaze B2
  17488. - SHA1 hashes now checked by rclone core
  17489. - Drive
  17490. - Add --drive-auth-owner-only to only consider files owned by the
  17491. user - thanks Björn Harrtell
  17492. - Export Google documents
  17493. - Dropbox
  17494. - Make file exclusion error controllable with -q
  17495. - Swift
  17496. - Fix upload from unprivileged user.
  17497. - S3
  17498. - Fix updating of mod times of files with + in.
  17499. - Local
  17500. - Add local file system option to disable UNC on Windows.
  17501. v1.26 - 2016-01-02
  17502. - New Features
  17503. - Yandex storage backend - thank you Dmitry Burdeev (“dibu”)
  17504. - Implement Backblaze B2 storage backend
  17505. - Add –min-age and –max-age flags - thank you Adriano Aurélio
  17506. Meirelles
  17507. - Make ls/lsl/md5sum/size/check obey includes and excludes
  17508. - Fixes
  17509. - Fix crash in http logging
  17510. - Upload releases to github too
  17511. - Swift
  17512. - Fix sync for chunked files
  17513. - OneDrive
  17514. - Re-enable server side copy
  17515. - Don’t mask HTTP error codes with JSON decode error
  17516. - S3
  17517. - Fix corrupting Content-Type on mod time update (thanks Joseph
  17518. Spurrier)
  17519. v1.25 - 2015-11-14
  17520. - New features
  17521. - Implement Hubic storage system
  17522. - Fixes
  17523. - Fix deletion of some excluded files without –delete-excluded
  17524. - This could have deleted files unexpectedly on sync
  17525. - Always check first with --dry-run!
  17526. - Swift
  17527. - Stop SetModTime losing metadata (eg X-Object-Manifest)
  17528. - This could have caused data loss for files > 5GB in size
  17529. - Use ContentType from Object to avoid lookups in listings
  17530. - OneDrive
  17531. - disable server side copy as it seems to be broken at Microsoft
  17532. v1.24 - 2015-11-07
  17533. - New features
  17534. - Add support for Microsoft OneDrive
  17535. - Add --no-check-certificate option to disable server certificate
  17536. verification
  17537. - Add async readahead buffer for faster transfer of big files
  17538. - Fixes
  17539. - Allow spaces in remotes and check remote names for validity at
  17540. creation time
  17541. - Allow ‘&’ and disallow ‘:’ in Windows filenames.
  17542. - Swift
  17543. - Ignore directory marker objects where appropriate - allows
  17544. working with Hubic
  17545. - Don’t delete the container if fs wasn’t at root
  17546. - S3
  17547. - Don’t delete the bucket if fs wasn’t at root
  17548. - Google Cloud Storage
  17549. - Don’t delete the bucket if fs wasn’t at root
  17550. v1.23 - 2015-10-03
  17551. - New features
  17552. - Implement rclone size for measuring remotes
  17553. - Fixes
  17554. - Fix headless config for drive and gcs
  17555. - Tell the user they should try again if the webserver method
  17556. failed
  17557. - Improve output of --dump-headers
  17558. - S3
  17559. - Allow anonymous access to public buckets
  17560. - Swift
  17561. - Stop chunked operations logging “Failed to read info: Object Not
  17562. Found”
  17563. - Use Content-Length on uploads for extra reliability
  17564. v1.22 - 2015-09-28
  17565. - Implement rsync like include and exclude flags
  17566. - swift
  17567. - Support files > 5GB - thanks Sergey Tolmachev
  17568. v1.21 - 2015-09-22
  17569. - New features
  17570. - Display individual transfer progress
  17571. - Make lsl output times in localtime
  17572. - Fixes
  17573. - Fix allowing user to override credentials again in Drive, GCS
  17574. and ACD
  17575. - Amazon Drive
  17576. - Implement compliant pacing scheme
  17577. - Google Drive
  17578. - Make directory reads concurrent for increased speed.
  17579. v1.20 - 2015-09-15
  17580. - New features
  17581. - Amazon Drive support
  17582. - Oauth support redone - fix many bugs and improve usability
  17583. - Use “golang.org/x/oauth2” as oauth libary of choice
  17584. - Improve oauth usability for smoother initial signup
  17585. - drive, googlecloudstorage: optionally use auto config for
  17586. the oauth token
  17587. - Implement –dump-headers and –dump-bodies debug flags
  17588. - Show multiple matched commands if abbreviation too short
  17589. - Implement server side move where possible
  17590. - local
  17591. - Always use UNC paths internally on Windows - fixes a lot of bugs
  17592. - dropbox
  17593. - force use of our custom transport which makes timeouts work
  17594. - Thanks to Klaus Post for lots of help with this release
  17595. v1.19 - 2015-08-28
  17596. - New features
  17597. - Server side copies for s3/swift/drive/dropbox/gcs
  17598. - Move command - uses server side copies if it can
  17599. - Implement –retries flag - tries 3 times by default
  17600. - Build for plan9/amd64 and solaris/amd64 too
  17601. - Fixes
  17602. - Make a current version download with a fixed URL for scripting
  17603. - Ignore rmdir in limited fs rather than throwing error
  17604. - dropbox
  17605. - Increase chunk size to improve upload speeds massively
  17606. - Issue an error message when trying to upload bad file name
  17607. v1.18 - 2015-08-17
  17608. - drive
  17609. - Add --drive-use-trash flag so rclone trashes instead of deletes
  17610. - Add “Forbidden to download” message for files with no
  17611. downloadURL
  17612. - dropbox
  17613. - Remove datastore
  17614. - This was deprecated and it caused a lot of problems
  17615. - Modification times and MD5SUMs no longer stored
  17616. - Fix uploading files > 2GB
  17617. - s3
  17618. - use official AWS SDK from github.com/aws/aws-sdk-go
  17619. - NB will most likely require you to delete and recreate remote
  17620. - enable multipart upload which enables files > 5GB
  17621. - tested with Ceph / RadosGW / S3 emulation
  17622. - many thanks to Sam Liston and Brian Haymore at the Utah Center
  17623. for High Performance Computing for a Ceph test account
  17624. - misc
  17625. - Show errors when reading the config file
  17626. - Do not print stats in quiet mode - thanks Leonid Shalupov
  17627. - Add FAQ
  17628. - Fix created directories not obeying umask
  17629. - Linux installation instructions - thanks Shimon Doodkin
  17630. v1.17 - 2015-06-14
  17631. - dropbox: fix case insensitivity issues - thanks Leonid Shalupov
  17632. v1.16 - 2015-06-09
  17633. - Fix uploading big files which was causing timeouts or panics
  17634. - Don’t check md5sum after download with –size-only
  17635. v1.15 - 2015-06-06
  17636. - Add –checksum flag to only discard transfers by MD5SUM - thanks Alex
  17637. Couper
  17638. - Implement –size-only flag to sync on size not checksum & modtime
  17639. - Expand docs and remove duplicated information
  17640. - Document rclone’s limitations with directories
  17641. - dropbox: update docs about case insensitivity
  17642. v1.14 - 2015-05-21
  17643. - local: fix encoding of non utf-8 file names - fixes a duplicate file
  17644. problem
  17645. - drive: docs about rate limiting
  17646. - google cloud storage: Fix compile after API change in
  17647. “google.golang.org/api/storage/v1”
  17648. v1.13 - 2015-05-10
  17649. - Revise documentation (especially sync)
  17650. - Implement –timeout and –conntimeout
  17651. - s3: ignore etags from multipart uploads which aren’t md5sums
  17652. v1.12 - 2015-03-15
  17653. - drive: Use chunked upload for files above a certain size
  17654. - drive: add –drive-chunk-size and –drive-upload-cutoff parameters
  17655. - drive: switch to insert from update when a failed copy deletes the
  17656. upload
  17657. - core: Log duplicate files if they are detected
  17658. v1.11 - 2015-03-04
  17659. - swift: add region parameter
  17660. - drive: fix crash on failed to update remote mtime
  17661. - In remote paths, change native directory separators to /
  17662. - Add synchronization to ls/lsl/lsd output to stop corruptions
  17663. - Ensure all stats/log messages to go stderr
  17664. - Add –log-file flag to log everything (including panics) to file
  17665. - Make it possible to disable stats printing with –stats=0
  17666. - Implement –bwlimit to limit data transfer bandwidth
  17667. v1.10 - 2015-02-12
  17668. - s3: list an unlimited number of items
  17669. - Fix getting stuck in the configurator
  17670. v1.09 - 2015-02-07
  17671. - windows: Stop drive letters (eg C:) getting mixed up with remotes
  17672. (eg drive:)
  17673. - local: Fix directory separators on Windows
  17674. - drive: fix rate limit exceeded errors
  17675. v1.08 - 2015-02-04
  17676. - drive: fix subdirectory listing to not list entire drive
  17677. - drive: Fix SetModTime
  17678. - dropbox: adapt code to recent library changes
  17679. v1.07 - 2014-12-23
  17680. - google cloud storage: fix memory leak
  17681. v1.06 - 2014-12-12
  17682. - Fix “Couldn’t find home directory” on OSX
  17683. - swift: Add tenant parameter
  17684. - Use new location of Google API packages
  17685. v1.05 - 2014-08-09
  17686. - Improved tests and consequently lots of minor fixes
  17687. - core: Fix race detected by go race detector
  17688. - core: Fixes after running errcheck
  17689. - drive: reset root directory on Rmdir and Purge
  17690. - fs: Document that Purger returns error on empty directory, test and
  17691. fix
  17692. - google cloud storage: fix ListDir on subdirectory
  17693. - google cloud storage: re-read metadata in SetModTime
  17694. - s3: make reading metadata more reliable to work around eventual
  17695. consistency problems
  17696. - s3: strip trailing / from ListDir()
  17697. - swift: return directories without / in ListDir
  17698. v1.04 - 2014-07-21
  17699. - google cloud storage: Fix crash on Update
  17700. v1.03 - 2014-07-20
  17701. - swift, s3, dropbox: fix updated files being marked as corrupted
  17702. - Make compile with go 1.1 again
  17703. v1.02 - 2014-07-19
  17704. - Implement Dropbox remote
  17705. - Implement Google Cloud Storage remote
  17706. - Verify Md5sums and Sizes after copies
  17707. - Remove times from “ls” command - lists sizes only
  17708. - Add add “lsl” - lists times and sizes
  17709. - Add “md5sum” command
  17710. v1.01 - 2014-07-04
  17711. - drive: fix transfer of big files using up lots of memory
  17712. v1.00 - 2014-07-03
  17713. - drive: fix whole second dates
  17714. v0.99 - 2014-06-26
  17715. - Fix –dry-run not working
  17716. - Make compatible with go 1.1
  17717. v0.98 - 2014-05-30
  17718. - s3: Treat missing Content-Length as 0 for some ceph installations
  17719. - rclonetest: add file with a space in
  17720. v0.97 - 2014-05-05
  17721. - Implement copying of single files
  17722. - s3 & swift: support paths inside containers/buckets
  17723. v0.96 - 2014-04-24
  17724. - drive: Fix multiple files of same name being created
  17725. - drive: Use o.Update and fs.Put to optimise transfers
  17726. - Add version number, -V and –version
  17727. v0.95 - 2014-03-28
  17728. - rclone.org: website, docs and graphics
  17729. - drive: fix path parsing
  17730. v0.94 - 2014-03-27
  17731. - Change remote format one last time
  17732. - GNU style flags
  17733. v0.93 - 2014-03-16
  17734. - drive: store token in config file
  17735. - cross compile other versions
  17736. - set strict permissions on config file
  17737. v0.92 - 2014-03-15
  17738. - Config fixes and –config option
  17739. v0.91 - 2014-03-15
  17740. - Make config file
  17741. v0.90 - 2013-06-27
  17742. - Project named rclone
  17743. v0.00 - 2012-11-18
  17744. - Project started
  17745. BUGS AND LIMITATIONS
  17746. Limitations
  17747. Directory timestamps aren’t preserved
  17748. Rclone doesn’t currently preserve the timestamps of directories. This is
  17749. because rclone only really considers objects when syncing.
  17750. Rclone struggles with millions of files in a directory
  17751. Currently rclone loads each directory entirely into memory before using
  17752. it. Since each Rclone object takes 0.5k-1k of memory this can take a
  17753. very long time and use an extremely large amount of memory.
  17754. Millions of files in a directory tend caused by software writing cloud
  17755. storage (eg S3 buckets).
  17756. Bucket based remotes and folders
  17757. Bucket based remotes (eg S3/GCS/Swift/B2) do not have a concept of
  17758. directories. Rclone therefore cannot create directories in them which
  17759. means that empty directories on a bucket based remote will tend to
  17760. disappear.
  17761. Some software creates empty keys ending in / as directory markers.
  17762. Rclone doesn’t do this as it potentially creates more objects and costs
  17763. more. It may do in future (probably with a flag).
  17764. Bugs
  17765. Bugs are stored in rclone’s GitHub project:
  17766. - Reported bugs
  17767. - Known issues
  17768. Frequently Asked Questions
  17769. Do all cloud storage systems support all rclone commands
  17770. Yes they do. All the rclone commands (eg sync, copy etc) will work on
  17771. all the remote storage systems.
  17772. Can I copy the config from one machine to another
  17773. Sure! Rclone stores all of its config in a single file. If you want to
  17774. find this file, run rclone config file which will tell you where it is.
  17775. See the remote setup docs for more info.
  17776. How do I configure rclone on a remote / headless box with no browser?
  17777. This has now been documented in its own remote setup page.
  17778. Can rclone sync directly from drive to s3
  17779. Rclone can sync between two remote cloud storage systems just fine.
  17780. Note that it effectively downloads the file and uploads it again, so the
  17781. node running rclone would need to have lots of bandwidth.
  17782. The syncs would be incremental (on a file by file basis).
  17783. Eg
  17784. rclone sync drive:Folder s3:bucket
  17785. Using rclone from multiple locations at the same time
  17786. You can use rclone from multiple places at the same time if you choose
  17787. different subdirectory for the output, eg
  17788. Server A> rclone sync /tmp/whatever remote:ServerA
  17789. Server B> rclone sync /tmp/whatever remote:ServerB
  17790. If you sync to the same directory then you should use rclone copy
  17791. otherwise the two rclones may delete each others files, eg
  17792. Server A> rclone copy /tmp/whatever remote:Backup
  17793. Server B> rclone copy /tmp/whatever remote:Backup
  17794. The file names you upload from Server A and Server B should be different
  17795. in this case, otherwise some file systems (eg Drive) may make
  17796. duplicates.
  17797. Why doesn’t rclone support partial transfers / binary diffs like rsync?
  17798. Rclone stores each file you transfer as a native object on the remote
  17799. cloud storage system. This means that you can see the files you upload
  17800. as expected using alternative access methods (eg using the Google Drive
  17801. web interface). There is a 1:1 mapping between files on your hard disk
  17802. and objects created in the cloud storage system.
  17803. Cloud storage systems (at least none I’ve come across yet) don’t support
  17804. partially uploading an object. You can’t take an existing object, and
  17805. change some bytes in the middle of it.
  17806. It would be possible to make a sync system which stored binary diffs
  17807. instead of whole objects like rclone does, but that would break the 1:1
  17808. mapping of files on your hard disk to objects in the remote cloud
  17809. storage system.
  17810. All the cloud storage systems support partial downloads of content, so
  17811. it would be possible to make partial downloads work. However to make
  17812. this work efficiently this would require storing a significant amount of
  17813. metadata, which breaks the desired 1:1 mapping of files to objects.
  17814. Can rclone do bi-directional sync?
  17815. No, not at present. rclone only does uni-directional sync from A -> B.
  17816. It may do in the future though since it has all the primitives - it just
  17817. requires writing the algorithm to do it.
  17818. Can I use rclone with an HTTP proxy?
  17819. Yes. rclone will follow the standard environment variables for proxies,
  17820. similar to cURL and other programs.
  17821. In general the variables are called http_proxy (for services reached
  17822. over http) and https_proxy (for services reached over https). Most
  17823. public services will be using https, but you may wish to set both.
  17824. The content of the variable is protocol://server:port. The protocol
  17825. value is the one used to talk to the proxy server, itself, and is
  17826. commonly either http or socks5.
  17827. Slightly annoyingly, there is no _standard_ for the name; some
  17828. applications may use http_proxy but another one HTTP_PROXY. The Go
  17829. libraries used by rclone will try both variations, but you may wish to
  17830. set all possibilities. So, on Linux, you may end up with code similar to
  17831. export http_proxy=http://proxyserver:12345
  17832. export https_proxy=$http_proxy
  17833. export HTTP_PROXY=$http_proxy
  17834. export HTTPS_PROXY=$http_proxy
  17835. The NO_PROXY allows you to disable the proxy for specific hosts. Hosts
  17836. must be comma separated, and can contain domains or parts. For instance
  17837. “foo.com” also matches “bar.foo.com”.
  17838. e.g.
  17839. export no_proxy=localhost,127.0.0.0/8,my.host.name
  17840. export NO_PROXY=$no_proxy
  17841. Note that the ftp backend does not support ftp_proxy yet.
  17842. Rclone gives x509: failed to load system roots and no roots provided error
  17843. This means that rclone can’t file the SSL root certificates. Likely you
  17844. are running rclone on a NAS with a cut-down Linux OS, or possibly on
  17845. Solaris.
  17846. Rclone (via the Go runtime) tries to load the root certificates from
  17847. these places on Linux.
  17848. "/etc/ssl/certs/ca-certificates.crt", // Debian/Ubuntu/Gentoo etc.
  17849. "/etc/pki/tls/certs/ca-bundle.crt", // Fedora/RHEL
  17850. "/etc/ssl/ca-bundle.pem", // OpenSUSE
  17851. "/etc/pki/tls/cacert.pem", // OpenELEC
  17852. So doing something like this should fix the problem. It also sets the
  17853. time which is important for SSL to work properly.
  17854. mkdir -p /etc/ssl/certs/
  17855. curl -o /etc/ssl/certs/ca-certificates.crt https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt
  17856. ntpclient -s -h pool.ntp.org
  17857. The two environment variables SSL_CERT_FILE and SSL_CERT_DIR, mentioned
  17858. in the x509 package, provide an additional way to provide the SSL root
  17859. certificates.
  17860. Note that you may need to add the --insecure option to the curl command
  17861. line if it doesn’t work without.
  17862. curl --insecure -o /etc/ssl/certs/ca-certificates.crt https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt
  17863. Rclone gives Failed to load config file: function not implemented error
  17864. Likely this means that you are running rclone on Linux version not
  17865. supported by the go runtime, ie earlier than version 2.6.23.
  17866. See the system requirements section in the go install docs for full
  17867. details.
  17868. All my uploaded docx/xlsx/pptx files appear as archive/zip
  17869. This is caused by uploading these files from a Windows computer which
  17870. hasn’t got the Microsoft Office suite installed. The easiest way to fix
  17871. is to install the Word viewer and the Microsoft Office Compatibility
  17872. Pack for Word, Excel, and PowerPoint 2007 and later versions’ file
  17873. formats
  17874. tcp lookup some.domain.com no such host
  17875. This happens when rclone cannot resolve a domain. Please check that your
  17876. DNS setup is generally working, e.g.
  17877. # both should print a long list of possible IP addresses
  17878. dig www.googleapis.com # resolve using your default DNS
  17879. dig www.googleapis.com @8.8.8.8 # resolve with Google's DNS server
  17880. If you are using systemd-resolved (default on Arch Linux), ensure it is
  17881. at version 233 or higher. Previous releases contain a bug which causes
  17882. not all domains to be resolved properly.
  17883. Additionally with the GODEBUG=netdns= environment variable the Go
  17884. resolver decision can be influenced. This also allows to resolve certain
  17885. issues with DNS resolution. See the name resolution section in the go
  17886. docs.
  17887. The total size reported in the stats for a sync is wrong and keeps changing
  17888. It is likely you have more than 10,000 files that need to be synced. By
  17889. default rclone only gets 10,000 files ahead in a sync so as not to use
  17890. up too much memory. You can change this default with the –max-backlog
  17891. flag.
  17892. Rclone is using too much memory or appears to have a memory leak
  17893. Rclone is written in Go which uses a garbage collector. The default
  17894. settings for the garbage collector mean that it runs when the heap size
  17895. has doubled.
  17896. However it is possible to tune the garbage collector to use less memory
  17897. by setting GOGC to a lower value, say export GOGC=20. This will make the
  17898. garbage collector work harder, reducing memory size at the expense of
  17899. CPU usage.
  17900. The most common cause of rclone using lots of memory is a single
  17901. directory with thousands or millions of files in. Rclone has to load
  17902. this entirely into memory as rclone objects. Each rclone object takes
  17903. 0.5k-1k of memory.
  17904. License
  17905. This is free software under the terms of MIT the license (check the
  17906. COPYING file included with the source code).
  17907. Copyright (C) 2019 by Nick Craig-Wood https://www.craig-wood.com/nick/
  17908. Permission is hereby granted, free of charge, to any person obtaining a copy
  17909. of this software and associated documentation files (the "Software"), to deal
  17910. in the Software without restriction, including without limitation the rights
  17911. to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  17912. copies of the Software, and to permit persons to whom the Software is
  17913. furnished to do so, subject to the following conditions:
  17914. The above copyright notice and this permission notice shall be included in
  17915. all copies or substantial portions of the Software.
  17916. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17917. IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  17918. FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  17919. AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  17920. LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  17921. OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  17922. THE SOFTWARE.
  17923. Authors
  17924. - Nick Craig-Wood nick@craig-wood.com
  17925. Contributors
  17926. - Alex Couper amcouper@gmail.com
  17927. - Leonid Shalupov leonid@shalupov.com shalupov@diverse.org.ru
  17928. - Shimon Doodkin helpmepro1@gmail.com
  17929. - Colin Nicholson colin@colinn.com
  17930. - Klaus Post klauspost@gmail.com
  17931. - Sergey Tolmachev tolsi.ru@gmail.com
  17932. - Adriano Aurélio Meirelles adriano@atinge.com
  17933. - C. Bess cbess@users.noreply.github.com
  17934. - Dmitry Burdeev dibu28@gmail.com
  17935. - Joseph Spurrier github@josephspurrier.com
  17936. - Björn Harrtell bjorn@wololo.org
  17937. - Xavier Lucas xavier.lucas@corp.ovh.com
  17938. - Werner Beroux werner@beroux.com
  17939. - Brian Stengaard brian@stengaard.eu
  17940. - Jakub Gedeon jgedeon@sofi.com
  17941. - Jim Tittsler jwt@onjapan.net
  17942. - Michal Witkowski michal@improbable.io
  17943. - Fabian Ruff fabian.ruff@sap.com
  17944. - Leigh Klotz klotz@quixey.com
  17945. - Romain Lapray lapray.romain@gmail.com
  17946. - Justin R. Wilson jrw972@gmail.com
  17947. - Antonio Messina antonio.s.messina@gmail.com
  17948. - Stefan G. Weichinger office@oops.co.at
  17949. - Per Cederberg cederberg@gmail.com
  17950. - Radek Šenfeld rush@logic.cz
  17951. - Fredrik Fornwall fredrik@fornwall.net
  17952. - Asko Tamm asko@deekit.net
  17953. - xor-zz xor@gstocco.com
  17954. - Tomasz Mazur tmazur90@gmail.com
  17955. - Marco Paganini paganini@paganini.net
  17956. - Felix Bünemann buenemann@louis.info
  17957. - Durval Menezes jmrclone@durval.com
  17958. - Luiz Carlos Rumbelsperger Viana maxd13_luiz_carlos@hotmail.com
  17959. - Stefan Breunig stefan-github@yrden.de
  17960. - Alishan Ladhani ali-l@users.noreply.github.com
  17961. - 0xJAKE 0xJAKE@users.noreply.github.com
  17962. - Thibault Molleman thibaultmol@users.noreply.github.com
  17963. - Scott McGillivray scott.mcgillivray@gmail.com
  17964. - Bjørn Erik Pedersen bjorn.erik.pedersen@gmail.com
  17965. - Lukas Loesche lukas@mesosphere.io
  17966. - emyarod allllaboutyou@gmail.com
  17967. - T.C. Ferguson tcf909@gmail.com
  17968. - Brandur brandur@mutelight.org
  17969. - Dario Giovannetti dev@dariogiovannetti.net
  17970. - Károly Oláh okaresz@aol.com
  17971. - Jon Yergatian jon@macfanatic.ca
  17972. - Jack Schmidt github@mowsey.org
  17973. - Dedsec1 Dedsec1@users.noreply.github.com
  17974. - Hisham Zarka hzarka@gmail.com
  17975. - Jérôme Vizcaino jerome.vizcaino@gmail.com
  17976. - Mike Tesch mjt6129@rit.edu
  17977. - Marvin Watson marvwatson@users.noreply.github.com
  17978. - Danny Tsai danny8376@gmail.com
  17979. - Yoni Jah yonjah+git@gmail.com yonjah+github@gmail.com
  17980. - Stephen Harris github@spuddy.org sweharris@users.noreply.github.com
  17981. - Ihor Dvoretskyi ihor.dvoretskyi@gmail.com
  17982. - Jon Craton jncraton@gmail.com
  17983. - Hraban Luyat hraban@0brg.net
  17984. - Michael Ledin mledin89@gmail.com
  17985. - Martin Kristensen me@azgul.com
  17986. - Too Much IO toomuchio@users.noreply.github.com
  17987. - Anisse Astier anisse@astier.eu
  17988. - Zahiar Ahmed zahiar@live.com
  17989. - Igor Kharin igorkharin@gmail.com
  17990. - Bill Zissimopoulos billziss@navimatics.com
  17991. - Bob Potter bobby.potter@gmail.com
  17992. - Steven Lu tacticalazn@gmail.com
  17993. - Sjur Fredriksen sjurtf@ifi.uio.no
  17994. - Ruwbin hubus12345@gmail.com
  17995. - Fabian Möller fabianm88@gmail.com f.moeller@nynex.de
  17996. - Edward Q. Bridges github@eqbridges.com
  17997. - Vasiliy Tolstov v.tolstov@selfip.ru
  17998. - Harshavardhana harsha@minio.io
  17999. - sainaen sainaen@gmail.com
  18000. - gdm85 gdm85@users.noreply.github.com
  18001. - Yaroslav Halchenko debian@onerussian.com
  18002. - John Papandriopoulos jpap@users.noreply.github.com
  18003. - Zhiming Wang zmwangx@gmail.com
  18004. - Andy Pilate cubox@cubox.me
  18005. - Oliver Heyme olihey@googlemail.com olihey@users.noreply.github.com
  18006. de8olihe@lego.com
  18007. - wuyu wuyu@yunify.com
  18008. - Andrei Dragomir adragomi@adobe.com
  18009. - Christian Brüggemann mail@cbruegg.com
  18010. - Alex McGrath Kraak amkdude@gmail.com
  18011. - bpicode bjoern.pirnay@googlemail.com
  18012. - Daniel Jagszent daniel@jagszent.de
  18013. - Josiah White thegenius2009@gmail.com
  18014. - Ishuah Kariuki kariuki@ishuah.com ishuah91@gmail.com
  18015. - Jan Varho jan@varho.org
  18016. - Girish Ramakrishnan girish@cloudron.io
  18017. - LingMan LingMan@users.noreply.github.com
  18018. - Jacob McNamee jacobmcnamee@gmail.com
  18019. - jersou jertux@gmail.com
  18020. - thierry thierry@substantiel.fr
  18021. - Simon Leinen simon.leinen@gmail.com ubuntu@s3-test.novalocal
  18022. - Dan Dascalescu ddascalescu+github@gmail.com
  18023. - Jason Rose jason@jro.io
  18024. - Andrew Starr-Bochicchio a.starr.b@gmail.com
  18025. - John Leach john@johnleach.co.uk
  18026. - Corban Raun craun@instructure.com
  18027. - Pierre Carlson mpcarl@us.ibm.com
  18028. - Ernest Borowski er.borowski@gmail.com
  18029. - Remus Bunduc remus.bunduc@gmail.com
  18030. - Iakov Davydov iakov.davydov@unil.ch dav05.gith@myths.ru
  18031. - Jakub Tasiemski tasiemski@gmail.com
  18032. - David Minor dminor@saymedia.com
  18033. - Tim Cooijmans cooijmans.tim@gmail.com
  18034. - Laurence liuxy6@gmail.com
  18035. - Giovanni Pizzi gio.piz@gmail.com
  18036. - Filip Bartodziej filipbartodziej@gmail.com
  18037. - Jon Fautley jon@dead.li
  18038. - lewapm 32110057+lewapm@users.noreply.github.com
  18039. - Yassine Imounachen yassine256@gmail.com
  18040. - Chris Redekop chris-redekop@users.noreply.github.com
  18041. chris.redekop@gmail.com
  18042. - Jon Fautley jon@adenoid.appstal.co.uk
  18043. - Will Gunn WillGunn@users.noreply.github.com
  18044. - Lucas Bremgartner lucas@bremis.ch
  18045. - Jody Frankowski jody.frankowski@gmail.com
  18046. - Andreas Roussos arouss1980@gmail.com
  18047. - nbuchanan nbuchanan@utah.gov
  18048. - Durval Menezes rclone@durval.com
  18049. - Victor vb-github@viblo.se
  18050. - Mateusz pabian.mateusz@gmail.com
  18051. - Daniel Loader spicypixel@gmail.com
  18052. - David0rk davidork@gmail.com
  18053. - Alexander Neumann alexander@bumpern.de
  18054. - Giri Badanahatti gbadanahatti@us.ibm.com@Giris-MacBook-Pro.local
  18055. - Leo R. Lundgren leo@finalresort.org
  18056. - wolfv wolfv6@users.noreply.github.com
  18057. - Dave Pedu dave@davepedu.com
  18058. - Stefan Lindblom lindblom@spotify.com
  18059. - seuffert oliver@seuffert.biz
  18060. - gbadanahatti 37121690+gbadanahatti@users.noreply.github.com
  18061. - Keith Goldfarb barkofdelight@gmail.com
  18062. - Steve Kriss steve@heptio.com
  18063. - Chih-Hsuan Yen yan12125@gmail.com
  18064. - Alexander Neumann fd0@users.noreply.github.com
  18065. - Matt Holt mholt@users.noreply.github.com
  18066. - Eri Bastos bastos.eri@gmail.com
  18067. - Michael P. Dubner pywebmail@list.ru
  18068. - Antoine GIRARD sapk@users.noreply.github.com
  18069. - Mateusz Piotrowski mpp302@gmail.com
  18070. - Animosity022 animosity22@users.noreply.github.com
  18071. earl.texter@gmail.com
  18072. - Peter Baumgartner pete@lincolnloop.com
  18073. - Craig Rachel craig@craigrachel.com
  18074. - Michael G. Noll miguno@users.noreply.github.com
  18075. - hensur me@hensur.de
  18076. - Oliver Heyme de8olihe@lego.com
  18077. - Richard Yang richard@yenforyang.com
  18078. - Piotr Oleszczyk piotr.oleszczyk@gmail.com
  18079. - Rodrigo rodarima@gmail.com
  18080. - NoLooseEnds NoLooseEnds@users.noreply.github.com
  18081. - Jakub Karlicek jakub@karlicek.me
  18082. - John Clayton john@codemonkeylabs.com
  18083. - Kasper Byrdal Nielsen byrdal76@gmail.com
  18084. - Benjamin Joseph Dag bjdag1234@users.noreply.github.com
  18085. - themylogin themylogin@gmail.com
  18086. - Onno Zweers onno.zweers@surfsara.nl
  18087. - Jasper Lievisse Adriaanse jasper@humppa.nl
  18088. - sandeepkru sandeep.ummadi@gmail.com
  18089. sandeepkru@users.noreply.github.com
  18090. - HerrH atomtigerzoo@users.noreply.github.com
  18091. - Andrew 4030760+sparkyman215@users.noreply.github.com
  18092. - dan smith XX1011@gmail.com
  18093. - Oleg Kovalov iamolegkovalov@gmail.com
  18094. - Ruben Vandamme github-com-00ff86@vandamme.email
  18095. - Cnly minecnly@gmail.com
  18096. - Andres Alvarez 1671935+kir4h@users.noreply.github.com
  18097. - reddi1 xreddi@gmail.com
  18098. - Matt Tucker matthewtckr@gmail.com
  18099. - Sebastian Bünger buengese@gmail.com
  18100. - Martin Polden mpolden@mpolden.no
  18101. - Alex Chen Cnly@users.noreply.github.com
  18102. - Denis deniskovpen@gmail.com
  18103. - bsteiss 35940619+bsteiss@users.noreply.github.com
  18104. - Cédric Connes cedric.connes@gmail.com
  18105. - Dr. Tobias Quathamer toddy15@users.noreply.github.com
  18106. - dcpu 42736967+dcpu@users.noreply.github.com
  18107. - Sheldon Rupp me@shel.io
  18108. - albertony 12441419+albertony@users.noreply.github.com
  18109. - cron410 cron410@gmail.com
  18110. - Anagh Kumar Baranwal anaghk.dos@gmail.com
  18111. 6824881+darthShadow@users.noreply.github.com
  18112. - Felix Brucker felix@felixbrucker.com
  18113. - Santiago Rodríguez scollazo@users.noreply.github.com
  18114. - Craig Miskell craig.miskell@fluxfederation.com
  18115. - Antoine GIRARD sapk@sapk.fr
  18116. - Joanna Marek joanna.marek@u2i.com
  18117. - frenos frenos@users.noreply.github.com
  18118. - ssaqua ssaqua@users.noreply.github.com
  18119. - xnaas me@xnaas.info
  18120. - Frantisek Fuka fuka@fuxoft.cz
  18121. - Paul Kohout pauljkohout@yahoo.com
  18122. - dcpu 43330287+dcpu@users.noreply.github.com
  18123. - jackyzy823 jackyzy823@gmail.com
  18124. - David Haguenauer ml@kurokatta.org
  18125. - teresy hi.teresy@gmail.com
  18126. - buergi patbuergi@gmx.de
  18127. - Florian Gamboeck mail@floga.de
  18128. - Ralf Hemberger 10364191+rhemberger@users.noreply.github.com
  18129. - Scott Edlund sedlund@users.noreply.github.com
  18130. - Erik Swanson erik@retailnext.net
  18131. - Jake Coggiano jake@stripe.com
  18132. - brused27 brused27@noemailaddress
  18133. - Peter Kaminski kaminski@istori.com
  18134. - Henry Ptasinski henry@logout.com
  18135. - Alexander kharkovalexander@gmail.com
  18136. - Garry McNulty garrmcnu@gmail.com
  18137. - Mathieu Carbou mathieu.carbou@gmail.com
  18138. - Mark Otway mark@otway.com
  18139. - William Cocker 37018962+WilliamCocker@users.noreply.github.com
  18140. - François Leurent 131.js@cloudyks.org
  18141. - Arkadius Stefanski arkste@gmail.com
  18142. - Jay dev@jaygoel.com
  18143. - andrea rota a@xelera.eu
  18144. - nicolov nicolov@users.noreply.github.com
  18145. - Dario Guzik dario@guzik.com.ar
  18146. - qip qip@users.noreply.github.com
  18147. - yair@unicorn yair@unicorn
  18148. - Matt Robinson brimstone@the.narro.ws
  18149. - kayrus kay.diam@gmail.com
  18150. - Rémy Léone remy.leone@gmail.com
  18151. - Wojciech Smigielski wojciech.hieronim.smigielski@gmail.com
  18152. - weetmuts oehrstroem@gmail.com
  18153. - Jonathan vanillajonathan@users.noreply.github.com
  18154. - James Carpenter orbsmiv@users.noreply.github.com
  18155. - Vince vince0villamora@gmail.com
  18156. - Nestar47 47841759+Nestar47@users.noreply.github.com
  18157. - Six brbsix@gmail.com
  18158. - Alexandru Bumbacea alexandru.bumbacea@booking.com
  18159. - calisro robert.calistri@gmail.com
  18160. - Dr.Rx david.rey@nventive.com
  18161. - marcintustin marcintustin@users.noreply.github.com
  18162. - jaKa Močnik jaka@koofr.net
  18163. - Fionera fionera@fionera.de
  18164. - Dan Walters dan@walters.io
  18165. - Danil Semelenov sgtpep@users.noreply.github.com
  18166. - xopez 28950736+xopez@users.noreply.github.com
  18167. - Ben Boeckel mathstuf@gmail.com
  18168. - Manu manu@snapdragon.cc
  18169. - Kyle E. Mitchell kyle@kemitchell.com
  18170. - Gary Kim gary@garykim.dev
  18171. - Jon jonathn@github.com
  18172. - Jeff Quinn jeffrey.quinn@bluevoyant.com
  18173. - Peter Berbec peter@berbec.com
  18174. - didil 1284255+didil@users.noreply.github.com
  18175. - id01 gaviniboom@gmail.com
  18176. - Robert Marko robimarko@gmail.com
  18177. - Philip Harvey 32467456+pharveybattelle@users.noreply.github.com
  18178. - JorisE JorisE@users.noreply.github.com
  18179. - garry415 garry.415@gmail.com
  18180. - forgems forgems@gmail.com
  18181. - Florian Apolloner florian@apolloner.eu
  18182. - Aleksandar Janković office@ajankovic.com
  18183. ajankovic@users.noreply.github.com
  18184. - Maran maran@protonmail.com
  18185. - nguyenhuuluan434 nguyenhuuluan434@gmail.com
  18186. - Laura Hausmann zotan@zotan.pw laura@hausmann.dev
  18187. - yparitcher y@paritcher.com
  18188. - AbelThar abela.tharen@gmail.com
  18189. - Matti Niemenmaa matti.niemenmaa+git@iki.fi
  18190. - Russell Davis russelldavis@users.noreply.github.com
  18191. - Yi FU yi.fu@tink.se
  18192. - Paul Millar paul.millar@desy.de
  18193. - justinalin justinalin@qnap.com
  18194. - EliEron subanimehd@gmail.com
  18195. - justina777 chiahuei.lin@gmail.com
  18196. - Chaitanya Bankanhal bchaitanya15@gmail.com
  18197. - Michał Matczuk michal@scylladb.com
  18198. - Macavirus macavirus@zoho.com
  18199. - Abhinav Sharma abhi18av@users.noreply.github.com
  18200. - ginvine 34869051+ginvine@users.noreply.github.com
  18201. - Patrick Wang mail6543210@yahoo.com.tw
  18202. - Cenk Alti cenkalti@gmail.com
  18203. - Andreas Chlupka andy@chlupka.com
  18204. - Alfonso Montero amontero@tinet.org
  18205. - Ivan Andreev ivandeex@gmail.com
  18206. - David Baumgold david@davidbaumgold.com
  18207. - Lars Lehtonen lars.lehtonen@gmail.com
  18208. - Matei David matei.david@gmail.com
  18209. - David david.bramwell@endemolshine.com
  18210. - Anthony Rusdi 33247310+antrusd@users.noreply.github.com
  18211. - Richard Patel me@terorie.dev
  18212. - 庄天翼 zty0826@gmail.com
  18213. - SwitchJS dev@switchjs.com
  18214. - Raphael PowershellNinja@users.noreply.github.com
  18215. - Sezal Agrawal sezalagrawal@gmail.com
  18216. - Tyler TylerNakamura@users.noreply.github.com
  18217. - Brett Dutro brett.dutro@gmail.com
  18218. - Vighnesh SK booterror99@gmail.com
  18219. - Arijit Biswas dibbyo456@gmail.com
  18220. - Michele Caci michele.caci@gmail.com
  18221. - AlexandrBoltris ua2fgb@gmail.com
  18222. - Bryce Larson blarson@saltstack.com
  18223. - Carlos Ferreyra crypticmind@gmail.com
  18224. - Saksham Khanna sakshamkhanna@outlook.com
  18225. - dausruddin 5763466+dausruddin@users.noreply.github.com
  18226. - zero-24 zero-24@users.noreply.github.com
  18227. - Xiaoxing Ye ye@xiaoxing.us
  18228. - Barry Muldrey barry@muldrey.net
  18229. - Sebastian Brandt sebastian.brandt@friday.de
  18230. - Marco Molteni marco.molteni@mailbox.org
  18231. - Ankur Gupta ankur0493@gmail.com
  18232. - Maciej Zimnoch maciej@scylladb.com
  18233. - anuar45 serdaliyev.anuar@gmail.com
  18234. - Fernando ferferga@users.noreply.github.com
  18235. - David Cole david.cole@sohonet.com
  18236. - Wei He git@weispot.com
  18237. - Outvi V 19144373+outloudvi@users.noreply.github.com
  18238. - Thomas Kriechbaumer thomas@kriechbaumer.name
  18239. - Tennix tennix@users.noreply.github.com
  18240. - Ole Schütt ole@schuett.name
  18241. - Kuang-che Wu kcwu@csie.org
  18242. - Thomas Eales wingsuit@users.noreply.github.com
  18243. - Paul Tinsley paul.tinsley@vitalsource.com
  18244. - Felix Hungenberg git@shiftgeist.com
  18245. - Benjamin Richter github@dev.telepath.de
  18246. - landall cst_zf@qq.com
  18247. - thestigma thestigma@gmail.com
  18248. - jtagcat 38327267+jtagcat@users.noreply.github.com
  18249. - Damon Permezel permezel@me.com
  18250. - boosh boosh@users.noreply.github.com
  18251. - unbelauscht 58393353+unbelauscht@users.noreply.github.com
  18252. - Motonori IWAMURO vmi@nifty.com
  18253. - Benjapol Worakan benwrk@live.com
  18254. CONTACT THE RCLONE PROJECT
  18255. Forum
  18256. Forum for questions and general discussion:
  18257. - https://forum.rclone.org
  18258. Gitub project
  18259. The project website is at:
  18260. - https://github.com/rclone/rclone
  18261. There you can file bug reports or contribute pull requests.
  18262. Twitter
  18263. You can also follow me on twitter for rclone announcements:
  18264. - [@njcw](https://twitter.com/njcw)
  18265. Email
  18266. Or if all else fails or you want to ask something private or
  18267. confidential email Nick Craig-Wood. Please don’t email me requests for
  18268. help - those are better directed to the forum - thanks!