rclone.txt 505 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155
  1. rclone(1) User Manual
  2. Nick Craig-Wood
  3. Oct 15, 2018
  4. RCLONE
  5. [Logo]
  6. Rclone is a command line program to sync files and directories to and
  7. from:
  8. - Amazon Drive (See note)
  9. - Amazon S3
  10. - Backblaze B2
  11. - Box
  12. - Ceph
  13. - DigitalOcean Spaces
  14. - Dreamhost
  15. - Dropbox
  16. - FTP
  17. - Google Cloud Storage
  18. - Google Drive
  19. - HTTP
  20. - Hubic
  21. - Jottacloud
  22. - IBM COS S3
  23. - Memset Memstore
  24. - Mega
  25. - Microsoft Azure Blob Storage
  26. - Microsoft OneDrive
  27. - Minio
  28. - Nextcloud
  29. - OVH
  30. - OpenDrive
  31. - Openstack Swift
  32. - Oracle Cloud Storage
  33. - ownCloud
  34. - pCloud
  35. - put.io
  36. - QingStor
  37. - Rackspace Cloud Files
  38. - SFTP
  39. - Wasabi
  40. - WebDAV
  41. - Yandex Disk
  42. - The local filesystem
  43. Features
  44. - MD5/SHA1 hashes checked at all times for file integrity
  45. - Timestamps preserved on files
  46. - Partial syncs supported on a whole file basis
  47. - Copy mode to just copy new/changed files
  48. - Sync (one way) mode to make a directory identical
  49. - Check mode to check for file hash equality
  50. - Can sync to and from network, eg two different cloud accounts
  51. - (Encryption) backend
  52. - (Cache) backend
  53. - (Union) backend
  54. - Optional FUSE mount (rclone mount)
  55. Links
  56. - Home page
  57. - GitHub project page for source and bug tracker
  58. - Rclone Forum
  59. - Google+ page
  60. - Downloads
  61. INSTALL
  62. Rclone is a Go program and comes as a single binary file.
  63. Quickstart
  64. - Download the relevant binary.
  65. - Extract the rclone or rclone.exe binary from the archive
  66. - Run rclone config to setup. See rclone config docs for more details.
  67. See below for some expanded Linux / macOS instructions.
  68. See the Usage section of the docs for how to use rclone, or run
  69. rclone -h.
  70. Script installation
  71. To install rclone on Linux/macOS/BSD systems, run:
  72. curl https://rclone.org/install.sh | sudo bash
  73. For beta installation, run:
  74. curl https://rclone.org/install.sh | sudo bash -s beta
  75. Note that this script checks the version of rclone installed first and
  76. won't re-download if not needed.
  77. Linux installation from precompiled binary
  78. Fetch and unpack
  79. curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
  80. unzip rclone-current-linux-amd64.zip
  81. cd rclone-*-linux-amd64
  82. Copy binary file
  83. sudo cp rclone /usr/bin/
  84. sudo chown root:root /usr/bin/rclone
  85. sudo chmod 755 /usr/bin/rclone
  86. Install manpage
  87. sudo mkdir -p /usr/local/share/man/man1
  88. sudo cp rclone.1 /usr/local/share/man/man1/
  89. sudo mandb
  90. Run rclone config to setup. See rclone config docs for more details.
  91. rclone config
  92. macOS installation from precompiled binary
  93. Download the latest version of rclone.
  94. cd && curl -O https://downloads.rclone.org/rclone-current-osx-amd64.zip
  95. Unzip the download and cd to the extracted folder.
  96. unzip -a rclone-current-osx-amd64.zip && cd rclone-*-osx-amd64
  97. Move rclone to your $PATH. You will be prompted for your password.
  98. sudo mkdir -p /usr/local/bin
  99. sudo mv rclone /usr/local/bin/
  100. (the mkdir command is safe to run, even if the directory already
  101. exists).
  102. Remove the leftover files.
  103. cd .. && rm -rf rclone-*-osx-amd64 rclone-current-osx-amd64.zip
  104. Run rclone config to setup. See rclone config docs for more details.
  105. rclone config
  106. Install from source
  107. Make sure you have at least Go 1.7 installed. Download go if necessary.
  108. The latest release is recommended. Then
  109. git clone https://github.com/ncw/rclone.git
  110. cd rclone
  111. go build
  112. ./rclone version
  113. You can also build and install rclone in the GOPATH (which defaults to
  114. ~/go) with:
  115. go get -u -v github.com/ncw/rclone
  116. and this will build the binary in $GOPATH/bin (~/go/bin/rclone by
  117. default) after downloading the source to
  118. $GOPATH/src/github.com/ncw/rclone (~/go/src/github.com/ncw/rclone by
  119. default).
  120. Installation with Ansible
  121. This can be done with Stefan Weichinger's ansible role.
  122. Instructions
  123. 1. git clone https://github.com/stefangweichinger/ansible-rclone.git
  124. into your local roles-directory
  125. 2. add the role to the hosts you want rclone installed to:
  126.  
  127. - hosts: rclone-hosts
  128. roles:
  129. - rclone
  130. Configure
  131. First, you'll need to configure rclone. As the object storage systems
  132. have quite complicated authentication these are kept in a config file.
  133. (See the --config entry for how to find the config file and choose its
  134. location.)
  135. The easiest way to make the config is to run rclone with the config
  136. option:
  137. rclone config
  138. See the following for detailed instructions for
  139. - Alias
  140. - Amazon Drive
  141. - Amazon S3
  142. - Backblaze B2
  143. - Box
  144. - Cache
  145. - Crypt - to encrypt other remotes
  146. - DigitalOcean Spaces
  147. - Dropbox
  148. - FTP
  149. - Google Cloud Storage
  150. - Google Drive
  151. - HTTP
  152. - Hubic
  153. - Jottacloud
  154. - Mega
  155. - Microsoft Azure Blob Storage
  156. - Microsoft OneDrive
  157. - Openstack Swift / Rackspace Cloudfiles / Memset Memstore
  158. - OpenDrive
  159. - Pcloud
  160. - QingStor
  161. - SFTP
  162. - Union
  163. - WebDAV
  164. - Yandex Disk
  165. - The local filesystem
  166. Usage
  167. Rclone syncs a directory tree from one storage system to another.
  168. Its syntax is like this
  169. Syntax: [options] subcommand <parameters> <parameters...>
  170. Source and destination paths are specified by the name you gave the
  171. storage system in the config file then the sub path, eg "drive:myfolder"
  172. to look at "myfolder" in Google drive.
  173. You can define as many storage paths as you like in the config file.
  174. Subcommands
  175. rclone uses a system of subcommands. For example
  176. rclone ls remote:path # lists a re
  177. rclone copy /local/path remote:path # copies /local/path to the remote
  178. rclone sync /local/path remote:path # syncs /local/path to the remote
  179. rclone config
  180. Enter an interactive configuration session.
  181. Synopsis
  182. Enter an interactive configuration session where you can setup new
  183. remotes and manage existing ones. You may also set or remove a password
  184. to protect your configuration.
  185. rclone config [flags]
  186. Options
  187. -h, --help help for config
  188. rclone copy
  189. Copy files from source to dest, skipping already copied
  190. Synopsis
  191. Copy the source to the destination. Doesn't transfer unchanged files,
  192. testing by size and modification time or MD5SUM. Doesn't delete files
  193. from the destination.
  194. Note that it is always the contents of the directory that is synced, not
  195. the directory so when source:path is a directory, it's the contents of
  196. source:path that are copied, not the directory name and contents.
  197. If dest:path doesn't exist, it is created and the source:path contents
  198. go there.
  199. For example
  200. rclone copy source:sourcepath dest:destpath
  201. Let's say there are two files in sourcepath
  202. sourcepath/one.txt
  203. sourcepath/two.txt
  204. This copies them to
  205. destpath/one.txt
  206. destpath/two.txt
  207. Not to
  208. destpath/sourcepath/one.txt
  209. destpath/sourcepath/two.txt
  210. If you are familiar with rsync, rclone always works as if you had
  211. written a trailing / - meaning "copy the contents of this directory".
  212. This applies to all commands and whether you are talking about the
  213. source or destination.
  214. rclone copy source:path dest:path [flags]
  215. Options
  216. -h, --help help for copy
  217. rclone sync
  218. Make source and dest identical, modifying destination only.
  219. Synopsis
  220. Sync the source to the destination, changing the destination only.
  221. Doesn't transfer unchanged files, testing by size and modification time
  222. or MD5SUM. Destination is updated to match source, including deleting
  223. files if necessary.
  224. IMPORTANT: Since this can cause data loss, test first with the --dry-run
  225. flag to see exactly what would be copied and deleted.
  226. Note that files in the destination won't be deleted if there were any
  227. errors at any point.
  228. It is always the contents of the directory that is synced, not the
  229. directory so when source:path is a directory, it's the contents of
  230. source:path that are copied, not the directory name and contents. See
  231. extended explanation in the copy command above if unsure.
  232. If dest:path doesn't exist, it is created and the source:path contents
  233. go there.
  234. rclone sync source:path dest:path [flags]
  235. Options
  236. -h, --help help for sync
  237. rclone move
  238. Move files from source to dest.
  239. Synopsis
  240. Moves the contents of the source directory to the destination directory.
  241. Rclone will error if the source and destination overlap and the remote
  242. does not support a server side directory move operation.
  243. If no filters are in use and if possible this will server side move
  244. source:path into dest:path. After this source:path will no longer longer
  245. exist.
  246. Otherwise for each file in source:path selected by the filters (if any)
  247. this will move it into dest:path. If possible a server side move will be
  248. used, otherwise it will copy it (server side if possible) into dest:path
  249. then delete the original (if no errors on copy) in source:path.
  250. If you want to delete empty source directories after move, use the
  251. --delete-empty-src-dirs flag.
  252. IMPORTANT: Since this can cause data loss, test first with the --dry-run
  253. flag.
  254. rclone move source:path dest:path [flags]
  255. Options
  256. --delete-empty-src-dirs Delete empty source dirs after move
  257. -h, --help help for move
  258. rclone delete
  259. Remove the contents of path.
  260. Synopsis
  261. Remove the contents of path. Unlike purge it obeys include/exclude
  262. filters so can be used to selectively delete files.
  263. Eg delete all files bigger than 100MBytes
  264. Check what would be deleted first (use either)
  265. rclone --min-size 100M lsl remote:path
  266. rclone --dry-run --min-size 100M delete remote:path
  267. Then delete
  268. rclone --min-size 100M delete remote:path
  269. That reads "delete everything with a minimum size of 100 MB", hence
  270. delete all files bigger than 100MBytes.
  271. rclone delete remote:path [flags]
  272. Options
  273. -h, --help help for delete
  274. rclone purge
  275. Remove the path and all of its contents.
  276. Synopsis
  277. Remove the path and all of its contents. Note that this does not obey
  278. include/exclude filters - everything will be removed. Use delete if you
  279. want to selectively delete files.
  280. rclone purge remote:path [flags]
  281. Options
  282. -h, --help help for purge
  283. rclone mkdir
  284. Make the path if it doesn't already exist.
  285. Synopsis
  286. Make the path if it doesn't already exist.
  287. rclone mkdir remote:path [flags]
  288. Options
  289. -h, --help help for mkdir
  290. rclone rmdir
  291. Remove the path if empty.
  292. Synopsis
  293. Remove the path. Note that you can't remove a path with objects in it,
  294. use purge for that.
  295. rclone rmdir remote:path [flags]
  296. Options
  297. -h, --help help for rmdir
  298. rclone check
  299. Checks the files in the source and destination match.
  300. Synopsis
  301. Checks the files in the source and destination match. It compares sizes
  302. and hashes (MD5 or SHA1) and logs a report of files which don't match.
  303. It doesn't alter the source or destination.
  304. If you supply the --size-only flag, it will only compare the sizes not
  305. the hashes as well. Use this for a quick check.
  306. If you supply the --download flag, it will download the data from both
  307. remotes and check them against each other on the fly. This can be useful
  308. for remotes that don't support hashes or if you really want to check all
  309. the data.
  310. If you supply the --one-way flag, it will only check that files in
  311. source match the files in destination, not the other way around. Meaning
  312. extra files in destination that are not in the source will not trigger
  313. an error.
  314. rclone check source:path dest:path [flags]
  315. Options
  316. --download Check by downloading rather than with hash.
  317. -h, --help help for check
  318. --one-way Check one way only, source files must exist on remote
  319. rclone ls
  320. List the objects in the path with size and path.
  321. Synopsis
  322. Lists the objects in the source path to standard output in a human
  323. readable format with size and path. Recurses by default.
  324. Eg
  325. $ rclone ls swift:bucket
  326. 60295 bevajer5jef
  327. 90613 canole
  328. 94467 diwogej7
  329. 37600 fubuwic
  330. Any of the filtering options can be applied to this commmand.
  331. There are several related list commands
  332. - ls to list size and path of objects only
  333. - lsl to list modification time, size and path of objects only
  334. - lsd to list directories only
  335. - lsf to list objects and directories in easy to parse format
  336. - lsjson to list objects and directories in JSON format
  337. ls,lsl,lsd are designed to be human readable. lsf is designed to be
  338. human and machine readable. lsjson is designed to be machine readable.
  339. Note that ls and lsl recurse by default - use "--max-depth 1" to stop
  340. the recursion.
  341. The other list commands lsd,lsf,lsjson do not recurse by default - use
  342. "-R" to make them recurse.
  343. Listing a non existent directory will produce an error except for
  344. remotes which can't have empty directories (eg s3, swift, gcs, etc - the
  345. bucket based remotes).
  346. rclone ls remote:path [flags]
  347. Options
  348. -h, --help help for ls
  349. rclone lsd
  350. List all directories/containers/buckets in the path.
  351. Synopsis
  352. Lists the directories in the source path to standard output. Does not
  353. recurse by default. Use the -R flag to recurse.
  354. This command lists the total size of the directory (if known, -1 if
  355. not), the modification time (if known, the current time if not), the
  356. number of objects in the directory (if known, -1 if not) and the name of
  357. the directory, Eg
  358. $ rclone lsd swift:
  359. 494000 2018-04-26 08:43:20 10000 10000files
  360. 65 2018-04-26 08:43:20 1 1File
  361. Or
  362. $ rclone lsd drive:test
  363. -1 2016-10-17 17:41:53 -1 1000files
  364. -1 2017-01-03 14:40:54 -1 2500files
  365. -1 2017-07-08 14:39:28 -1 4000files
  366. If you just want the directory names use "rclone lsf --dirs-only".
  367. Any of the filtering options can be applied to this commmand.
  368. There are several related list commands
  369. - ls to list size and path of objects only
  370. - lsl to list modification time, size and path of objects only
  371. - lsd to list directories only
  372. - lsf to list objects and directories in easy to parse format
  373. - lsjson to list objects and directories in JSON format
  374. ls,lsl,lsd are designed to be human readable. lsf is designed to be
  375. human and machine readable. lsjson is designed to be machine readable.
  376. Note that ls and lsl recurse by default - use "--max-depth 1" to stop
  377. the recursion.
  378. The other list commands lsd,lsf,lsjson do not recurse by default - use
  379. "-R" to make them recurse.
  380. Listing a non existent directory will produce an error except for
  381. remotes which can't have empty directories (eg s3, swift, gcs, etc - the
  382. bucket based remotes).
  383. rclone lsd remote:path [flags]
  384. Options
  385. -h, --help help for lsd
  386. -R, --recursive Recurse into the listing.
  387. rclone lsl
  388. List the objects in path with modification time, size and path.
  389. Synopsis
  390. Lists the objects in the source path to standard output in a human
  391. readable format with modification time, size and path. Recurses by
  392. default.
  393. Eg
  394. $ rclone lsl swift:bucket
  395. 60295 2016-06-25 18:55:41.062626927 bevajer5jef
  396. 90613 2016-06-25 18:55:43.302607074 canole
  397. 94467 2016-06-25 18:55:43.046609333 diwogej7
  398. 37600 2016-06-25 18:55:40.814629136 fubuwic
  399. Any of the filtering options can be applied to this commmand.
  400. There are several related list commands
  401. - ls to list size and path of objects only
  402. - lsl to list modification time, size and path of objects only
  403. - lsd to list directories only
  404. - lsf to list objects and directories in easy to parse format
  405. - lsjson to list objects and directories in JSON format
  406. ls,lsl,lsd are designed to be human readable. lsf is designed to be
  407. human and machine readable. lsjson is designed to be machine readable.
  408. Note that ls and lsl recurse by default - use "--max-depth 1" to stop
  409. the recursion.
  410. The other list commands lsd,lsf,lsjson do not recurse by default - use
  411. "-R" to make them recurse.
  412. Listing a non existent directory will produce an error except for
  413. remotes which can't have empty directories (eg s3, swift, gcs, etc - the
  414. bucket based remotes).
  415. rclone lsl remote:path [flags]
  416. Options
  417. -h, --help help for lsl
  418. rclone md5sum
  419. Produces an md5sum file for all the objects in the path.
  420. Synopsis
  421. Produces an md5sum file for all the objects in the path. This is in the
  422. same format as the standard md5sum tool produces.
  423. rclone md5sum remote:path [flags]
  424. Options
  425. -h, --help help for md5sum
  426. rclone sha1sum
  427. Produces an sha1sum file for all the objects in the path.
  428. Synopsis
  429. Produces an sha1sum file for all the objects in the path. This is in the
  430. same format as the standard sha1sum tool produces.
  431. rclone sha1sum remote:path [flags]
  432. Options
  433. -h, --help help for sha1sum
  434. rclone size
  435. Prints the total size and number of objects in remote:path.
  436. Synopsis
  437. Prints the total size and number of objects in remote:path.
  438. rclone size remote:path [flags]
  439. Options
  440. -h, --help help for size
  441. --json format output as JSON
  442. rclone version
  443. Show the version number.
  444. Synopsis
  445. Show the version number, the go version and the architecture.
  446. Eg
  447. $ rclone version
  448. rclone v1.41
  449. - os/arch: linux/amd64
  450. - go version: go1.10
  451. If you supply the --check flag, then it will do an online check to
  452. compare your version with the latest release and the latest beta.
  453. $ rclone version --check
  454. yours: 1.42.0.6
  455. latest: 1.42 (released 2018-06-16)
  456. beta: 1.42.0.5 (released 2018-06-17)
  457. Or
  458. $ rclone version --check
  459. yours: 1.41
  460. latest: 1.42 (released 2018-06-16)
  461. upgrade: https://downloads.rclone.org/v1.42
  462. beta: 1.42.0.5 (released 2018-06-17)
  463. upgrade: https://beta.rclone.org/v1.42-005-g56e1e820
  464. rclone version [flags]
  465. Options
  466. --check Check for new version.
  467. -h, --help help for version
  468. rclone cleanup
  469. Clean up the remote if possible
  470. Synopsis
  471. Clean up the remote if possible. Empty the trash or delete old file
  472. versions. Not supported by all remotes.
  473. rclone cleanup remote:path [flags]
  474. Options
  475. -h, --help help for cleanup
  476. rclone dedupe
  477. Interactively find duplicate files and delete/rename them.
  478. Synopsis
  479. By default dedupe interactively finds duplicate files and offers to
  480. delete all but one or rename them to be different. Only useful with
  481. Google Drive which can have duplicate file names.
  482. In the first pass it will merge directories with the same name. It will
  483. do this iteratively until all the identical directories have been
  484. merged.
  485. The dedupe command will delete all but one of any identical (same
  486. md5sum) files it finds without confirmation. This means that for most
  487. duplicated files the dedupe command will not be interactive. You can use
  488. --dry-run to see what would happen without doing anything.
  489. Here is an example run.
  490. Before - with duplicates
  491. $ rclone lsl drive:dupes
  492. 6048320 2016-03-05 16:23:16.798000000 one.txt
  493. 6048320 2016-03-05 16:23:11.775000000 one.txt
  494. 564374 2016-03-05 16:23:06.731000000 one.txt
  495. 6048320 2016-03-05 16:18:26.092000000 one.txt
  496. 6048320 2016-03-05 16:22:46.185000000 two.txt
  497. 1744073 2016-03-05 16:22:38.104000000 two.txt
  498. 564374 2016-03-05 16:22:52.118000000 two.txt
  499. Now the dedupe session
  500. $ rclone dedupe drive:dupes
  501. 2016/03/05 16:24:37 Google drive root 'dupes': Looking for duplicates using interactive mode.
  502. one.txt: Found 4 duplicates - deleting identical copies
  503. one.txt: Deleting 2/3 identical duplicates (md5sum "1eedaa9fe86fd4b8632e2ac549403b36")
  504. one.txt: 2 duplicates remain
  505. 1: 6048320 bytes, 2016-03-05 16:23:16.798000000, md5sum 1eedaa9fe86fd4b8632e2ac549403b36
  506. 2: 564374 bytes, 2016-03-05 16:23:06.731000000, md5sum 7594e7dc9fc28f727c42ee3e0749de81
  507. s) Skip and do nothing
  508. k) Keep just one (choose which in next step)
  509. r) Rename all to be different (by changing file.jpg to file-1.jpg)
  510. s/k/r> k
  511. Enter the number of the file to keep> 1
  512. one.txt: Deleted 1 extra copies
  513. two.txt: Found 3 duplicates - deleting identical copies
  514. two.txt: 3 duplicates remain
  515. 1: 564374 bytes, 2016-03-05 16:22:52.118000000, md5sum 7594e7dc9fc28f727c42ee3e0749de81
  516. 2: 6048320 bytes, 2016-03-05 16:22:46.185000000, md5sum 1eedaa9fe86fd4b8632e2ac549403b36
  517. 3: 1744073 bytes, 2016-03-05 16:22:38.104000000, md5sum 851957f7fb6f0bc4ce76be966d336802
  518. s) Skip and do nothing
  519. k) Keep just one (choose which in next step)
  520. r) Rename all to be different (by changing file.jpg to file-1.jpg)
  521. s/k/r> r
  522. two-1.txt: renamed from: two.txt
  523. two-2.txt: renamed from: two.txt
  524. two-3.txt: renamed from: two.txt
  525. The result being
  526. $ rclone lsl drive:dupes
  527. 6048320 2016-03-05 16:23:16.798000000 one.txt
  528. 564374 2016-03-05 16:22:52.118000000 two-1.txt
  529. 6048320 2016-03-05 16:22:46.185000000 two-2.txt
  530. 1744073 2016-03-05 16:22:38.104000000 two-3.txt
  531. Dedupe can be run non interactively using the --dedupe-mode flag or by
  532. using an extra parameter with the same value
  533. - --dedupe-mode interactive - interactive as above.
  534. - --dedupe-mode skip - removes identical files then skips anything
  535. left.
  536. - --dedupe-mode first - removes identical files then keeps the first
  537. one.
  538. - --dedupe-mode newest - removes identical files then keeps the newest
  539. one.
  540. - --dedupe-mode oldest - removes identical files then keeps the oldest
  541. one.
  542. - --dedupe-mode largest - removes identical files then keeps the
  543. largest one.
  544. - --dedupe-mode rename - removes identical files then renames the rest
  545. to be different.
  546. For example to rename all the identically named photos in your Google
  547. Photos directory, do
  548. rclone dedupe --dedupe-mode rename "drive:Google Photos"
  549. Or
  550. rclone dedupe rename "drive:Google Photos"
  551. rclone dedupe [mode] remote:path [flags]
  552. Options
  553. --dedupe-mode string Dedupe mode interactive|skip|first|newest|oldest|rename. (default "interactive")
  554. -h, --help help for dedupe
  555. rclone about
  556. Get quota information from the remote.
  557. Synopsis
  558. Get quota information from the remote, like bytes used/free/quota and
  559. bytes used in the trash. Not supported by all remotes.
  560. This will print to stdout something like this:
  561. Total: 17G
  562. Used: 7.444G
  563. Free: 1.315G
  564. Trashed: 100.000M
  565. Other: 8.241G
  566. Where the fields are:
  567. - Total: total size available.
  568. - Used: total size used
  569. - Free: total amount this user could upload.
  570. - Trashed: total amount in the trash
  571. - Other: total amount in other storage (eg Gmail, Google Photos)
  572. - Objects: total number of objects in the storage
  573. Note that not all the backends provide all the fields - they will be
  574. missing if they are not known for that backend. Where it is known that
  575. the value is unlimited the value will also be omitted.
  576. Use the --full flag to see the numbers written out in full, eg
  577. Total: 18253611008
  578. Used: 7993453766
  579. Free: 1411001220
  580. Trashed: 104857602
  581. Other: 8849156022
  582. Use the --json flag for a computer readable output, eg
  583. {
  584. "total": 18253611008,
  585. "used": 7993453766,
  586. "trashed": 104857602,
  587. "other": 8849156022,
  588. "free": 1411001220
  589. }
  590. rclone about remote: [flags]
  591. Options
  592. --full Full numbers instead of SI units
  593. -h, --help help for about
  594. --json Format output as JSON
  595. rclone authorize
  596. Remote authorization.
  597. Synopsis
  598. Remote authorization. Used to authorize a remote or headless rclone from
  599. a machine with a browser - use as instructed by rclone config.
  600. rclone authorize [flags]
  601. Options
  602. -h, --help help for authorize
  603. rclone cachestats
  604. Print cache stats for a remote
  605. Synopsis
  606. Print cache stats for a remote in JSON format
  607. rclone cachestats source: [flags]
  608. Options
  609. -h, --help help for cachestats
  610. rclone cat
  611. Concatenates any files and sends them to stdout.
  612. Synopsis
  613. rclone cat sends any files to standard output.
  614. You can use it like this to output a single file
  615. rclone cat remote:path/to/file
  616. Or like this to output any file in dir or subdirectories.
  617. rclone cat remote:path/to/dir
  618. Or like this to output any .txt files in dir or subdirectories.
  619. rclone --include "*.txt" cat remote:path/to/dir
  620. Use the --head flag to print characters only at the start, --tail for
  621. the end and --offset and --count to print a section in the middle. Note
  622. that if offset is negative it will count from the end, so --offset -1
  623. --count 1 is equivalent to --tail 1.
  624. rclone cat remote:path [flags]
  625. Options
  626. --count int Only print N characters. (default -1)
  627. --discard Discard the output instead of printing.
  628. --head int Only print the first N characters.
  629. -h, --help help for cat
  630. --offset int Start printing at offset N (or from end if -ve).
  631. --tail int Only print the last N characters.
  632. rclone config create
  633. Create a new remote with name, type and options.
  634. Synopsis
  635. Create a new remote of with and options. The options should be passed in
  636. in pairs of .
  637. For example to make a swift remote of name myremote using auto config
  638. you would do:
  639. rclone config create myremote swift env_auth true
  640. rclone config create <name> <type> [<key> <value>]* [flags]
  641. Options
  642. -h, --help help for create
  643. rclone config delete
  644. Delete an existing remote .
  645. Synopsis
  646. Delete an existing remote .
  647. rclone config delete <name> [flags]
  648. Options
  649. -h, --help help for delete
  650. rclone config dump
  651. Dump the config file as JSON.
  652. Synopsis
  653. Dump the config file as JSON.
  654. rclone config dump [flags]
  655. Options
  656. -h, --help help for dump
  657. rclone config edit
  658. Enter an interactive configuration session.
  659. Synopsis
  660. Enter an interactive configuration session where you can setup new
  661. remotes and manage existing ones. You may also set or remove a password
  662. to protect your configuration.
  663. rclone config edit [flags]
  664. Options
  665. -h, --help help for edit
  666. rclone config file
  667. Show path of configuration file in use.
  668. Synopsis
  669. Show path of configuration file in use.
  670. rclone config file [flags]
  671. Options
  672. -h, --help help for file
  673. rclone config password
  674. Update password in an existing remote.
  675. Synopsis
  676. Update an existing remote's password. The password should be passed in
  677. in pairs of .
  678. For example to set password of a remote of name myremote you would do:
  679. rclone config password myremote fieldname mypassword
  680. rclone config password <name> [<key> <value>]+ [flags]
  681. Options
  682. -h, --help help for password
  683. rclone config providers
  684. List in JSON format all the providers and options.
  685. Synopsis
  686. List in JSON format all the providers and options.
  687. rclone config providers [flags]
  688. Options
  689. -h, --help help for providers
  690. rclone config show
  691. Print (decrypted) config file, or the config for a single remote.
  692. Synopsis
  693. Print (decrypted) config file, or the config for a single remote.
  694. rclone config show [<remote>] [flags]
  695. Options
  696. -h, --help help for show
  697. rclone config update
  698. Update options in an existing remote.
  699. Synopsis
  700. Update an existing remote's options. The options should be passed in in
  701. pairs of .
  702. For example to update the env_auth field of a remote of name myremote
  703. you would do:
  704. rclone config update myremote swift env_auth true
  705. rclone config update <name> [<key> <value>]+ [flags]
  706. Options
  707. -h, --help help for update
  708. rclone copyto
  709. Copy files from source to dest, skipping already copied
  710. Synopsis
  711. If source:path is a file or directory then it copies it to a file or
  712. directory named dest:path.
  713. This can be used to upload single files to other than their current
  714. name. If the source is a directory then it acts exactly like the copy
  715. command.
  716. So
  717. rclone copyto src dst
  718. where src and dst are rclone paths, either remote:path or /path/to/local
  719. or C:.
  720. This will:
  721. if src is file
  722. copy it to dst, overwriting an existing file if it exists
  723. if src is directory
  724. copy it to dst, overwriting existing files if they exist
  725. see copy command for full details
  726. This doesn't transfer unchanged files, testing by size and modification
  727. time or MD5SUM. It doesn't delete files from the destination.
  728. rclone copyto source:path dest:path [flags]
  729. Options
  730. -h, --help help for copyto
  731. rclone copyurl
  732. Copy url content to dest.
  733. Synopsis
  734. Download urls content and copy it to destination without saving it in
  735. tmp storage.
  736. rclone copyurl https://example.com dest:path [flags]
  737. Options
  738. -h, --help help for copyurl
  739. rclone cryptcheck
  740. Cryptcheck checks the integrity of a crypted remote.
  741. Synopsis
  742. rclone cryptcheck checks a remote against a crypted remote. This is the
  743. equivalent of running rclone check, but able to check the checksums of
  744. the crypted remote.
  745. For it to work the underlying remote of the cryptedremote must support
  746. some kind of checksum.
  747. It works by reading the nonce from each file on the cryptedremote: and
  748. using that to encrypt each file on the remote:. It then checks the
  749. checksum of the underlying file on the cryptedremote: against the
  750. checksum of the file it has just encrypted.
  751. Use it like this
  752. rclone cryptcheck /path/to/files encryptedremote:path
  753. You can use it like this also, but that will involve downloading all the
  754. files in remote:path.
  755. rclone cryptcheck remote:path encryptedremote:path
  756. After it has run it will log the status of the encryptedremote:.
  757. If you supply the --one-way flag, it will only check that files in
  758. source match the files in destination, not the other way around. Meaning
  759. extra files in destination that are not in the source will not trigger
  760. an error.
  761. rclone cryptcheck remote:path cryptedremote:path [flags]
  762. Options
  763. -h, --help help for cryptcheck
  764. --one-way Check one way only, source files must exist on destination
  765. rclone cryptdecode
  766. Cryptdecode returns unencrypted file names.
  767. Synopsis
  768. rclone cryptdecode returns unencrypted file names when provided with a
  769. list of encrypted file names. List limit is 10 items.
  770. If you supply the --reverse flag, it will return encrypted file names.
  771. use it like this
  772. rclone cryptdecode encryptedremote: encryptedfilename1 encryptedfilename2
  773. rclone cryptdecode --reverse encryptedremote: filename1 filename2
  774. rclone cryptdecode encryptedremote: encryptedfilename [flags]
  775. Options
  776. -h, --help help for cryptdecode
  777. --reverse Reverse cryptdecode, encrypts filenames
  778. rclone dbhashsum
  779. Produces a Dropbox hash file for all the objects in the path.
  780. Synopsis
  781. Produces a Dropbox hash file for all the objects in the path. The hashes
  782. are calculated according to Dropbox content hash rules. The output is in
  783. the same format as md5sum and sha1sum.
  784. rclone dbhashsum remote:path [flags]
  785. Options
  786. -h, --help help for dbhashsum
  787. rclone deletefile
  788. Remove a single file from remote.
  789. Synopsis
  790. Remove a single file from remote. Unlike delete it cannot be used to
  791. remove a directory and it doesn't obey include/exclude filters - if the
  792. specified file exists, it will always be removed.
  793. rclone deletefile remote:path [flags]
  794. Options
  795. -h, --help help for deletefile
  796. rclone genautocomplete
  797. Output completion script for a given shell.
  798. Synopsis
  799. Generates a shell completion script for rclone. Run with --help to list
  800. the supported shells.
  801. Options
  802. -h, --help help for genautocomplete
  803. rclone genautocomplete bash
  804. Output bash completion script for rclone.
  805. Synopsis
  806. Generates a bash shell autocompletion script for rclone.
  807. This writes to /etc/bash_completion.d/rclone by default so will probably
  808. need to be run with sudo or as root, eg
  809. sudo rclone genautocomplete bash
  810. Logout and login again to use the autocompletion scripts, or source them
  811. directly
  812. . /etc/bash_completion
  813. If you supply a command line argument the script will be written there.
  814. rclone genautocomplete bash [output_file] [flags]
  815. Options
  816. -h, --help help for bash
  817. rclone genautocomplete zsh
  818. Output zsh completion script for rclone.
  819. Synopsis
  820. Generates a zsh autocompletion script for rclone.
  821. This writes to /usr/share/zsh/vendor-completions/_rclone by default so
  822. will probably need to be run with sudo or as root, eg
  823. sudo rclone genautocomplete zsh
  824. Logout and login again to use the autocompletion scripts, or source them
  825. directly
  826. autoload -U compinit && compinit
  827. If you supply a command line argument the script will be written there.
  828. rclone genautocomplete zsh [output_file] [flags]
  829. Options
  830. -h, --help help for zsh
  831. rclone gendocs
  832. Output markdown docs for rclone to the directory supplied.
  833. Synopsis
  834. This produces markdown docs for the rclone commands to the directory
  835. supplied. These are in a format suitable for hugo to render into the
  836. rclone.org website.
  837. rclone gendocs output_directory [flags]
  838. Options
  839. -h, --help help for gendocs
  840. rclone hashsum
  841. Produces an hashsum file for all the objects in the path.
  842. Synopsis
  843. Produces a hash file for all the objects in the path using the hash
  844. named. The output is in the same format as the standard md5sum/sha1sum
  845. tool.
  846. Run without a hash to see the list of supported hashes, eg
  847. $ rclone hashsum
  848. Supported hashes are:
  849. * MD5
  850. * SHA-1
  851. * DropboxHash
  852. * QuickXorHash
  853. Then
  854. $ rclone hashsum MD5 remote:path
  855. rclone hashsum <hash> remote:path [flags]
  856. Options
  857. -h, --help help for hashsum
  858. rclone link
  859. Generate public link to file/folder.
  860. Synopsis
  861. rclone link will create or retrieve a public link to the given file or
  862. folder.
  863. rclone link remote:path/to/file
  864. rclone link remote:path/to/folder/
  865. If successful, the last line of the output will contain the link. Exact
  866. capabilities depend on the remote, but the link will always be created
  867. with the least constraints – e.g. no expiry, no password protection,
  868. accessible without account.
  869. rclone link remote:path [flags]
  870. Options
  871. -h, --help help for link
  872. rclone listremotes
  873. List all the remotes in the config file.
  874. Synopsis
  875. rclone listremotes lists all the available remotes from the config file.
  876. When uses with the -l flag it lists the types too.
  877. rclone listremotes [flags]
  878. Options
  879. -h, --help help for listremotes
  880. -l, --long Show the type as well as names.
  881. rclone lsf
  882. List directories and objects in remote:path formatted for parsing
  883. Synopsis
  884. List the contents of the source path (directories and objects) to
  885. standard output in a form which is easy to parse by scripts. By default
  886. this will just be the names of the objects and directories, one per
  887. line. The directories will have a / suffix.
  888. Eg
  889. $ rclone lsf swift:bucket
  890. bevajer5jef
  891. canole
  892. diwogej7
  893. ferejej3gux/
  894. fubuwic
  895. Use the --format option to control what gets listed. By default this is
  896. just the path, but you can use these parameters to control the output:
  897. p - path
  898. s - size
  899. t - modification time
  900. h - hash
  901. i - ID of object if known
  902. m - MimeType of object if known
  903. So if you wanted the path, size and modification time, you would use
  904. --format "pst", or maybe --format "tsp" to put the path last.
  905. Eg
  906. $ rclone lsf --format "tsp" swift:bucket
  907. 2016-06-25 18:55:41;60295;bevajer5jef
  908. 2016-06-25 18:55:43;90613;canole
  909. 2016-06-25 18:55:43;94467;diwogej7
  910. 2018-04-26 08:50:45;0;ferejej3gux/
  911. 2016-06-25 18:55:40;37600;fubuwic
  912. If you specify "h" in the format you will get the MD5 hash by default,
  913. use the "--hash" flag to change which hash you want. Note that this can
  914. be returned as an empty string if it isn't available on the object (and
  915. for directories), "ERROR" if there was an error reading it from the
  916. object and "UNSUPPORTED" if that object does not support that hash type.
  917. For example to emulate the md5sum command you can use
  918. rclone lsf -R --hash MD5 --format hp --separator " " --files-only .
  919. Eg
  920. $ rclone lsf -R --hash MD5 --format hp --separator " " --files-only swift:bucket
  921. 7908e352297f0f530b84a756f188baa3 bevajer5jef
  922. cd65ac234e6fea5925974a51cdd865cc canole
  923. 03b5341b4f234b9d984d03ad076bae91 diwogej7
  924. 8fd37c3810dd660778137ac3a66cc06d fubuwic
  925. 99713e14a4c4ff553acaf1930fad985b gixacuh7ku
  926. (Though "rclone md5sum ." is an easier way of typing this.)
  927. By default the separator is ";" this can be changed with the --separator
  928. flag. Note that separators aren't escaped in the path so putting it last
  929. is a good strategy.
  930. Eg
  931. $ rclone lsf --separator "," --format "tshp" swift:bucket
  932. 2016-06-25 18:55:41,60295,7908e352297f0f530b84a756f188baa3,bevajer5jef
  933. 2016-06-25 18:55:43,90613,cd65ac234e6fea5925974a51cdd865cc,canole
  934. 2016-06-25 18:55:43,94467,03b5341b4f234b9d984d03ad076bae91,diwogej7
  935. 2018-04-26 08:52:53,0,,ferejej3gux/
  936. 2016-06-25 18:55:40,37600,8fd37c3810dd660778137ac3a66cc06d,fubuwic
  937. You can output in CSV standard format. This will escape things in " if
  938. they contain ,
  939. Eg
  940. $ rclone lsf --csv --files-only --format ps remote:path
  941. test.log,22355
  942. test.sh,449
  943. "this file contains a comma, in the file name.txt",6
  944. Note that the --absolute parameter is useful for making lists of files
  945. to pass to an rclone copy with the --files-from flag.
  946. For example to find all the files modified within one day and copy those
  947. only (without traversing the whole directory structure):
  948. rclone lsf --absolute --files-only --max-age 1d /path/to/local > new_files
  949. rclone copy --files-from new_files /path/to/local remote:path
  950. Any of the filtering options can be applied to this commmand.
  951. There are several related list commands
  952. - ls to list size and path of objects only
  953. - lsl to list modification time, size and path of objects only
  954. - lsd to list directories only
  955. - lsf to list objects and directories in easy to parse format
  956. - lsjson to list objects and directories in JSON format
  957. ls,lsl,lsd are designed to be human readable. lsf is designed to be
  958. human and machine readable. lsjson is designed to be machine readable.
  959. Note that ls and lsl recurse by default - use "--max-depth 1" to stop
  960. the recursion.
  961. The other list commands lsd,lsf,lsjson do not recurse by default - use
  962. "-R" to make them recurse.
  963. Listing a non existent directory will produce an error except for
  964. remotes which can't have empty directories (eg s3, swift, gcs, etc - the
  965. bucket based remotes).
  966. rclone lsf remote:path [flags]
  967. Options
  968. --absolute Put a leading / in front of path names.
  969. --csv Output in CSV format.
  970. -d, --dir-slash Append a slash to directory names. (default true)
  971. --dirs-only Only list directories.
  972. --files-only Only list files.
  973. -F, --format string Output format - see help for details (default "p")
  974. --hash h Use this hash when h is used in the format MD5|SHA-1|DropboxHash (default "MD5")
  975. -h, --help help for lsf
  976. -R, --recursive Recurse into the listing.
  977. -s, --separator string Separator for the items in the format. (default ";")
  978. rclone lsjson
  979. List directories and objects in the path in JSON format.
  980. Synopsis
  981. List directories and objects in the path in JSON format.
  982. The output is an array of Items, where each Item looks like this
  983. { "Hashes" : { "SHA-1" : "f572d396fae9206628714fb2ce00f72e94f2258f",
  984. "MD5" : "b1946ac92492d2347c6235b4d2611184", "DropboxHash" :
  985. "ecb65bb98f9d905b70458986c39fcbad7715e5f2fcc3b1f07767d7c83e2438cc" },
  986. "ID": "y2djkhiujf83u33", "OrigID": "UYOJVTUW00Q1RzTDA", "IsDir" : false,
  987. "MimeType" : "application/octet-stream", "ModTime" :
  988. "2017-05-31T16:15:57.034468261+01:00", "Name" : "file.txt", "Encrypted"
  989. : "v0qpsdq8anpci8n929v3uu9338", "Path" : "full/path/goes/here/file.txt",
  990. "Size" : 6 }
  991. If --hash is not specified the Hashes property won't be emitted.
  992. If --no-modtime is specified then ModTime will be blank.
  993. If --encrypted is not specified the Encrypted won't be emitted.
  994. The Path field will only show folders below the remote path being
  995. listed. If "remote:path" contains the file "subfolder/file.txt", the
  996. Path for "file.txt" will be "subfolder/file.txt", not
  997. "remote:path/subfolder/file.txt". When used without --recursive the Path
  998. will always be the same as Name.
  999. The time is in RFC3339 format with nanosecond precision.
  1000. The whole output can be processed as a JSON blob, or alternatively it
  1001. can be processed line by line as each item is written one to a line.
  1002. Any of the filtering options can be applied to this commmand.
  1003. There are several related list commands
  1004. - ls to list size and path of objects only
  1005. - lsl to list modification time, size and path of objects only
  1006. - lsd to list directories only
  1007. - lsf to list objects and directories in easy to parse format
  1008. - lsjson to list objects and directories in JSON format
  1009. ls,lsl,lsd are designed to be human readable. lsf is designed to be
  1010. human and machine readable. lsjson is designed to be machine readable.
  1011. Note that ls and lsl recurse by default - use "--max-depth 1" to stop
  1012. the recursion.
  1013. The other list commands lsd,lsf,lsjson do not recurse by default - use
  1014. "-R" to make them recurse.
  1015. Listing a non existent directory will produce an error except for
  1016. remotes which can't have empty directories (eg s3, swift, gcs, etc - the
  1017. bucket based remotes).
  1018. rclone lsjson remote:path [flags]
  1019. Options
  1020. -M, --encrypted Show the encrypted names.
  1021. --hash Include hashes in the output (may take longer).
  1022. -h, --help help for lsjson
  1023. --no-modtime Don't read the modification time (can speed things up).
  1024. --original Show the ID of the underlying Object.
  1025. -R, --recursive Recurse into the listing.
  1026. rclone mount
  1027. Mount the remote as file system on a mountpoint.
  1028. Synopsis
  1029. rclone mount allows Linux, FreeBSD, macOS and Windows to mount any of
  1030. Rclone's cloud storage systems as a file system with FUSE.
  1031. First set up your remote using rclone config. Check it works with
  1032. rclone ls etc.
  1033. Start the mount like this
  1034. rclone mount remote:path/to/files /path/to/local/mount
  1035. Or on Windows like this where X: is an unused drive letter
  1036. rclone mount remote:path/to/files X:
  1037. When the program ends, either via Ctrl+C or receiving a SIGINT or
  1038. SIGTERM signal, the mount is automatically stopped.
  1039. The umount operation can fail, for example when the mountpoint is busy.
  1040. When that happens, it is the user's responsibility to stop the mount
  1041. manually with
  1042. # Linux
  1043. fusermount -u /path/to/local/mount
  1044. # OS X
  1045. umount /path/to/local/mount
  1046. Installing on Windows
  1047. To run rclone mount on Windows, you will need to download and install
  1048. WinFsp.
  1049. WinFsp is an open source Windows File System Proxy which makes it easy
  1050. to write user space file systems for Windows. It provides a FUSE
  1051. emulation layer which rclone uses combination with cgofuse. Both of
  1052. these packages are by Bill Zissimopoulos who was very helpful during the
  1053. implementation of rclone mount for Windows.
  1054. Windows caveats
  1055. Note that drives created as Administrator are not visible by other
  1056. accounts (including the account that was elevated as Administrator). So
  1057. if you start a Windows drive from an Administrative Command Prompt and
  1058. then try to access the same drive from Explorer (which does not run as
  1059. Administrator), you will not be able to see the new drive.
  1060. The easiest way around this is to start the drive from a normal command
  1061. prompt. It is also possible to start a drive from the SYSTEM account
  1062. (using the WinFsp.Launcher infrastructure) which creates drives
  1063. accessible for everyone on the system or alternatively using the nssm
  1064. service manager.
  1065. Limitations
  1066. Without the use of "--vfs-cache-mode" this can only write files
  1067. sequentially, it can only seek when reading. This means that many
  1068. applications won't work with their files on an rclone mount without
  1069. "--vfs-cache-mode writes" or "--vfs-cache-mode full". See the File
  1070. Caching section for more info.
  1071. The bucket based remotes (eg Swift, S3, Google Compute Storage, B2,
  1072. Hubic) won't work from the root - you will need to specify a bucket, or
  1073. a path within the bucket. So swift: won't work whereas swift:bucket will
  1074. as will swift:bucket/path. None of these support the concept of
  1075. directories, so empty directories will have a tendency to disappear once
  1076. they fall out of the directory cache.
  1077. Only supported on Linux, FreeBSD, OS X and Windows at the moment.
  1078. rclone mount vs rclone sync/copy
  1079. File systems expect things to be 100% reliable, whereas cloud storage
  1080. systems are a long way from 100% reliable. The rclone sync/copy commands
  1081. cope with this with lots of retries. However rclone mount can't use
  1082. retries in the same way without making local copies of the uploads. Look
  1083. at the file caching for solutions to make mount mount more reliable.
  1084. Attribute caching
  1085. You can use the flag --attr-timeout to set the time the kernel caches
  1086. the attributes (size, modification time etc) for directory entries.
  1087. The default is "1s" which caches files just long enough to avoid too
  1088. many callbacks to rclone from the kernel.
  1089. In theory 0s should be the correct value for filesystems which can
  1090. change outside the control of the kernel. However this causes quite a
  1091. few problems such as rclone using too much memory, rclone not serving
  1092. files to samba and excessive time listing directories.
  1093. The kernel can cache the info about a file for the time given by
  1094. "--attr-timeout". You may see corruption if the remote file changes
  1095. length during this window. It will show up as either a truncated file or
  1096. a file with garbage on the end. With "--attr-timeout 1s" this is very
  1097. unlikely but not impossible. The higher you set "--attr-timeout" the
  1098. more likely it is. The default setting of "1s" is the lowest setting
  1099. which mitigates the problems above.
  1100. If you set it higher ('10s' or '1m' say) then the kernel will call back
  1101. to rclone less often making it more efficient, however there is more
  1102. chance of the corruption issue above.
  1103. If files don't change on the remote outside of the control of rclone
  1104. then there is no chance of corruption.
  1105. This is the same as setting the attr_timeout option in mount.fuse.
  1106. Filters
  1107. Note that all the rclone filters can be used to select a subset of the
  1108. files to be visible in the mount.
  1109. systemd
  1110. When running rclone mount as a systemd service, it is possible to use
  1111. Type=notify. In this case the service will enter the started state after
  1112. the mountpoint has been successfully set up. Units having the rclone
  1113. mount service specified as a requirement will see all files and folders
  1114. immediately in this mode.
  1115. chunked reading
  1116. --vfs-read-chunk-size will enable reading the source objects in parts.
  1117. This can reduce the used download quota for some remotes by requesting
  1118. only chunks from the remote that are actually read at the cost of an
  1119. increased number of requests.
  1120. When --vfs-read-chunk-size-limit is also specified and greater than
  1121. --vfs-read-chunk-size, the chunk size for each open file will get
  1122. doubled for each chunk read, until the specified value is reached. A
  1123. value of -1 will disable the limit and the chunk size will grow
  1124. indefinitely.
  1125. With --vfs-read-chunk-size 100M and --vfs-read-chunk-size-limit 0 the
  1126. following parts will be downloaded: 0-100M, 100M-200M, 200M-300M,
  1127. 300M-400M and so on. When --vfs-read-chunk-size-limit 500M is specified,
  1128. the result would be 0-100M, 100M-300M, 300M-700M, 700M-1200M,
  1129. 1200M-1700M and so on.
  1130. Chunked reading will only work with --vfs-cache-mode < full, as the file
  1131. will always be copied to the vfs cache before opening with
  1132. --vfs-cache-mode full.
  1133. Directory Cache
  1134. Using the --dir-cache-time flag, you can set how long a directory should
  1135. be considered up to date and not refreshed from the backend. Changes
  1136. made locally in the mount may appear immediately or invalidate the
  1137. cache. However, changes done on the remote will only be picked up once
  1138. the cache expires.
  1139. Alternatively, you can send a SIGHUP signal to rclone for it to flush
  1140. all directory caches, regardless of how old they are. Assuming only one
  1141. rclone instance is running, you can reset the cache like this:
  1142. kill -SIGHUP $(pidof rclone)
  1143. If you configure rclone with a remote control then you can use rclone rc
  1144. to flush the whole directory cache:
  1145. rclone rc vfs/forget
  1146. Or individual files or directories:
  1147. rclone rc vfs/forget file=path/to/file dir=path/to/dir
  1148. File Buffering
  1149. The --buffer-size flag determines the amount of memory, that will be
  1150. used to buffer data in advance.
  1151. Each open file descriptor will try to keep the specified amount of data
  1152. in memory at all times. The buffered data is bound to one file
  1153. descriptor and won't be shared between multiple open file descriptors of
  1154. the same file.
  1155. This flag is a upper limit for the used memory per file descriptor. The
  1156. buffer will only use memory for data that is downloaded but not not yet
  1157. read. If the buffer is empty, only a small amount of memory will be
  1158. used. The maximum memory used by rclone for buffering can be up to
  1159. --buffer-size * open files.
  1160. File Caching
  1161. These flags control the VFS file caching options. The VFS layer is used
  1162. by rclone mount to make a cloud storage system work more like a normal
  1163. file system.
  1164. You'll need to enable VFS caching if you want, for example, to read and
  1165. write simultaneously to a file. See below for more details.
  1166. Note that the VFS cache works in addition to the cache backend and you
  1167. may find that you need one or the other or both.
  1168. --cache-dir string Directory rclone will use for caching.
  1169. --vfs-cache-max-age duration Max age of objects in the cache. (default 1h0m0s)
  1170. --vfs-cache-mode string Cache mode off|minimal|writes|full (default "off")
  1171. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects. (default 1m0s)
  1172. If run with -vv rclone will print the location of the file cache. The
  1173. files are stored in the user cache file area which is OS dependent but
  1174. can be controlled with --cache-dir or setting the appropriate
  1175. environment variable.
  1176. The cache has 4 different modes selected by --vfs-cache-mode. The higher
  1177. the cache mode the more compatible rclone becomes at the cost of using
  1178. disk space.
  1179. Note that files are written back to the remote only when they are closed
  1180. so if rclone is quit or dies with open files then these won't get
  1181. written back to the remote. However they will still be in the on disk
  1182. cache.
  1183. --vfs-cache-mode off
  1184. In this mode the cache will read directly from the remote and write
  1185. directly to the remote without caching anything on disk.
  1186. This will mean some operations are not possible
  1187. - Files can't be opened for both read AND write
  1188. - Files opened for write can't be seeked
  1189. - Existing files opened for write must have O_TRUNC set
  1190. - Files open for read with O_TRUNC will be opened write only
  1191. - Files open for write only will behave as if O_TRUNC was supplied
  1192. - Open modes O_APPEND, O_TRUNC are ignored
  1193. - If an upload fails it can't be retried
  1194. --vfs-cache-mode minimal
  1195. This is very similar to "off" except that files opened for read AND
  1196. write will be buffered to disks. This means that files opened for write
  1197. will be a lot more compatible, but uses the minimal disk space.
  1198. These operations are not possible
  1199. - Files opened for write only can't be seeked
  1200. - Existing files opened for write must have O_TRUNC set
  1201. - Files opened for write only will ignore O_APPEND, O_TRUNC
  1202. - If an upload fails it can't be retried
  1203. --vfs-cache-mode writes
  1204. In this mode files opened for read only are still read directly from the
  1205. remote, write only and read/write files are buffered to disk first.
  1206. This mode should support all normal file system operations.
  1207. If an upload fails it will be retried up to --low-level-retries times.
  1208. --vfs-cache-mode full
  1209. In this mode all reads and writes are buffered to and from disk. When a
  1210. file is opened for read it will be downloaded in its entirety first.
  1211. This may be appropriate for your needs, or you may prefer to look at the
  1212. cache backend which does a much more sophisticated job of caching,
  1213. including caching directory hierarchies and chunks of files.
  1214. In this mode, unlike the others, when a file is written to the disk, it
  1215. will be kept on the disk after it is written to the remote. It will be
  1216. purged on a schedule according to --vfs-cache-max-age.
  1217. This mode should support all normal file system operations.
  1218. If an upload or download fails it will be retried up to
  1219. --low-level-retries times.
  1220. rclone mount remote:path /path/to/mountpoint [flags]
  1221. Options
  1222. --allow-non-empty Allow mounting over a non-empty directory.
  1223. --allow-other Allow access to other users.
  1224. --allow-root Allow access to root user.
  1225. --attr-timeout duration Time for which file/directory attributes are cached. (default 1s)
  1226. --daemon Run mount as a daemon (background mode).
  1227. --daemon-timeout duration Time limit for rclone to respond to kernel (not supported by all OSes).
  1228. --debug-fuse Debug the FUSE internals - needs -v.
  1229. --default-permissions Makes kernel enforce access control based on the file mode.
  1230. --dir-cache-time duration Time to cache directory entries for. (default 5m0s)
  1231. --fuse-flag stringArray Flags or arguments to be passed direct to libfuse/WinFsp. Repeat if required.
  1232. --gid uint32 Override the gid field set by the filesystem. (default 502)
  1233. -h, --help help for mount
  1234. --max-read-ahead int The number of bytes that can be prefetched for sequential reads. (default 128k)
  1235. --no-checksum Don't compare checksums on up/download.
  1236. --no-modtime Don't read/write the modification time (can speed things up).
  1237. --no-seek Don't allow seeking in files.
  1238. -o, --option stringArray Option for libfuse/WinFsp. Repeat if required.
  1239. --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)
  1240. --read-only Mount read-only.
  1241. --uid uint32 Override the uid field set by the filesystem. (default 502)
  1242. --umask int Override the permission bits set by the filesystem.
  1243. --vfs-cache-max-age duration Max age of objects in the cache. (default 1h0m0s)
  1244. --vfs-cache-mode string Cache mode off|minimal|writes|full (default "off")
  1245. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects. (default 1m0s)
  1246. --vfs-read-chunk-size int Read the source objects in chunks. (default 128M)
  1247. --vfs-read-chunk-size-limit int 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)
  1248. --volname string Set the volume name (not supported by all OSes).
  1249. --write-back-cache Makes kernel buffer writes before sending them to rclone. Without this, writethrough caching is used.
  1250. rclone moveto
  1251. Move file or directory from source to dest.
  1252. Synopsis
  1253. If source:path is a file or directory then it moves it to a file or
  1254. directory named dest:path.
  1255. This can be used to rename files or upload single files to other than
  1256. their existing name. If the source is a directory then it acts exacty
  1257. like the move command.
  1258. So
  1259. rclone moveto src dst
  1260. where src and dst are rclone paths, either remote:path or /path/to/local
  1261. or C:.
  1262. This will:
  1263. if src is file
  1264. move it to dst, overwriting an existing file if it exists
  1265. if src is directory
  1266. move it to dst, overwriting existing files if they exist
  1267. see move command for full details
  1268. This doesn't transfer unchanged files, testing by size and modification
  1269. time or MD5SUM. src will be deleted on successful transfer.
  1270. IMPORTANT: Since this can cause data loss, test first with the --dry-run
  1271. flag.
  1272. rclone moveto source:path dest:path [flags]
  1273. Options
  1274. -h, --help help for moveto
  1275. rclone ncdu
  1276. Explore a remote with a text based user interface.
  1277. Synopsis
  1278. This displays a text based user interface allowing the navigation of a
  1279. remote. It is most useful for answering the question - "What is using
  1280. all my disk space?".
  1281. To make the user interface it first scans the entire remote given and
  1282. builds an in memory representation. rclone ncdu can be used during this
  1283. scanning phase and you will see it building up the directory structure
  1284. as it goes along.
  1285. Here are the keys - press '?' to toggle the help on and off
  1286. ↑,↓ or k,j to Move
  1287. →,l to enter
  1288. ←,h to return
  1289. c toggle counts
  1290. g toggle graph
  1291. n,s,C sort by name,size,count
  1292. ^L refresh screen
  1293. ? to toggle help on and off
  1294. q/ESC/c-C to quit
  1295. This an homage to the ncdu tool but for rclone remotes. It is missing
  1296. lots of features at the moment, most importantly deleting files, but is
  1297. useful as it stands.
  1298. rclone ncdu remote:path [flags]
  1299. Options
  1300. -h, --help help for ncdu
  1301. rclone obscure
  1302. Obscure password for use in the rclone.conf
  1303. Synopsis
  1304. Obscure password for use in the rclone.conf
  1305. rclone obscure password [flags]
  1306. Options
  1307. -h, --help help for obscure
  1308. rclone rc
  1309. Run a command against a running rclone.
  1310. Synopsis
  1311. This runs a command against a running rclone. By default it will use
  1312. that specified in the --rc-addr command.
  1313. Arguments should be passed in as parameter=value.
  1314. The result will be returned as a JSON object by default.
  1315. Use "rclone rc" to see a list of all possible commands.
  1316. rclone rc commands parameter [flags]
  1317. Options
  1318. -h, --help help for rc
  1319. --no-output If set don't output the JSON result.
  1320. --url string URL to connect to rclone remote control. (default "http://localhost:5572/")
  1321. rclone rcat
  1322. Copies standard input to file on remote.
  1323. Synopsis
  1324. rclone rcat reads from standard input (stdin) and copies it to a single
  1325. remote file.
  1326. echo "hello world" | rclone rcat remote:path/to/file
  1327. ffmpeg - | rclone rcat remote:path/to/file
  1328. If the remote file already exists, it will be overwritten.
  1329. rcat will try to upload small files in a single request, which is
  1330. usually more efficient than the streaming/chunked upload endpoints,
  1331. which use multiple requests. Exact behaviour depends on the remote. What
  1332. is considered a small file may be set through --streaming-upload-cutoff.
  1333. Uploading only starts after the cutoff is reached or if the file ends
  1334. before that. The data must fit into RAM. The cutoff needs to be small
  1335. enough to adhere the limits of your remote, please see there. Generally
  1336. speaking, setting this cutoff too high will decrease your performance.
  1337. Note that the upload can also not be retried because the data is not
  1338. kept around until the upload succeeds. If you need to transfer a lot of
  1339. data, you're better off caching locally and then rclone move it to the
  1340. destination.
  1341. rclone rcat remote:path [flags]
  1342. Options
  1343. -h, --help help for rcat
  1344. rclone rmdirs
  1345. Remove empty directories under the path.
  1346. Synopsis
  1347. This removes any empty directories (or directories that only contain
  1348. empty directories) under the path that it finds, including the path if
  1349. it has nothing in.
  1350. If you supply the --leave-root flag, it will not remove the root
  1351. directory.
  1352. This is useful for tidying up remotes that rclone has left a lot of
  1353. empty directories in.
  1354. rclone rmdirs remote:path [flags]
  1355. Options
  1356. -h, --help help for rmdirs
  1357. --leave-root Do not remove root directory if empty
  1358. rclone serve
  1359. Serve a remote over a protocol.
  1360. Synopsis
  1361. rclone serve is used to serve a remote over a given protocol. This
  1362. command requires the use of a subcommand to specify the protocol, eg
  1363. rclone serve http remote:
  1364. Each subcommand has its own options which you can see in their help.
  1365. rclone serve <protocol> [opts] <remote> [flags]
  1366. Options
  1367. -h, --help help for serve
  1368. rclone serve ftp
  1369. Serve remote:path over FTP.
  1370. Synopsis
  1371. rclone serve ftp implements a basic ftp server to serve the remote over
  1372. FTP protocol. This can be viewed with a ftp client or you can make a
  1373. remote of type ftp to read and write it.
  1374. Server options
  1375. Use --addr to specify which IP address and port the server should listen
  1376. on, eg --addr 1.2.3.4:8000 or --addr :8080 to listen to all IPs. By
  1377. default it only listens on localhost. You can use port :0 to let the OS
  1378. choose an available port.
  1379. If you set --addr to listen on a public or LAN accessible IP address
  1380. then using Authentication is advised - see the next section for info.
  1381. Authentication
  1382. By default this will serve files without needing a login.
  1383. You can set a single username and password with the --user and --pass
  1384. flags.
  1385. Directory Cache
  1386. Using the --dir-cache-time flag, you can set how long a directory should
  1387. be considered up to date and not refreshed from the backend. Changes
  1388. made locally in the mount may appear immediately or invalidate the
  1389. cache. However, changes done on the remote will only be picked up once
  1390. the cache expires.
  1391. Alternatively, you can send a SIGHUP signal to rclone for it to flush
  1392. all directory caches, regardless of how old they are. Assuming only one
  1393. rclone instance is running, you can reset the cache like this:
  1394. kill -SIGHUP $(pidof rclone)
  1395. If you configure rclone with a remote control then you can use rclone rc
  1396. to flush the whole directory cache:
  1397. rclone rc vfs/forget
  1398. Or individual files or directories:
  1399. rclone rc vfs/forget file=path/to/file dir=path/to/dir
  1400. File Buffering
  1401. The --buffer-size flag determines the amount of memory, that will be
  1402. used to buffer data in advance.
  1403. Each open file descriptor will try to keep the specified amount of data
  1404. in memory at all times. The buffered data is bound to one file
  1405. descriptor and won't be shared between multiple open file descriptors of
  1406. the same file.
  1407. This flag is a upper limit for the used memory per file descriptor. The
  1408. buffer will only use memory for data that is downloaded but not not yet
  1409. read. If the buffer is empty, only a small amount of memory will be
  1410. used. The maximum memory used by rclone for buffering can be up to
  1411. --buffer-size * open files.
  1412. File Caching
  1413. These flags control the VFS file caching options. The VFS layer is used
  1414. by rclone mount to make a cloud storage system work more like a normal
  1415. file system.
  1416. You'll need to enable VFS caching if you want, for example, to read and
  1417. write simultaneously to a file. See below for more details.
  1418. Note that the VFS cache works in addition to the cache backend and you
  1419. may find that you need one or the other or both.
  1420. --cache-dir string Directory rclone will use for caching.
  1421. --vfs-cache-max-age duration Max age of objects in the cache. (default 1h0m0s)
  1422. --vfs-cache-mode string Cache mode off|minimal|writes|full (default "off")
  1423. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects. (default 1m0s)
  1424. If run with -vv rclone will print the location of the file cache. The
  1425. files are stored in the user cache file area which is OS dependent but
  1426. can be controlled with --cache-dir or setting the appropriate
  1427. environment variable.
  1428. The cache has 4 different modes selected by --vfs-cache-mode. The higher
  1429. the cache mode the more compatible rclone becomes at the cost of using
  1430. disk space.
  1431. Note that files are written back to the remote only when they are closed
  1432. so if rclone is quit or dies with open files then these won't get
  1433. written back to the remote. However they will still be in the on disk
  1434. cache.
  1435. --vfs-cache-mode off
  1436. In this mode the cache will read directly from the remote and write
  1437. directly to the remote without caching anything on disk.
  1438. This will mean some operations are not possible
  1439. - Files can't be opened for both read AND write
  1440. - Files opened for write can't be seeked
  1441. - Existing files opened for write must have O_TRUNC set
  1442. - Files open for read with O_TRUNC will be opened write only
  1443. - Files open for write only will behave as if O_TRUNC was supplied
  1444. - Open modes O_APPEND, O_TRUNC are ignored
  1445. - If an upload fails it can't be retried
  1446. --vfs-cache-mode minimal
  1447. This is very similar to "off" except that files opened for read AND
  1448. write will be buffered to disks. This means that files opened for write
  1449. will be a lot more compatible, but uses the minimal disk space.
  1450. These operations are not possible
  1451. - Files opened for write only can't be seeked
  1452. - Existing files opened for write must have O_TRUNC set
  1453. - Files opened for write only will ignore O_APPEND, O_TRUNC
  1454. - If an upload fails it can't be retried
  1455. --vfs-cache-mode writes
  1456. In this mode files opened for read only are still read directly from the
  1457. remote, write only and read/write files are buffered to disk first.
  1458. This mode should support all normal file system operations.
  1459. If an upload fails it will be retried up to --low-level-retries times.
  1460. --vfs-cache-mode full
  1461. In this mode all reads and writes are buffered to and from disk. When a
  1462. file is opened for read it will be downloaded in its entirety first.
  1463. This may be appropriate for your needs, or you may prefer to look at the
  1464. cache backend which does a much more sophisticated job of caching,
  1465. including caching directory hierarchies and chunks of files.
  1466. In this mode, unlike the others, when a file is written to the disk, it
  1467. will be kept on the disk after it is written to the remote. It will be
  1468. purged on a schedule according to --vfs-cache-max-age.
  1469. This mode should support all normal file system operations.
  1470. If an upload or download fails it will be retried up to
  1471. --low-level-retries times.
  1472. rclone serve ftp remote:path [flags]
  1473. Options
  1474. --addr string IPaddress:Port or :Port to bind server to. (default "localhost:2121")
  1475. --dir-cache-time duration Time to cache directory entries for. (default 5m0s)
  1476. --gid uint32 Override the gid field set by the filesystem. (default 502)
  1477. -h, --help help for ftp
  1478. --no-checksum Don't compare checksums on up/download.
  1479. --no-modtime Don't read/write the modification time (can speed things up).
  1480. --no-seek Don't allow seeking in files.
  1481. --pass string Password for authentication. (empty value allow every password)
  1482. --passive-port string Passive port range to use. (default "30000-32000")
  1483. --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)
  1484. --read-only Mount read-only.
  1485. --uid uint32 Override the uid field set by the filesystem. (default 502)
  1486. --umask int Override the permission bits set by the filesystem. (default 2)
  1487. --user string User name for authentication. (default "anonymous")
  1488. --vfs-cache-max-age duration Max age of objects in the cache. (default 1h0m0s)
  1489. --vfs-cache-mode string Cache mode off|minimal|writes|full (default "off")
  1490. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects. (default 1m0s)
  1491. --vfs-read-chunk-size int Read the source objects in chunks. (default 128M)
  1492. --vfs-read-chunk-size-limit int 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)
  1493. rclone serve http
  1494. Serve the remote over HTTP.
  1495. Synopsis
  1496. rclone serve http implements a basic web server to serve the remote over
  1497. HTTP. This can be viewed in a web browser or you can make a remote of
  1498. type http read from it.
  1499. You can use the filter flags (eg --include, --exclude) to control what
  1500. is served.
  1501. The server will log errors. Use -v to see access logs.
  1502. --bwlimit will be respected for file transfers. Use --stats to control
  1503. the stats printing.
  1504. Server options
  1505. Use --addr to specify which IP address and port the server should listen
  1506. on, eg --addr 1.2.3.4:8000 or --addr :8080 to listen to all IPs. By
  1507. default it only listens on localhost. You can use port :0 to let the OS
  1508. choose an available port.
  1509. If you set --addr to listen on a public or LAN accessible IP address
  1510. then using Authentication is advised - see the next section for info.
  1511. --server-read-timeout and --server-write-timeout can be used to control
  1512. the timeouts on the server. Note that this is the total time for a
  1513. transfer.
  1514. --max-header-bytes controls the maximum number of bytes the server will
  1515. accept in the HTTP header.
  1516. Authentication
  1517. By default this will serve files without needing a login.
  1518. You can either use an htpasswd file which can take lots of users, or set
  1519. a single username and password with the --user and --pass flags.
  1520. Use --htpasswd /path/to/htpasswd to provide an htpasswd file. This is in
  1521. standard apache format and supports MD5, SHA1 and BCrypt for basic
  1522. authentication. Bcrypt is recommended.
  1523. To create an htpasswd file:
  1524. touch htpasswd
  1525. htpasswd -B htpasswd user
  1526. htpasswd -B htpasswd anotherUser
  1527. The password file can be updated while rclone is running.
  1528. Use --realm to set the authentication realm.
  1529. SSL/TLS
  1530. By default this will serve over http. If you want you can serve over
  1531. https. You will need to supply the --cert and --key flags. If you wish
  1532. to do client side certificate validation then you will need to supply
  1533. --client-ca also.
  1534. --cert should be a either a PEM encoded certificate or a concatenation
  1535. of that with the CA certificate. --key should be the PEM encoded private
  1536. key and --client-ca should be the PEM encoded client certificate
  1537. authority certificate.
  1538. Directory Cache
  1539. Using the --dir-cache-time flag, you can set how long a directory should
  1540. be considered up to date and not refreshed from the backend. Changes
  1541. made locally in the mount may appear immediately or invalidate the
  1542. cache. However, changes done on the remote will only be picked up once
  1543. the cache expires.
  1544. Alternatively, you can send a SIGHUP signal to rclone for it to flush
  1545. all directory caches, regardless of how old they are. Assuming only one
  1546. rclone instance is running, you can reset the cache like this:
  1547. kill -SIGHUP $(pidof rclone)
  1548. If you configure rclone with a remote control then you can use rclone rc
  1549. to flush the whole directory cache:
  1550. rclone rc vfs/forget
  1551. Or individual files or directories:
  1552. rclone rc vfs/forget file=path/to/file dir=path/to/dir
  1553. File Buffering
  1554. The --buffer-size flag determines the amount of memory, that will be
  1555. used to buffer data in advance.
  1556. Each open file descriptor will try to keep the specified amount of data
  1557. in memory at all times. The buffered data is bound to one file
  1558. descriptor and won't be shared between multiple open file descriptors of
  1559. the same file.
  1560. This flag is a upper limit for the used memory per file descriptor. The
  1561. buffer will only use memory for data that is downloaded but not not yet
  1562. read. If the buffer is empty, only a small amount of memory will be
  1563. used. The maximum memory used by rclone for buffering can be up to
  1564. --buffer-size * open files.
  1565. File Caching
  1566. These flags control the VFS file caching options. The VFS layer is used
  1567. by rclone mount to make a cloud storage system work more like a normal
  1568. file system.
  1569. You'll need to enable VFS caching if you want, for example, to read and
  1570. write simultaneously to a file. See below for more details.
  1571. Note that the VFS cache works in addition to the cache backend and you
  1572. may find that you need one or the other or both.
  1573. --cache-dir string Directory rclone will use for caching.
  1574. --vfs-cache-max-age duration Max age of objects in the cache. (default 1h0m0s)
  1575. --vfs-cache-mode string Cache mode off|minimal|writes|full (default "off")
  1576. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects. (default 1m0s)
  1577. If run with -vv rclone will print the location of the file cache. The
  1578. files are stored in the user cache file area which is OS dependent but
  1579. can be controlled with --cache-dir or setting the appropriate
  1580. environment variable.
  1581. The cache has 4 different modes selected by --vfs-cache-mode. The higher
  1582. the cache mode the more compatible rclone becomes at the cost of using
  1583. disk space.
  1584. Note that files are written back to the remote only when they are closed
  1585. so if rclone is quit or dies with open files then these won't get
  1586. written back to the remote. However they will still be in the on disk
  1587. cache.
  1588. --vfs-cache-mode off
  1589. In this mode the cache will read directly from the remote and write
  1590. directly to the remote without caching anything on disk.
  1591. This will mean some operations are not possible
  1592. - Files can't be opened for both read AND write
  1593. - Files opened for write can't be seeked
  1594. - Existing files opened for write must have O_TRUNC set
  1595. - Files open for read with O_TRUNC will be opened write only
  1596. - Files open for write only will behave as if O_TRUNC was supplied
  1597. - Open modes O_APPEND, O_TRUNC are ignored
  1598. - If an upload fails it can't be retried
  1599. --vfs-cache-mode minimal
  1600. This is very similar to "off" except that files opened for read AND
  1601. write will be buffered to disks. This means that files opened for write
  1602. will be a lot more compatible, but uses the minimal disk space.
  1603. These operations are not possible
  1604. - Files opened for write only can't be seeked
  1605. - Existing files opened for write must have O_TRUNC set
  1606. - Files opened for write only will ignore O_APPEND, O_TRUNC
  1607. - If an upload fails it can't be retried
  1608. --vfs-cache-mode writes
  1609. In this mode files opened for read only are still read directly from the
  1610. remote, write only and read/write files are buffered to disk first.
  1611. This mode should support all normal file system operations.
  1612. If an upload fails it will be retried up to --low-level-retries times.
  1613. --vfs-cache-mode full
  1614. In this mode all reads and writes are buffered to and from disk. When a
  1615. file is opened for read it will be downloaded in its entirety first.
  1616. This may be appropriate for your needs, or you may prefer to look at the
  1617. cache backend which does a much more sophisticated job of caching,
  1618. including caching directory hierarchies and chunks of files.
  1619. In this mode, unlike the others, when a file is written to the disk, it
  1620. will be kept on the disk after it is written to the remote. It will be
  1621. purged on a schedule according to --vfs-cache-max-age.
  1622. This mode should support all normal file system operations.
  1623. If an upload or download fails it will be retried up to
  1624. --low-level-retries times.
  1625. rclone serve http remote:path [flags]
  1626. Options
  1627. --addr string IPaddress:Port or :Port to bind server to. (default "localhost:8080")
  1628. --cert string SSL PEM key (concatenation of certificate and CA certificate)
  1629. --client-ca string Client certificate authority to verify clients with
  1630. --dir-cache-time duration Time to cache directory entries for. (default 5m0s)
  1631. --gid uint32 Override the gid field set by the filesystem. (default 502)
  1632. -h, --help help for http
  1633. --htpasswd string htpasswd file - if not provided no authentication is done
  1634. --key string SSL PEM Private key
  1635. --max-header-bytes int Maximum size of request header (default 4096)
  1636. --no-checksum Don't compare checksums on up/download.
  1637. --no-modtime Don't read/write the modification time (can speed things up).
  1638. --no-seek Don't allow seeking in files.
  1639. --pass string Password for authentication.
  1640. --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)
  1641. --read-only Mount read-only.
  1642. --realm string realm for authentication (default "rclone")
  1643. --server-read-timeout duration Timeout for server reading data (default 1h0m0s)
  1644. --server-write-timeout duration Timeout for server writing data (default 1h0m0s)
  1645. --uid uint32 Override the uid field set by the filesystem. (default 502)
  1646. --umask int Override the permission bits set by the filesystem. (default 2)
  1647. --user string User name for authentication.
  1648. --vfs-cache-max-age duration Max age of objects in the cache. (default 1h0m0s)
  1649. --vfs-cache-mode string Cache mode off|minimal|writes|full (default "off")
  1650. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects. (default 1m0s)
  1651. --vfs-read-chunk-size int Read the source objects in chunks. (default 128M)
  1652. --vfs-read-chunk-size-limit int 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)
  1653. rclone serve restic
  1654. Serve the remote for restic's REST API.
  1655. Synopsis
  1656. rclone serve restic implements restic's REST backend API over HTTP. This
  1657. allows restic to use rclone as a data storage mechanism for cloud
  1658. providers that restic does not support directly.
  1659. Restic is a command line program for doing backups.
  1660. The server will log errors. Use -v to see access logs.
  1661. --bwlimit will be respected for file transfers. Use --stats to control
  1662. the stats printing.
  1663. Setting up rclone for use by restic
  1664. First set up a remote for your chosen cloud provider.
  1665. Once you have set up the remote, check it is working with, for example
  1666. "rclone lsd remote:". You may have called the remote something other
  1667. than "remote:" - just substitute whatever you called it in the following
  1668. instructions.
  1669. Now start the rclone restic server
  1670. rclone serve restic -v remote:backup
  1671. Where you can replace "backup" in the above by whatever path in the
  1672. remote you wish to use.
  1673. By default this will serve on "localhost:8080" you can change this with
  1674. use of the "--addr" flag.
  1675. You might wish to start this server on boot.
  1676. Setting up restic to use rclone
  1677. Now you can follow the restic instructions on setting up restic.
  1678. Note that you will need restic 0.8.2 or later to interoperate with
  1679. rclone.
  1680. For the example above you will want to use "http://localhost:8080/" as
  1681. the URL for the REST server.
  1682. For example:
  1683. $ export RESTIC_REPOSITORY=rest:http://localhost:8080/
  1684. $ export RESTIC_PASSWORD=yourpassword
  1685. $ restic init
  1686. created restic backend 8b1a4b56ae at rest:http://localhost:8080/
  1687. Please note that knowledge of your password is required to access
  1688. the repository. Losing your password means that your data is
  1689. irrecoverably lost.
  1690. $ restic backup /path/to/files/to/backup
  1691. scan [/path/to/files/to/backup]
  1692. scanned 189 directories, 312 files in 0:00
  1693. [0:00] 100.00% 38.128 MiB / 38.128 MiB 501 / 501 items 0 errors ETA 0:00
  1694. duration: 0:00
  1695. snapshot 45c8fdd8 saved
  1696. Multiple repositories
  1697. Note that you can use the endpoint to host multiple repositories. Do
  1698. this by adding a directory name or path after the URL. Note that these
  1699. MUST end with /. Eg
  1700. $ export RESTIC_REPOSITORY=rest:http://localhost:8080/user1repo/
  1701. # backup user1 stuff
  1702. $ export RESTIC_REPOSITORY=rest:http://localhost:8080/user2repo/
  1703. # backup user2 stuff
  1704. Server options
  1705. Use --addr to specify which IP address and port the server should listen
  1706. on, eg --addr 1.2.3.4:8000 or --addr :8080 to listen to all IPs. By
  1707. default it only listens on localhost. You can use port :0 to let the OS
  1708. choose an available port.
  1709. If you set --addr to listen on a public or LAN accessible IP address
  1710. then using Authentication is advised - see the next section for info.
  1711. --server-read-timeout and --server-write-timeout can be used to control
  1712. the timeouts on the server. Note that this is the total time for a
  1713. transfer.
  1714. --max-header-bytes controls the maximum number of bytes the server will
  1715. accept in the HTTP header.
  1716. Authentication
  1717. By default this will serve files without needing a login.
  1718. You can either use an htpasswd file which can take lots of users, or set
  1719. a single username and password with the --user and --pass flags.
  1720. Use --htpasswd /path/to/htpasswd to provide an htpasswd file. This is in
  1721. standard apache format and supports MD5, SHA1 and BCrypt for basic
  1722. authentication. Bcrypt is recommended.
  1723. To create an htpasswd file:
  1724. touch htpasswd
  1725. htpasswd -B htpasswd user
  1726. htpasswd -B htpasswd anotherUser
  1727. The password file can be updated while rclone is running.
  1728. Use --realm to set the authentication realm.
  1729. SSL/TLS
  1730. By default this will serve over http. If you want you can serve over
  1731. https. You will need to supply the --cert and --key flags. If you wish
  1732. to do client side certificate validation then you will need to supply
  1733. --client-ca also.
  1734. --cert should be a either a PEM encoded certificate or a concatenation
  1735. of that with the CA certificate. --key should be the PEM encoded private
  1736. key and --client-ca should be the PEM encoded client certificate
  1737. authority certificate.
  1738. rclone serve restic remote:path [flags]
  1739. Options
  1740. --addr string IPaddress:Port or :Port to bind server to. (default "localhost:8080")
  1741. --append-only disallow deletion of repository data
  1742. --cert string SSL PEM key (concatenation of certificate and CA certificate)
  1743. --client-ca string Client certificate authority to verify clients with
  1744. -h, --help help for restic
  1745. --htpasswd string htpasswd file - if not provided no authentication is done
  1746. --key string SSL PEM Private key
  1747. --max-header-bytes int Maximum size of request header (default 4096)
  1748. --pass string Password for authentication.
  1749. --realm string realm for authentication (default "rclone")
  1750. --server-read-timeout duration Timeout for server reading data (default 1h0m0s)
  1751. --server-write-timeout duration Timeout for server writing data (default 1h0m0s)
  1752. --stdio run an HTTP2 server on stdin/stdout
  1753. --user string User name for authentication.
  1754. rclone serve webdav
  1755. Serve remote:path over webdav.
  1756. Synopsis
  1757. rclone serve webdav implements a basic webdav server to serve the remote
  1758. over HTTP via the webdav protocol. This can be viewed with a webdav
  1759. client or you can make a remote of type webdav to read and write it.
  1760. Webdav options
  1761. --etag-hash
  1762. This controls the ETag header. Without this flag the ETag will be based
  1763. on the ModTime and Size of the object.
  1764. If this flag is set to "auto" then rclone will choose the first
  1765. supported hash on the backend or you can use a named hash such as "MD5"
  1766. or "SHA-1".
  1767. Use "rclone hashsum" to see the full list.
  1768. Server options
  1769. Use --addr to specify which IP address and port the server should listen
  1770. on, eg --addr 1.2.3.4:8000 or --addr :8080 to listen to all IPs. By
  1771. default it only listens on localhost. You can use port :0 to let the OS
  1772. choose an available port.
  1773. If you set --addr to listen on a public or LAN accessible IP address
  1774. then using Authentication is advised - see the next section for info.
  1775. --server-read-timeout and --server-write-timeout can be used to control
  1776. the timeouts on the server. Note that this is the total time for a
  1777. transfer.
  1778. --max-header-bytes controls the maximum number of bytes the server will
  1779. accept in the HTTP header.
  1780. Authentication
  1781. By default this will serve files without needing a login.
  1782. You can either use an htpasswd file which can take lots of users, or set
  1783. a single username and password with the --user and --pass flags.
  1784. Use --htpasswd /path/to/htpasswd to provide an htpasswd file. This is in
  1785. standard apache format and supports MD5, SHA1 and BCrypt for basic
  1786. authentication. Bcrypt is recommended.
  1787. To create an htpasswd file:
  1788. touch htpasswd
  1789. htpasswd -B htpasswd user
  1790. htpasswd -B htpasswd anotherUser
  1791. The password file can be updated while rclone is running.
  1792. Use --realm to set the authentication realm.
  1793. SSL/TLS
  1794. By default this will serve over http. If you want you can serve over
  1795. https. You will need to supply the --cert and --key flags. If you wish
  1796. to do client side certificate validation then you will need to supply
  1797. --client-ca also.
  1798. --cert should be a either a PEM encoded certificate or a concatenation
  1799. of that with the CA certificate. --key should be the PEM encoded private
  1800. key and --client-ca should be the PEM encoded client certificate
  1801. authority certificate.
  1802. Directory Cache
  1803. Using the --dir-cache-time flag, you can set how long a directory should
  1804. be considered up to date and not refreshed from the backend. Changes
  1805. made locally in the mount may appear immediately or invalidate the
  1806. cache. However, changes done on the remote will only be picked up once
  1807. the cache expires.
  1808. Alternatively, you can send a SIGHUP signal to rclone for it to flush
  1809. all directory caches, regardless of how old they are. Assuming only one
  1810. rclone instance is running, you can reset the cache like this:
  1811. kill -SIGHUP $(pidof rclone)
  1812. If you configure rclone with a remote control then you can use rclone rc
  1813. to flush the whole directory cache:
  1814. rclone rc vfs/forget
  1815. Or individual files or directories:
  1816. rclone rc vfs/forget file=path/to/file dir=path/to/dir
  1817. File Buffering
  1818. The --buffer-size flag determines the amount of memory, that will be
  1819. used to buffer data in advance.
  1820. Each open file descriptor will try to keep the specified amount of data
  1821. in memory at all times. The buffered data is bound to one file
  1822. descriptor and won't be shared between multiple open file descriptors of
  1823. the same file.
  1824. This flag is a upper limit for the used memory per file descriptor. The
  1825. buffer will only use memory for data that is downloaded but not not yet
  1826. read. If the buffer is empty, only a small amount of memory will be
  1827. used. The maximum memory used by rclone for buffering can be up to
  1828. --buffer-size * open files.
  1829. File Caching
  1830. These flags control the VFS file caching options. The VFS layer is used
  1831. by rclone mount to make a cloud storage system work more like a normal
  1832. file system.
  1833. You'll need to enable VFS caching if you want, for example, to read and
  1834. write simultaneously to a file. See below for more details.
  1835. Note that the VFS cache works in addition to the cache backend and you
  1836. may find that you need one or the other or both.
  1837. --cache-dir string Directory rclone will use for caching.
  1838. --vfs-cache-max-age duration Max age of objects in the cache. (default 1h0m0s)
  1839. --vfs-cache-mode string Cache mode off|minimal|writes|full (default "off")
  1840. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects. (default 1m0s)
  1841. If run with -vv rclone will print the location of the file cache. The
  1842. files are stored in the user cache file area which is OS dependent but
  1843. can be controlled with --cache-dir or setting the appropriate
  1844. environment variable.
  1845. The cache has 4 different modes selected by --vfs-cache-mode. The higher
  1846. the cache mode the more compatible rclone becomes at the cost of using
  1847. disk space.
  1848. Note that files are written back to the remote only when they are closed
  1849. so if rclone is quit or dies with open files then these won't get
  1850. written back to the remote. However they will still be in the on disk
  1851. cache.
  1852. --vfs-cache-mode off
  1853. In this mode the cache will read directly from the remote and write
  1854. directly to the remote without caching anything on disk.
  1855. This will mean some operations are not possible
  1856. - Files can't be opened for both read AND write
  1857. - Files opened for write can't be seeked
  1858. - Existing files opened for write must have O_TRUNC set
  1859. - Files open for read with O_TRUNC will be opened write only
  1860. - Files open for write only will behave as if O_TRUNC was supplied
  1861. - Open modes O_APPEND, O_TRUNC are ignored
  1862. - If an upload fails it can't be retried
  1863. --vfs-cache-mode minimal
  1864. This is very similar to "off" except that files opened for read AND
  1865. write will be buffered to disks. This means that files opened for write
  1866. will be a lot more compatible, but uses the minimal disk space.
  1867. These operations are not possible
  1868. - Files opened for write only can't be seeked
  1869. - Existing files opened for write must have O_TRUNC set
  1870. - Files opened for write only will ignore O_APPEND, O_TRUNC
  1871. - If an upload fails it can't be retried
  1872. --vfs-cache-mode writes
  1873. In this mode files opened for read only are still read directly from the
  1874. remote, write only and read/write files are buffered to disk first.
  1875. This mode should support all normal file system operations.
  1876. If an upload fails it will be retried up to --low-level-retries times.
  1877. --vfs-cache-mode full
  1878. In this mode all reads and writes are buffered to and from disk. When a
  1879. file is opened for read it will be downloaded in its entirety first.
  1880. This may be appropriate for your needs, or you may prefer to look at the
  1881. cache backend which does a much more sophisticated job of caching,
  1882. including caching directory hierarchies and chunks of files.
  1883. In this mode, unlike the others, when a file is written to the disk, it
  1884. will be kept on the disk after it is written to the remote. It will be
  1885. purged on a schedule according to --vfs-cache-max-age.
  1886. This mode should support all normal file system operations.
  1887. If an upload or download fails it will be retried up to
  1888. --low-level-retries times.
  1889. rclone serve webdav remote:path [flags]
  1890. Options
  1891. --addr string IPaddress:Port or :Port to bind server to. (default "localhost:8080")
  1892. --cert string SSL PEM key (concatenation of certificate and CA certificate)
  1893. --client-ca string Client certificate authority to verify clients with
  1894. --dir-cache-time duration Time to cache directory entries for. (default 5m0s)
  1895. --etag-hash string Which hash to use for the ETag, or auto or blank for off
  1896. --gid uint32 Override the gid field set by the filesystem. (default 502)
  1897. -h, --help help for webdav
  1898. --htpasswd string htpasswd file - if not provided no authentication is done
  1899. --key string SSL PEM Private key
  1900. --max-header-bytes int Maximum size of request header (default 4096)
  1901. --no-checksum Don't compare checksums on up/download.
  1902. --no-modtime Don't read/write the modification time (can speed things up).
  1903. --no-seek Don't allow seeking in files.
  1904. --pass string Password for authentication.
  1905. --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)
  1906. --read-only Mount read-only.
  1907. --realm string realm for authentication (default "rclone")
  1908. --server-read-timeout duration Timeout for server reading data (default 1h0m0s)
  1909. --server-write-timeout duration Timeout for server writing data (default 1h0m0s)
  1910. --uid uint32 Override the uid field set by the filesystem. (default 502)
  1911. --umask int Override the permission bits set by the filesystem. (default 2)
  1912. --user string User name for authentication.
  1913. --vfs-cache-max-age duration Max age of objects in the cache. (default 1h0m0s)
  1914. --vfs-cache-mode string Cache mode off|minimal|writes|full (default "off")
  1915. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects. (default 1m0s)
  1916. --vfs-read-chunk-size int Read the source objects in chunks. (default 128M)
  1917. --vfs-read-chunk-size-limit int 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)
  1918. rclone settier
  1919. Changes storage class/tier of objects in remote.
  1920. Synopsis
  1921. rclone settier changes storage tier or class at remote if supported. Few
  1922. cloud storage services provides different storage classes on objects,
  1923. for example AWS S3 and Glacier, Azure Blob storage - Hot, Cool and
  1924. Archive, Google Cloud Storage, Regional Storage, Nearline, Coldline etc.
  1925. Note that, certain tier chages make objects not available to access
  1926. immediately. For example tiering to archive in azure blob storage makes
  1927. objects in frozen state, user can restore by setting tier to Hot/Cool,
  1928. similarly S3 to Glacier makes object inaccessible.true
  1929. You can use it to tier single object
  1930. rclone settier Cool remote:path/file
  1931. Or use rclone filters to set tier on only specific files
  1932. rclone --include "*.txt" settier Hot remote:path/dir
  1933. Or just provide remote directory and all files in directory will be
  1934. tiered
  1935. rclone settier tier remote:path/dir
  1936. rclone settier tier remote:path [flags]
  1937. Options
  1938. -h, --help help for settier
  1939. rclone touch
  1940. Create new file or change file modification time.
  1941. Synopsis
  1942. Create new file or change file modification time.
  1943. rclone touch remote:path [flags]
  1944. Options
  1945. -h, --help help for touch
  1946. -C, --no-create Do not create the file if it does not exist.
  1947. -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)
  1948. rclone tree
  1949. List the contents of the remote in a tree like fashion.
  1950. Synopsis
  1951. rclone tree lists the contents of a remote in a similar way to the unix
  1952. tree command.
  1953. For example
  1954. $ rclone tree remote:path
  1955. /
  1956. ├── file1
  1957. ├── file2
  1958. ├── file3
  1959. └── subdir
  1960. ├── file4
  1961. └── file5
  1962. 1 directories, 5 files
  1963. You can use any of the filtering options with the tree command (eg
  1964. --include and --exclude). You can also use --fast-list.
  1965. The tree command has many options for controlling the listing which are
  1966. compatible with the tree command. Note that not all of them have short
  1967. options as they conflict with rclone's short options.
  1968. rclone tree remote:path [flags]
  1969. Options
  1970. -a, --all All files are listed (list . files too).
  1971. -C, --color Turn colorization on always.
  1972. -d, --dirs-only List directories only.
  1973. --dirsfirst List directories before files (-U disables).
  1974. --full-path Print the full path prefix for each file.
  1975. -h, --help help for tree
  1976. --human Print the size in a more human readable way.
  1977. --level int Descend only level directories deep.
  1978. -D, --modtime Print the date of last modification.
  1979. -i, --noindent Don't print indentation lines.
  1980. --noreport Turn off file/directory count at end of tree listing.
  1981. -o, --output string Output to file instead of stdout.
  1982. -p, --protections Print the protections for each file.
  1983. -Q, --quote Quote filenames with double quotes.
  1984. -s, --size Print the size in bytes of each file.
  1985. --sort string Select sort: name,version,size,mtime,ctime.
  1986. --sort-ctime Sort files by last status change time.
  1987. -t, --sort-modtime Sort files by last modification time.
  1988. -r, --sort-reverse Reverse the order of the sort.
  1989. -U, --unsorted Leave files unsorted.
  1990. --version Sort files alphanumerically by version.
  1991. Copying single files
  1992. rclone normally syncs or copies directories. However, if the source
  1993. remote points to a file, rclone will just copy that file. The
  1994. destination remote must point to a directory - rclone will give the
  1995. error
  1996. Failed to create file system for "remote:file": is a file not a directory
  1997. if it isn't.
  1998. For example, suppose you have a remote with a file in called test.jpg,
  1999. then you could copy just that file like this
  2000. rclone copy remote:test.jpg /tmp/download
  2001. The file test.jpg will be placed inside /tmp/download.
  2002. This is equivalent to specifying
  2003. rclone copy --files-from /tmp/files remote: /tmp/download
  2004. Where /tmp/files contains the single line
  2005. test.jpg
  2006. It is recommended to use copy when copying individual files, not sync.
  2007. They have pretty much the same effect but copy will use a lot less
  2008. memory.
  2009. Syntax of remote paths
  2010. The syntax of the paths passed to the rclone command are as follows.
  2011. /path/to/dir
  2012. This refers to the local file system.
  2013. On Windows only \ may be used instead of / in local paths ONLY, non
  2014. local paths must use /.
  2015. These paths needn't start with a leading / - if they don't then they
  2016. will be relative to the current directory.
  2017. remote:path/to/dir
  2018. This refers to a directory path/to/dir on remote: as defined in the
  2019. config file (configured with rclone config).
  2020. remote:/path/to/dir
  2021. On most backends this is refers to the same directory as
  2022. remote:path/to/dir and that format should be preferred. On a very small
  2023. number of remotes (FTP, SFTP, Dropbox for business) this will refer to a
  2024. different directory. On these, paths without a leading / will refer to
  2025. your "home" directory and paths with a leading / will refer to the root.
  2026. :backend:path/to/dir
  2027. This is an advanced form for creating remotes on the fly. backend should
  2028. be the name or prefix of a backend (the type in the config file) and all
  2029. the configuration for the backend should be provided on the command line
  2030. (or in environment variables).
  2031. Eg
  2032. rclone lsd --http-url https://pub.rclone.org :http:
  2033. Which lists all the directories in pub.rclone.org.
  2034. Quoting and the shell
  2035. When you are typing commands to your computer you are using something
  2036. called the command line shell. This interprets various characters in an
  2037. OS specific way.
  2038. Here are some gotchas which may help users unfamiliar with the shell
  2039. rules
  2040. Linux / OSX
  2041. If your names have spaces or shell metacharacters (eg *, ?, $, ', " etc)
  2042. then you must quote them. Use single quotes ' by default.
  2043. rclone copy 'Important files?' remote:backup
  2044. If you want to send a ' you will need to use ", eg
  2045. rclone copy "O'Reilly Reviews" remote:backup
  2046. The rules for quoting metacharacters are complicated and if you want the
  2047. full details you'll have to consult the manual page for your shell.
  2048. Windows
  2049. If your names have spaces in you need to put them in ", eg
  2050. rclone copy "E:\folder name\folder name\folder name" remote:backup
  2051. If you are using the root directory on its own then don't quote it (see
  2052. #464 for why), eg
  2053. rclone copy E:\ remote:backup
  2054. Copying files or directories with : in the names
  2055. rclone uses : to mark a remote name. This is, however, a valid filename
  2056. component in non-Windows OSes. The remote name parser will only search
  2057. for a : up to the first / so if you need to act on a file or directory
  2058. like this then use the full path starting with a /, or use ./ as a
  2059. current directory prefix.
  2060. So to sync a directory called sync:me to a remote called remote: use
  2061. rclone sync ./sync:me remote:path
  2062. or
  2063. rclone sync /full/path/to/sync:me remote:path
  2064. Server Side Copy
  2065. Most remotes (but not all - see the overview) support server side copy.
  2066. This means if you want to copy one folder to another then rclone won't
  2067. download all the files and re-upload them; it will instruct the server
  2068. to copy them in place.
  2069. Eg
  2070. rclone copy s3:oldbucket s3:newbucket
  2071. Will copy the contents of oldbucket to newbucket without downloading and
  2072. re-uploading.
  2073. Remotes which don't support server side copy WILL download and re-upload
  2074. in this case.
  2075. Server side copies are used with sync and copy and will be identified in
  2076. the log when using the -v flag. The move command may also use them if
  2077. remote doesn't support server side move directly. This is done by
  2078. issuing a server side copy then a delete which is much quicker than a
  2079. download and re-upload.
  2080. Server side copies will only be attempted if the remote names are the
  2081. same.
  2082. This can be used when scripting to make aged backups efficiently, eg
  2083. rclone sync remote:current-backup remote:previous-backup
  2084. rclone sync /path/to/files remote:current-backup
  2085. Options
  2086. Rclone has a number of options to control its behaviour.
  2087. Options which use TIME use the go time parser. A duration string is a
  2088. possibly signed sequence of decimal numbers, each with optional fraction
  2089. and a unit suffix, such as "300ms", "-1.5h" or "2h45m". Valid time units
  2090. are "ns", "us" (or "µs"), "ms", "s", "m", "h".
  2091. Options which use SIZE use kByte by default. However, a suffix of b for
  2092. bytes, k for kBytes, M for MBytes, G for GBytes, T for TBytes and P for
  2093. PBytes may be used. These are the binary units, eg 1, 2**10, 2**20,
  2094. 2**30 respectively.
  2095. --backup-dir=DIR
  2096. When using sync, copy or move any files which would have been
  2097. overwritten or deleted are moved in their original hierarchy into this
  2098. directory.
  2099. If --suffix is set, then the moved files will have the suffix added to
  2100. them. If there is a file with the same path (after the suffix has been
  2101. added) in DIR, then it will be overwritten.
  2102. The remote in use must support server side move or copy and you must use
  2103. the same remote as the destination of the sync. The backup directory
  2104. must not overlap the destination directory.
  2105. For example
  2106. rclone sync /path/to/local remote:current --backup-dir remote:old
  2107. will sync /path/to/local to remote:current, but for any files which
  2108. would have been updated or deleted will be stored in remote:old.
  2109. If running rclone from a script you might want to use today's date as
  2110. the directory name passed to --backup-dir to store the old files, or you
  2111. might want to pass --suffix with today's date.
  2112. --bind string
  2113. Local address to bind to for outgoing connections. This can be an IPv4
  2114. address (1.2.3.4), an IPv6 address (1234::789A) or host name. If the
  2115. host name doesn't resolve or resolves to more than one IP address it
  2116. will give an error.
  2117. --bwlimit=BANDWIDTH_SPEC
  2118. This option controls the bandwidth limit. Limits can be specified in two
  2119. ways: As a single limit, or as a timetable.
  2120. Single limits last for the duration of the session. To use a single
  2121. limit, specify the desired bandwidth in kBytes/s, or use a suffix
  2122. b|k|M|G. The default is 0 which means to not limit bandwidth.
  2123. For example, to limit bandwidth usage to 10 MBytes/s use --bwlimit 10M
  2124. It is also possible to specify a "timetable" of limits, which will cause
  2125. certain limits to be applied at certain times. To specify a timetable,
  2126. format your entries as "WEEKDAY-HH:MM,BANDWIDTH
  2127. WEEKDAY-HH:MM,BANDWIDTH..." where: WEEKDAY is optional element. It could
  2128. be writen as whole world or only using 3 first characters. HH:MM is an
  2129. hour from 00:00 to 23:59.
  2130. An example of a typical timetable to avoid link saturation during
  2131. daytime working hours could be:
  2132. --bwlimit "08:00,512 12:00,10M 13:00,512 18:00,30M 23:00,off"
  2133. In this example, the transfer bandwidth will be every day set to
  2134. 512kBytes/sec at 8am. At noon, it will raise to 10Mbytes/s, and drop
  2135. back to 512kBytes/sec at 1pm. At 6pm, the bandwidth limit will be set to
  2136. 30MBytes/s, and at 11pm it will be completely disabled (full speed).
  2137. Anything between 11pm and 8am will remain unlimited.
  2138. An example of timetable with WEEKDAY could be:
  2139. --bwlimit "Mon-00:00,512 Fri-23:59,10M Sat-10:00,1M Sun-20:00,off"
  2140. It mean that, the transfer bandwidh will be set to 512kBytes/sec on
  2141. Monday. It will raise to 10Mbytes/s before the end of Friday. At 10:00
  2142. on Sunday it will be set to 1Mbyte/s. From 20:00 at Sunday will be
  2143. unlimited.
  2144. Timeslots without weekday are extended to whole week. So this one
  2145. example:
  2146. --bwlimit "Mon-00:00,512 12:00,1M Sun-20:00,off"
  2147. Is equal to this:
  2148. --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"
  2149. Bandwidth limits only apply to the data transfer. They don't apply to
  2150. the bandwidth of the directory listings etc.
  2151. Note that the units are Bytes/s, not Bits/s. Typically connections are
  2152. measured in Bits/s - to convert divide by 8. For example, let's say you
  2153. have a 10 Mbit/s connection and you wish rclone to use half of it - 5
  2154. Mbit/s. This is 5/8 = 0.625MByte/s so you would use a --bwlimit 0.625M
  2155. parameter for rclone.
  2156. On Unix systems (Linux, MacOS, …) the bandwidth limiter can be toggled
  2157. by sending a SIGUSR2 signal to rclone. This allows to remove the
  2158. limitations of a long running rclone transfer and to restore it back to
  2159. the value specified with --bwlimit quickly when needed. Assuming there
  2160. is only one rclone instance running, you can toggle the limiter like
  2161. this:
  2162. kill -SIGUSR2 $(pidof rclone)
  2163. If you configure rclone with a remote control then you can use change
  2164. the bwlimit dynamically:
  2165. rclone rc core/bwlimit rate=1M
  2166. --buffer-size=SIZE
  2167. Use this sized buffer to speed up file transfers. Each --transfer will
  2168. use this much memory for buffering.
  2169. When using mount or cmount each open file descriptor will use this much
  2170. memory for buffering. See the mount documentation for more details.
  2171. Set to 0 to disable the buffering for the minimum memory usage.
  2172. --checkers=N
  2173. The number of checkers to run in parallel. Checkers do the equality
  2174. checking of files during a sync. For some storage systems (eg S3, Swift,
  2175. Dropbox) this can take a significant amount of time so they are run in
  2176. parallel.
  2177. The default is to run 8 checkers in parallel.
  2178. -c, --checksum
  2179. Normally rclone will look at modification time and size of files to see
  2180. if they are equal. If you set this flag then rclone will check the file
  2181. hash and size to determine if files are equal.
  2182. This is useful when the remote doesn't support setting modified time and
  2183. a more accurate sync is desired than just checking the file size.
  2184. This is very useful when transferring between remotes which store the
  2185. same hash type on the object, eg Drive and Swift. For details of which
  2186. remotes support which hash type see the table in the overview section.
  2187. Eg rclone --checksum sync s3:/bucket swift:/bucket would run much
  2188. quicker than without the --checksum flag.
  2189. When using this flag, rclone won't update mtimes of remote files if they
  2190. are incorrect as it would normally.
  2191. --config=CONFIG_FILE
  2192. Specify the location of the rclone config file.
  2193. Normally the config file is in your home directory as a file called
  2194. .config/rclone/rclone.conf (or .rclone.conf if created with an older
  2195. version). If $XDG_CONFIG_HOME is set it will be at
  2196. $XDG_CONFIG_HOME/rclone/rclone.conf
  2197. If you run rclone -h and look at the help for the --config option you
  2198. will see where the default location is for you.
  2199. Use this flag to override the config location, eg
  2200. rclone --config=".myconfig" .config.
  2201. --contimeout=TIME
  2202. Set the connection timeout. This should be in go time format which looks
  2203. like 5s for 5 seconds, 10m for 10 minutes, or 3h30m.
  2204. The connection timeout is the amount of time rclone will wait for a
  2205. connection to go through to a remote object storage system. It is 1m by
  2206. default.
  2207. --dedupe-mode MODE
  2208. Mode to run dedupe command in. One of interactive, skip, first, newest,
  2209. oldest, rename. The default is interactive. See the dedupe command for
  2210. more information as to what these options mean.
  2211. --disable FEATURE,FEATURE,...
  2212. This disables a comma separated list of optional features. For example
  2213. to disable server side move and server side copy use:
  2214. --disable move,copy
  2215. The features can be put in in any case.
  2216. To see a list of which features can be disabled use:
  2217. --disable help
  2218. See the overview features and optional features to get an idea of which
  2219. feature does what.
  2220. This flag can be useful for debugging and in exceptional circumstances
  2221. (eg Google Drive limiting the total volume of Server Side Copies to
  2222. 100GB/day).
  2223. -n, --dry-run
  2224. Do a trial run with no permanent changes. Use this to see what rclone
  2225. would do without actually doing it. Useful when setting up the sync
  2226. command which deletes files in the destination.
  2227. --ignore-checksum
  2228. Normally rclone will check that the checksums of transferred files
  2229. match, and give an error "corrupted on transfer" if they don't.
  2230. You can use this option to skip that check. You should only use it if
  2231. you have had the "corrupted on transfer" error message and you are sure
  2232. you might want to transfer potentially corrupted data.
  2233. --ignore-existing
  2234. Using this option will make rclone unconditionally skip all files that
  2235. exist on the destination, no matter the content of these files.
  2236. While this isn't a generally recommended option, it can be useful in
  2237. cases where your files change due to encryption. However, it cannot
  2238. correct partial transfers in case a transfer was interrupted.
  2239. --ignore-size
  2240. Normally rclone will look at modification time and size of files to see
  2241. if they are equal. If you set this flag then rclone will check only the
  2242. modification time. If --checksum is set then it only checks the
  2243. checksum.
  2244. It will also cause rclone to skip verifying the sizes are the same after
  2245. transfer.
  2246. This can be useful for transferring files to and from OneDrive which
  2247. occasionally misreports the size of image files (see #399 for more
  2248. info).
  2249. -I, --ignore-times
  2250. Using this option will cause rclone to unconditionally upload all files
  2251. regardless of the state of files on the destination.
  2252. Normally rclone would skip any files that have the same modification
  2253. time and are the same size (or have the same checksum if using
  2254. --checksum).
  2255. --immutable
  2256. Treat source and destination files as immutable and disallow
  2257. modification.
  2258. With this option set, files will be created and deleted as requested,
  2259. but existing files will never be updated. If an existing file does not
  2260. match between the source and destination, rclone will give the error
  2261. Source and destination exist but do not match: immutable file modified.
  2262. Note that only commands which transfer files (e.g. sync, copy, move) are
  2263. affected by this behavior, and only modification is disallowed. Files
  2264. may still be deleted explicitly (e.g. delete, purge) or implicitly (e.g.
  2265. sync, move). Use copy --immutable if it is desired to avoid deletion as
  2266. well as modification.
  2267. This can be useful as an additional layer of protection for immutable or
  2268. append-only data sets (notably backup archives), where modification
  2269. implies corruption and should not be propagated.
  2270. --leave-root
  2271. During rmdirs it will not remove root directory, even if it's empty.
  2272. --log-file=FILE
  2273. Log all of rclone's output to FILE. This is not active by default. This
  2274. can be useful for tracking down problems with syncs in combination with
  2275. the -v flag. See the Logging section for more info.
  2276. Note that if you are using the logrotate program to manage rclone's
  2277. logs, then you should use the copytruncate option as rclone doesn't have
  2278. a signal to rotate logs.
  2279. --log-format LIST
  2280. Comma separated list of log format options. date, time, microseconds,
  2281. longfile, shortfile, UTC. The default is "date,time".
  2282. --log-level LEVEL
  2283. This sets the log level for rclone. The default log level is NOTICE.
  2284. DEBUG is equivalent to -vv. It outputs lots of debug info - useful for
  2285. bug reports and really finding out what rclone is doing.
  2286. INFO is equivalent to -v. It outputs information about each transfer and
  2287. prints stats once a minute by default.
  2288. NOTICE is the default log level if no logging flags are supplied. It
  2289. outputs very little when things are working normally. It outputs
  2290. warnings and significant events.
  2291. ERROR is equivalent to -q. It only outputs error messages.
  2292. --low-level-retries NUMBER
  2293. This controls the number of low level retries rclone does.
  2294. A low level retry is used to retry a failing operation - typically one
  2295. HTTP request. This might be uploading a chunk of a big file for example.
  2296. You will see low level retries in the log with the -v flag.
  2297. This shouldn't need to be changed from the default in normal operations.
  2298. However, if you get a lot of low level retries you may wish to reduce
  2299. the value so rclone moves on to a high level retry (see the --retries
  2300. flag) quicker.
  2301. Disable low level retries with --low-level-retries 1.
  2302. --max-backlog=N
  2303. This is the maximum allowable backlog of files in a sync/copy/move
  2304. queued for being checked or transferred.
  2305. This can be set arbitrarily large. It will only use memory when the
  2306. queue is in use. Note that it will use in the order of N kB of memory
  2307. when the backlog is in use.
  2308. Setting this large allows rclone to calculate how many files are pending
  2309. more accurately and give a more accurate estimated finish time.
  2310. Setting this small will make rclone more synchronous to the listings of
  2311. the remote which may be desirable.
  2312. --max-delete=N
  2313. This tells rclone not to delete more than N files. If that limit is
  2314. exceeded then a fatal error will be generated and rclone will stop the
  2315. operation in progress.
  2316. --max-depth=N
  2317. This modifies the recursion depth for all the commands except purge.
  2318. So if you do rclone --max-depth 1 ls remote:path you will see only the
  2319. files in the top level directory. Using --max-depth 2 means you will see
  2320. all the files in first two directory levels and so on.
  2321. For historical reasons the lsd command defaults to using a --max-depth
  2322. of 1 - you can override this with the command line flag.
  2323. You can use this command to disable recursion (with --max-depth 1).
  2324. Note that if you use this with sync and --delete-excluded the files not
  2325. recursed through are considered excluded and will be deleted on the
  2326. destination. Test first with --dry-run if you are not sure what will
  2327. happen.
  2328. --max-transfer=SIZE
  2329. Rclone will stop transferring when it has reached the size specified.
  2330. Defaults to off.
  2331. When the limit is reached all transfers will stop immediately.
  2332. Rclone will exit with exit code 8 if the transfer limit is reached.
  2333. --modify-window=TIME
  2334. When checking whether a file has been modified, this is the maximum
  2335. allowed time difference that a file can have and still be considered
  2336. equivalent.
  2337. The default is 1ns unless this is overridden by a remote. For example OS
  2338. X only stores modification times to the nearest second so if you are
  2339. reading and writing to an OS X filing system this will be 1s by default.
  2340. This command line flag allows you to override that computed default.
  2341. --no-gzip-encoding
  2342. Don't set Accept-Encoding: gzip. This means that rclone won't ask the
  2343. server for compressed files automatically. Useful if you've set the
  2344. server to return files with Content-Encoding: gzip but you uploaded
  2345. compressed files.
  2346. There is no need to set this in normal operation, and doing so will
  2347. decrease the network transfer efficiency of rclone.
  2348. --no-update-modtime
  2349. When using this flag, rclone won't update modification times of remote
  2350. files if they are incorrect as it would normally.
  2351. This can be used if the remote is being synced with another tool also
  2352. (eg the Google Drive client).
  2353. -P, --progress
  2354. This flag makes rclone update the stats in a static block in the
  2355. terminal providing a realtime overview of the transfer.
  2356. Any log messages will scroll above the static block. Log messages will
  2357. push the static block down to the bottom of the terminal where it will
  2358. stay.
  2359. Normally this is updated every 500mS but this period can be overridden
  2360. with the --stats flag.
  2361. This can be used with the --stats-one-line flag for a simpler display.
  2362. Note: On Windows untilthis bug is fixed all non-ASCII characters will be
  2363. replaced with . when --progress is in use.
  2364. -q, --quiet
  2365. Normally rclone outputs stats and a completion message. If you set this
  2366. flag it will make as little output as possible.
  2367. --retries int
  2368. Retry the entire sync if it fails this many times it fails (default 3).
  2369. Some remotes can be unreliable and a few retries help pick up the files
  2370. which didn't get transferred because of errors.
  2371. Disable retries with --retries 1.
  2372. --retries-sleep=TIME
  2373. This sets the interval between each retry specified by --retries
  2374. The default is 0. Use 0 to disable.
  2375. --size-only
  2376. Normally rclone will look at modification time and size of files to see
  2377. if they are equal. If you set this flag then rclone will check only the
  2378. size.
  2379. This can be useful transferring files from Dropbox which have been
  2380. modified by the desktop sync client which doesn't set checksums of
  2381. modification times in the same way as rclone.
  2382. --stats=TIME
  2383. Commands which transfer data (sync, copy, copyto, move, moveto) will
  2384. print data transfer stats at regular intervals to show their progress.
  2385. This sets the interval.
  2386. The default is 1m. Use 0 to disable.
  2387. If you set the stats interval then all commands can show stats. This can
  2388. be useful when running other commands, check or mount for example.
  2389. Stats are logged at INFO level by default which means they won't show at
  2390. default log level NOTICE. Use --stats-log-level NOTICE or -v to make
  2391. them show. See the Logging section for more info on log levels.
  2392. Note that on macOS you can send a SIGINFO (which is normally ctrl-T in
  2393. the terminal) to make the stats print immediately.
  2394. --stats-file-name-length integer
  2395. By default, the --stats output will truncate file names and paths longer
  2396. than 40 characters. This is equivalent to providing
  2397. --stats-file-name-length 40. Use --stats-file-name-length 0 to disable
  2398. any truncation of file names printed by stats.
  2399. --stats-log-level string
  2400. Log level to show --stats output at. This can be DEBUG, INFO, NOTICE, or
  2401. ERROR. The default is INFO. This means at the default level of logging
  2402. which is NOTICE the stats won't show - if you want them to then use
  2403. --stats-log-level NOTICE. See the Logging section for more info on log
  2404. levels.
  2405. --stats-one-line
  2406. When this is specified, rclone condenses the stats into a single line
  2407. showing the most important stats only.
  2408. --stats-unit=bits|bytes
  2409. By default, data transfer rates will be printed in bytes/second.
  2410. This option allows the data rate to be printed in bits/second.
  2411. Data transfer volume will still be reported in bytes.
  2412. The rate is reported as a binary unit, not SI unit. So 1 Mbit/s equals
  2413. 1,048,576 bits/s and not 1,000,000 bits/s.
  2414. The default is bytes.
  2415. --suffix=SUFFIX
  2416. This is for use with --backup-dir only. If this isn't set then
  2417. --backup-dir will move files with their original name. If it is set then
  2418. the files will have SUFFIX added on to them.
  2419. See --backup-dir for more info.
  2420. --syslog
  2421. On capable OSes (not Windows or Plan9) send all log output to syslog.
  2422. This can be useful for running rclone in a script or rclone mount.
  2423. --syslog-facility string
  2424. If using --syslog this sets the syslog facility (eg KERN, USER). See
  2425. man syslog for a list of possible facilities. The default facility is
  2426. DAEMON.
  2427. --tpslimit float
  2428. Limit HTTP transactions per second to this. Default is 0 which is used
  2429. to mean unlimited transactions per second.
  2430. For example to limit rclone to 10 HTTP transactions per second use
  2431. --tpslimit 10, or to 1 transaction every 2 seconds use --tpslimit 0.5.
  2432. Use this when the number of transactions per second from rclone is
  2433. causing a problem with the cloud storage provider (eg getting you banned
  2434. or rate limited).
  2435. This can be very useful for rclone mount to control the behaviour of
  2436. applications using it.
  2437. See also --tpslimit-burst.
  2438. --tpslimit-burst int
  2439. Max burst of transactions for --tpslimit. (default 1)
  2440. Normally --tpslimit will do exactly the number of transaction per second
  2441. specified. However if you supply --tps-burst then rclone can save up
  2442. some transactions from when it was idle giving a burst of up to the
  2443. parameter supplied.
  2444. For example if you provide --tpslimit-burst 10 then if rclone has been
  2445. idle for more than 10*--tpslimit then it can do 10 transactions very
  2446. quickly before they are limited again.
  2447. This may be used to increase performance of --tpslimit without changing
  2448. the long term average number of transactions per second.
  2449. --track-renames
  2450. By default, rclone doesn't keep track of renamed files, so if you rename
  2451. a file locally then sync it to a remote, rclone will delete the old file
  2452. on the remote and upload a new copy.
  2453. If you use this flag, and the remote supports server side copy or server
  2454. side move, and the source and destination have a compatible hash, then
  2455. this will track renames during sync operations and perform renaming
  2456. server-side.
  2457. Files will be matched by size and hash - if both match then a rename
  2458. will be considered.
  2459. If the destination does not support server-side copy or move, rclone
  2460. will fall back to the default behaviour and log an error level message
  2461. to the console. Note: Encrypted destinations are not supported by
  2462. --track-renames.
  2463. Note that --track-renames uses extra memory to keep track of all the
  2464. rename candidates.
  2465. Note also that --track-renames is incompatible with --delete-before and
  2466. will select --delete-after instead of --delete-during.
  2467. --delete-(before,during,after)
  2468. This option allows you to specify when files on your destination are
  2469. deleted when you sync folders.
  2470. Specifying the value --delete-before will delete all files present on
  2471. the destination, but not on the source _before_ starting the transfer of
  2472. any new or updated files. This uses two passes through the file systems,
  2473. one for the deletions and one for the copies.
  2474. Specifying --delete-during will delete files while checking and
  2475. uploading files. This is the fastest option and uses the least memory.
  2476. Specifying --delete-after (the default value) will delay deletion of
  2477. files until all new/updated files have been successfully transferred.
  2478. The files to be deleted are collected in the copy pass then deleted
  2479. after the copy pass has completed successfully. The files to be deleted
  2480. are held in memory so this mode may use more memory. This is the safest
  2481. mode as it will only delete files if there have been no errors
  2482. subsequent to that. If there have been errors before the deletions start
  2483. then you will get the message
  2484. not deleting files as there were IO errors.
  2485. --fast-list
  2486. When doing anything which involves a directory listing (eg sync, copy,
  2487. ls - in fact nearly every command), rclone normally lists a directory
  2488. and processes it before using more directory lists to process any
  2489. subdirectories. This can be parallelised and works very quickly using
  2490. the least amount of memory.
  2491. However, some remotes have a way of listing all files beneath a
  2492. directory in one (or a small number) of transactions. These tend to be
  2493. the bucket based remotes (eg S3, B2, GCS, Swift, Hubic).
  2494. If you use the --fast-list flag then rclone will use this method for
  2495. listing directories. This will have the following consequences for the
  2496. listing:
  2497. - It WILL use fewer transactions (important if you pay for them)
  2498. - It WILL use more memory. Rclone has to load the whole listing into
  2499. memory.
  2500. - It _may_ be faster because it uses fewer transactions
  2501. - It _may_ be slower because it can't be parallelized
  2502. rclone should always give identical results with and without
  2503. --fast-list.
  2504. If you pay for transactions and can fit your entire sync listing into
  2505. memory then --fast-list is recommended. If you have a very big sync to
  2506. do then don't use --fast-list otherwise you will run out of memory.
  2507. If you use --fast-list on a remote which doesn't support it, then rclone
  2508. will just ignore it.
  2509. --timeout=TIME
  2510. This sets the IO idle timeout. If a transfer has started but then
  2511. becomes idle for this long it is considered broken and disconnected.
  2512. The default is 5m. Set to 0 to disable.
  2513. --transfers=N
  2514. The number of file transfers to run in parallel. It can sometimes be
  2515. useful to set this to a smaller number if the remote is giving a lot of
  2516. timeouts or bigger if you have lots of bandwidth and a fast remote.
  2517. The default is to run 4 file transfers in parallel.
  2518. -u, --update
  2519. This forces rclone to skip any files which exist on the destination and
  2520. have a modified time that is newer than the source file.
  2521. If an existing destination file has a modification time equal (within
  2522. the computed modify window precision) to the source file's, it will be
  2523. updated if the sizes are different.
  2524. On remotes which don't support mod time directly the time checked will
  2525. be the uploaded time. This means that if uploading to one of these
  2526. remotes, rclone will skip any files which exist on the destination and
  2527. have an uploaded time that is newer than the modification time of the
  2528. source file.
  2529. This can be useful when transferring to a remote which doesn't support
  2530. mod times directly as it is more accurate than a --size-only check and
  2531. faster than using --checksum.
  2532. --use-server-modtime
  2533. Some object-store backends (e.g, Swift, S3) do not preserve file
  2534. modification times (modtime). On these backends, rclone stores the
  2535. original modtime as additional metadata on the object. By default it
  2536. will make an API call to retrieve the metadata when the modtime is
  2537. needed by an operation.
  2538. Use this flag to disable the extra API call and rely instead on the
  2539. server's modified time. In cases such as a local to remote sync, knowing
  2540. the local file is newer than the time it was last uploaded to the remote
  2541. is sufficient. In those cases, this flag can speed up the process and
  2542. reduce the number of API calls necessary.
  2543. -v, -vv, --verbose
  2544. With -v rclone will tell you about each file that is transferred and a
  2545. small number of significant events.
  2546. With -vv rclone will become very verbose telling you about every file it
  2547. considers and transfers. Please send bug reports with a log with this
  2548. setting.
  2549. -V, --version
  2550. Prints the version number
  2551. Configuration Encryption
  2552. Your configuration file contains information for logging in to your
  2553. cloud services. This means that you should keep your .rclone.conf file
  2554. in a secure location.
  2555. If you are in an environment where that isn't possible, you can add a
  2556. password to your configuration. This means that you will have to enter
  2557. the password every time you start rclone.
  2558. To add a password to your rclone configuration, execute rclone config.
  2559. >rclone config
  2560. Current remotes:
  2561. e) Edit existing remote
  2562. n) New remote
  2563. d) Delete remote
  2564. s) Set configuration password
  2565. q) Quit config
  2566. e/n/d/s/q>
  2567. Go into s, Set configuration password:
  2568. e/n/d/s/q> s
  2569. Your configuration is not encrypted.
  2570. If you add a password, you will protect your login information to cloud services.
  2571. a) Add Password
  2572. q) Quit to main menu
  2573. a/q> a
  2574. Enter NEW configuration password:
  2575. password:
  2576. Confirm NEW password:
  2577. password:
  2578. Password set
  2579. Your configuration is encrypted.
  2580. c) Change Password
  2581. u) Unencrypt configuration
  2582. q) Quit to main menu
  2583. c/u/q>
  2584. Your configuration is now encrypted, and every time you start rclone you
  2585. will now be asked for the password. In the same menu, you can change the
  2586. password or completely remove encryption from your configuration.
  2587. There is no way to recover the configuration if you lose your password.
  2588. rclone uses nacl secretbox which in turn uses XSalsa20 and Poly1305 to
  2589. encrypt and authenticate your configuration with secret-key
  2590. cryptography. The password is SHA-256 hashed, which produces the key for
  2591. secretbox. The hashed password is not stored.
  2592. While this provides very good security, we do not recommend storing your
  2593. encrypted rclone configuration in public if it contains sensitive
  2594. information, maybe except if you use a very strong password.
  2595. If it is safe in your environment, you can set the RCLONE_CONFIG_PASS
  2596. environment variable to contain your password, in which case it will be
  2597. used for decrypting the configuration.
  2598. You can set this for a session from a script. For unix like systems save
  2599. this to a file called set-rclone-password:
  2600. #!/bin/echo Source this file don't run it
  2601. read -s RCLONE_CONFIG_PASS
  2602. export RCLONE_CONFIG_PASS
  2603. Then source the file when you want to use it. From the shell you would
  2604. do source set-rclone-password. It will then ask you for the password and
  2605. set it in the environment variable.
  2606. If you are running rclone inside a script, you might want to disable
  2607. password prompts. To do that, pass the parameter --ask-password=false to
  2608. rclone. This will make rclone fail instead of asking for a password if
  2609. RCLONE_CONFIG_PASS doesn't contain a valid password.
  2610. Developer options
  2611. These options are useful when developing or debugging rclone. There are
  2612. also some more remote specific options which aren't documented here
  2613. which are used for testing. These start with remote name eg
  2614. --drive-test-option - see the docs for the remote in question.
  2615. --cpuprofile=FILE
  2616. Write CPU profile to file. This can be analysed with go tool pprof.
  2617. --dump flag,flag,flag
  2618. The --dump flag takes a comma separated list of flags to dump info
  2619. about. These are:
  2620. --dump headers
  2621. Dump HTTP headers with Authorization: lines removed. May still contain
  2622. sensitive info. Can be very verbose. Useful for debugging only.
  2623. Use --dump auth if you do want the Authorization: headers.
  2624. --dump bodies
  2625. Dump HTTP headers and bodies - may contain sensitive info. Can be very
  2626. verbose. Useful for debugging only.
  2627. Note that the bodies are buffered in memory so don't use this for
  2628. enormous files.
  2629. --dump requests
  2630. Like --dump bodies but dumps the request bodies and the response
  2631. headers. Useful for debugging download problems.
  2632. --dump responses
  2633. Like --dump bodies but dumps the response bodies and the request
  2634. headers. Useful for debugging upload problems.
  2635. --dump auth
  2636. Dump HTTP headers - will contain sensitive info such as Authorization:
  2637. headers - use --dump headers to dump without Authorization: headers. Can
  2638. be very verbose. Useful for debugging only.
  2639. --dump filters
  2640. Dump the filters to the output. Useful to see exactly what include and
  2641. exclude options are filtering on.
  2642. --dump goroutines
  2643. This dumps a list of the running go-routines at the end of the command
  2644. to standard output.
  2645. --dump openfiles
  2646. This dumps a list of the open files at the end of the command. It uses
  2647. the lsof command to do that so you'll need that installed to use it.
  2648. --memprofile=FILE
  2649. Write memory profile to file. This can be analysed with go tool pprof.
  2650. --no-check-certificate=true/false
  2651. --no-check-certificate controls whether a client verifies the server's
  2652. certificate chain and host name. If --no-check-certificate is true, TLS
  2653. accepts any certificate presented by the server and any host name in
  2654. that certificate. In this mode, TLS is susceptible to man-in-the-middle
  2655. attacks.
  2656. This option defaults to false.
  2657. THIS SHOULD BE USED ONLY FOR TESTING.
  2658. Filtering
  2659. For the filtering options
  2660. - --delete-excluded
  2661. - --filter
  2662. - --filter-from
  2663. - --exclude
  2664. - --exclude-from
  2665. - --include
  2666. - --include-from
  2667. - --files-from
  2668. - --min-size
  2669. - --max-size
  2670. - --min-age
  2671. - --max-age
  2672. - --dump filters
  2673. See the filtering section.
  2674. Remote control
  2675. For the remote control options and for instructions on how to remote
  2676. control rclone
  2677. - --rc
  2678. - and anything starting with --rc-
  2679. See the remote control section.
  2680. Logging
  2681. rclone has 4 levels of logging, ERROR, NOTICE, INFO and DEBUG.
  2682. By default, rclone logs to standard error. This means you can redirect
  2683. standard error and still see the normal output of rclone commands (eg
  2684. rclone ls).
  2685. By default, rclone will produce Error and Notice level messages.
  2686. If you use the -q flag, rclone will only produce Error messages.
  2687. If you use the -v flag, rclone will produce Error, Notice and Info
  2688. messages.
  2689. If you use the -vv flag, rclone will produce Error, Notice, Info and
  2690. Debug messages.
  2691. You can also control the log levels with the --log-level flag.
  2692. If you use the --log-file=FILE option, rclone will redirect Error, Info
  2693. and Debug messages along with standard error to FILE.
  2694. If you use the --syslog flag then rclone will log to syslog and the
  2695. --syslog-facility control which facility it uses.
  2696. Rclone prefixes all log messages with their level in capitals, eg INFO
  2697. which makes it easy to grep the log file for different kinds of
  2698. information.
  2699. Exit Code
  2700. If any errors occur during the command execution, rclone will exit with
  2701. a non-zero exit code. This allows scripts to detect when rclone
  2702. operations have failed.
  2703. During the startup phase, rclone will exit immediately if an error is
  2704. detected in the configuration. There will always be a log message
  2705. immediately before exiting.
  2706. When rclone is running it will accumulate errors as it goes along, and
  2707. only exit with a non-zero exit code if (after retries) there were still
  2708. failed transfers. For every error counted there will be a high priority
  2709. log message (visible with -q) showing the message and which file caused
  2710. the problem. A high priority message is also shown when starting a retry
  2711. so the user can see that any previous error messages may not be valid
  2712. after the retry. If rclone has done a retry it will log a high priority
  2713. message if the retry was successful.
  2714. List of exit codes
  2715. - 0 - success
  2716. - 1 - Syntax or usage error
  2717. - 2 - Error not otherwise categorised
  2718. - 3 - Directory not found
  2719. - 4 - File not found
  2720. - 5 - Temporary error (one that more retries might fix) (Retry errors)
  2721. - 6 - Less serious errors (like 461 errors from dropbox) (NoRetry
  2722. errors)
  2723. - 7 - Fatal error (one that more retries won't fix, like account
  2724. suspended) (Fatal errors)
  2725. - 8 - Transfer exceeded - limit set by --max-transfer reached
  2726. Environment Variables
  2727. Rclone can be configured entirely using environment variables. These can
  2728. be used to set defaults for options or config file entries.
  2729. Options
  2730. Every option in rclone can have its default set by environment variable.
  2731. To find the name of the environment variable, first, take the long
  2732. option name, strip the leading --, change - to _, make upper case and
  2733. prepend RCLONE_.
  2734. For example, to always set --stats 5s, set the environment variable
  2735. RCLONE_STATS=5s. If you set stats on the command line this will override
  2736. the environment variable setting.
  2737. Or to always use the trash in drive --drive-use-trash, set
  2738. RCLONE_DRIVE_USE_TRASH=true.
  2739. The same parser is used for the options and the environment variables so
  2740. they take exactly the same form.
  2741. Config file
  2742. You can set defaults for values in the config file on an individual
  2743. remote basis. If you want to use this feature, you will need to discover
  2744. the name of the config items that you want. The easiest way is to run
  2745. through rclone config by hand, then look in the config file to see what
  2746. the values are (the config file can be found by looking at the help for
  2747. --config in rclone help).
  2748. To find the name of the environment variable, you need to set, take
  2749. RCLONE_CONFIG_ + name of remote + _ + name of config file option and
  2750. make it all uppercase.
  2751. For example, to configure an S3 remote named mys3: without a config file
  2752. (using unix ways of setting environment variables):
  2753. $ export RCLONE_CONFIG_MYS3_TYPE=s3
  2754. $ export RCLONE_CONFIG_MYS3_ACCESS_KEY_ID=XXX
  2755. $ export RCLONE_CONFIG_MYS3_SECRET_ACCESS_KEY=XXX
  2756. $ rclone lsd MYS3:
  2757. -1 2016-09-21 12:54:21 -1 my-bucket
  2758. $ rclone listremotes | grep mys3
  2759. mys3:
  2760. Note that if you want to create a remote using environment variables you
  2761. must create the ..._TYPE variable as above.
  2762. Other environment variables
  2763. - RCLONE_CONFIG_PASS` set to contain your config file password (see
  2764. Configuration Encryption section)
  2765. - HTTP_PROXY, HTTPS_PROXY and NO_PROXY (or the lowercase versions
  2766. thereof).
  2767. - HTTPS_PROXY takes precedence over HTTP_PROXY for https requests.
  2768. - The environment values may be either a complete URL or a
  2769. "host[:port]" for, in which case the "http" scheme is assumed.
  2770. CONFIGURING RCLONE ON A REMOTE / HEADLESS MACHINE
  2771. Some of the configurations (those involving oauth2) require an Internet
  2772. connected web browser.
  2773. If you are trying to set rclone up on a remote or headless box with no
  2774. browser available on it (eg a NAS or a server in a datacenter) then you
  2775. will need to use an alternative means of configuration. There are two
  2776. ways of doing it, described below.
  2777. Configuring using rclone authorize
  2778. On the headless box
  2779. ...
  2780. Remote config
  2781. Use auto config?
  2782. * Say Y if not sure
  2783. * Say N if you are working on a remote or headless machine
  2784. y) Yes
  2785. n) No
  2786. y/n> n
  2787. For this to work, you will need rclone available on a machine that has a web browser available.
  2788. Execute the following on your machine:
  2789. rclone authorize "amazon cloud drive"
  2790. Then paste the result below:
  2791. result>
  2792. Then on your main desktop machine
  2793. rclone authorize "amazon cloud drive"
  2794. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  2795. Log in and authorize rclone for access
  2796. Waiting for code...
  2797. Got code
  2798. Paste the following into your remote machine --->
  2799. SECRET_TOKEN
  2800. <---End paste
  2801. Then back to the headless box, paste in the code
  2802. result> SECRET_TOKEN
  2803. --------------------
  2804. [acd12]
  2805. client_id =
  2806. client_secret =
  2807. token = SECRET_TOKEN
  2808. --------------------
  2809. y) Yes this is OK
  2810. e) Edit this remote
  2811. d) Delete this remote
  2812. y/e/d>
  2813. Configuring by copying the config file
  2814. Rclone stores all of its config in a single configuration file. This can
  2815. easily be copied to configure a remote rclone.
  2816. So first configure rclone on your desktop machine
  2817. rclone config
  2818. to set up the config file.
  2819. Find the config file by running rclone -h and looking for the help for
  2820. the --config option
  2821. $ rclone -h
  2822. [snip]
  2823. --config="/home/user/.rclone.conf": Config file.
  2824. [snip]
  2825. Now transfer it to the remote box (scp, cut paste, ftp, sftp etc) and
  2826. place it in the correct place (use rclone -h on the remote box to find
  2827. out where).
  2828. FILTERING, INCLUDES AND EXCLUDES
  2829. Rclone has a sophisticated set of include and exclude rules. Some of
  2830. these are based on patterns and some on other things like file size.
  2831. The filters are applied for the copy, sync, move, ls, lsl, md5sum,
  2832. sha1sum, size, delete and check operations. Note that purge does not
  2833. obey the filters.
  2834. Each path as it passes through rclone is matched against the include and
  2835. exclude rules like --include, --exclude, --include-from, --exclude-from,
  2836. --filter, or --filter-from. The simplest way to try them out is using
  2837. the ls command, or --dry-run together with -v.
  2838. Patterns
  2839. The patterns used to match files for inclusion or exclusion are based on
  2840. "file globs" as used by the unix shell.
  2841. If the pattern starts with a / then it only matches at the top level of
  2842. the directory tree, RELATIVE TO THE ROOT OF THE REMOTE (not necessarily
  2843. the root of the local drive). If it doesn't start with / then it is
  2844. matched starting at the END OF THE PATH, but it will only match a
  2845. complete path element:
  2846. file.jpg - matches "file.jpg"
  2847. - matches "directory/file.jpg"
  2848. - doesn't match "afile.jpg"
  2849. - doesn't match "directory/afile.jpg"
  2850. /file.jpg - matches "file.jpg" in the root directory of the remote
  2851. - doesn't match "afile.jpg"
  2852. - doesn't match "directory/file.jpg"
  2853. IMPORTANT Note that you must use / in patterns and not \ even if running
  2854. on Windows.
  2855. A * matches anything but not a /.
  2856. *.jpg - matches "file.jpg"
  2857. - matches "directory/file.jpg"
  2858. - doesn't match "file.jpg/something"
  2859. Use ** to match anything, including slashes (/).
  2860. dir/** - matches "dir/file.jpg"
  2861. - matches "dir/dir1/dir2/file.jpg"
  2862. - doesn't match "directory/file.jpg"
  2863. - doesn't match "adir/file.jpg"
  2864. A ? matches any character except a slash /.
  2865. l?ss - matches "less"
  2866. - matches "lass"
  2867. - doesn't match "floss"
  2868. A [ and ] together make a a character class, such as [a-z] or [aeiou] or
  2869. [[:alpha:]]. See the go regexp docs for more info on these.
  2870. h[ae]llo - matches "hello"
  2871. - matches "hallo"
  2872. - doesn't match "hullo"
  2873. A { and } define a choice between elements. It should contain a comma
  2874. separated list of patterns, any of which might match. These patterns can
  2875. contain wildcards.
  2876. {one,two}_potato - matches "one_potato"
  2877. - matches "two_potato"
  2878. - doesn't match "three_potato"
  2879. - doesn't match "_potato"
  2880. Special characters can be escaped with a \ before them.
  2881. \*.jpg - matches "*.jpg"
  2882. \\.jpg - matches "\.jpg"
  2883. \[one\].jpg - matches "[one].jpg"
  2884. Note also that rclone filter globs can only be used in one of the filter
  2885. command line flags, not in the specification of the remote, so
  2886. rclone copy "remote:dir*.jpg" /path/to/dir won't work - what is required
  2887. is rclone --include "*.jpg" copy remote:dir /path/to/dir
  2888. Directories
  2889. Rclone keeps track of directories that could match any file patterns.
  2890. Eg if you add the include rule
  2891. /a/*.jpg
  2892. Rclone will synthesize the directory include rule
  2893. /a/
  2894. If you put any rules which end in / then it will only match directories.
  2895. Directory matches are ONLY used to optimise directory access patterns -
  2896. you must still match the files that you want to match. Directory matches
  2897. won't optimise anything on bucket based remotes (eg s3, swift, google
  2898. compute storage, b2) which don't have a concept of directory.
  2899. Differences between rsync and rclone patterns
  2900. Rclone implements bash style {a,b,c} glob matching which rsync doesn't.
  2901. Rclone always does a wildcard match so \ must always escape a \.
  2902. How the rules are used
  2903. Rclone maintains a combined list of include rules and exclude rules.
  2904. Each file is matched in order, starting from the top, against the rule
  2905. in the list until it finds a match. The file is then included or
  2906. excluded according to the rule type.
  2907. If the matcher fails to find a match after testing against all the
  2908. entries in the list then the path is included.
  2909. For example given the following rules, + being include, - being exclude,
  2910. - secret*.jpg
  2911. + *.jpg
  2912. + *.png
  2913. + file2.avi
  2914. - *
  2915. This would include
  2916. - file1.jpg
  2917. - file3.png
  2918. - file2.avi
  2919. This would exclude
  2920. - secret17.jpg
  2921. - non *.jpg and *.png
  2922. A similar process is done on directory entries before recursing into
  2923. them. This only works on remotes which have a concept of directory (Eg
  2924. local, google drive, onedrive, amazon drive) and not on bucket based
  2925. remotes (eg s3, swift, google compute storage, b2).
  2926. Adding filtering rules
  2927. Filtering rules are added with the following command line flags.
  2928. Repeating options
  2929. You can repeat the following options to add more than one rule of that
  2930. type.
  2931. - --include
  2932. - --include-from
  2933. - --exclude
  2934. - --exclude-from
  2935. - --filter
  2936. - --filter-from
  2937. IMPORTANT You should not use --include* together with --exclude*. It may
  2938. produce different results than you expected. In that case try to use:
  2939. --filter*.
  2940. Note that all the options of the same type are processed together in the
  2941. order above, regardless of what order they were placed on the command
  2942. line.
  2943. So all --include options are processed first in the order they appeared
  2944. on the command line, then all --include-from options etc.
  2945. To mix up the order includes and excludes, the --filter flag can be
  2946. used.
  2947. --exclude - Exclude files matching pattern
  2948. Add a single exclude rule with --exclude.
  2949. This flag can be repeated. See above for the order the flags are
  2950. processed in.
  2951. Eg --exclude *.bak to exclude all bak files from the sync.
  2952. --exclude-from - Read exclude patterns from file
  2953. Add exclude rules from a file.
  2954. This flag can be repeated. See above for the order the flags are
  2955. processed in.
  2956. Prepare a file like this exclude-file.txt
  2957. # a sample exclude rule file
  2958. *.bak
  2959. file2.jpg
  2960. Then use as --exclude-from exclude-file.txt. This will sync all files
  2961. except those ending in bak and file2.jpg.
  2962. This is useful if you have a lot of rules.
  2963. --include - Include files matching pattern
  2964. Add a single include rule with --include.
  2965. This flag can be repeated. See above for the order the flags are
  2966. processed in.
  2967. Eg --include *.{png,jpg} to include all png and jpg files in the backup
  2968. and no others.
  2969. This adds an implicit --exclude * at the very end of the filter list.
  2970. This means you can mix --include and --include-from with the other
  2971. filters (eg --exclude) but you must include all the files you want in
  2972. the include statement. If this doesn't provide enough flexibility then
  2973. you must use --filter-from.
  2974. --include-from - Read include patterns from file
  2975. Add include rules from a file.
  2976. This flag can be repeated. See above for the order the flags are
  2977. processed in.
  2978. Prepare a file like this include-file.txt
  2979. # a sample include rule file
  2980. *.jpg
  2981. *.png
  2982. file2.avi
  2983. Then use as --include-from include-file.txt. This will sync all jpg, png
  2984. files and file2.avi.
  2985. This is useful if you have a lot of rules.
  2986. This adds an implicit --exclude * at the very end of the filter list.
  2987. This means you can mix --include and --include-from with the other
  2988. filters (eg --exclude) but you must include all the files you want in
  2989. the include statement. If this doesn't provide enough flexibility then
  2990. you must use --filter-from.
  2991. --filter - Add a file-filtering rule
  2992. This can be used to add a single include or exclude rule. Include rules
  2993. start with + and exclude rules start with -. A special rule called ! can
  2994. be used to clear the existing rules.
  2995. This flag can be repeated. See above for the order the flags are
  2996. processed in.
  2997. Eg --filter "- *.bak" to exclude all bak files from the sync.
  2998. --filter-from - Read filtering patterns from a file
  2999. Add include/exclude rules from a file.
  3000. This flag can be repeated. See above for the order the flags are
  3001. processed in.
  3002. Prepare a file like this filter-file.txt
  3003. # a sample filter rule file
  3004. - secret*.jpg
  3005. + *.jpg
  3006. + *.png
  3007. + file2.avi
  3008. - /dir/Trash/**
  3009. + /dir/**
  3010. # exclude everything else
  3011. - *
  3012. Then use as --filter-from filter-file.txt. The rules are processed in
  3013. the order that they are defined.
  3014. This example will include all jpg and png files, exclude any files
  3015. matching secret*.jpg and include file2.avi. It will also include
  3016. everything in the directory dir at the root of the sync, except
  3017. dir/Trash which it will exclude. Everything else will be excluded from
  3018. the sync.
  3019. --files-from - Read list of source-file names
  3020. This reads a list of file names from the file passed in and ONLY these
  3021. files are transferred. The FILTERING RULES ARE IGNORED completely if you
  3022. use this option.
  3023. This option can be repeated to read from more than one file. These are
  3024. read in the order that they are placed on the command line.
  3025. Paths within the --files-from file will be interpreted as starting with
  3026. the root specified in the command. Leading / characters are ignored.
  3027. For example, suppose you had files-from.txt with this content:
  3028. # comment
  3029. file1.jpg
  3030. subdir/file2.jpg
  3031. You could then use it like this:
  3032. rclone copy --files-from files-from.txt /home/me/pics remote:pics
  3033. This will transfer these files only (if they exist)
  3034. /home/me/pics/file1.jpg → remote:pics/file1.jpg
  3035. /home/me/pics/subdir/file2.jpg → remote:pics/subdirfile1.jpg
  3036. To take a more complicated example, let's say you had a few files you
  3037. want to back up regularly with these absolute paths:
  3038. /home/user1/important
  3039. /home/user1/dir/file
  3040. /home/user2/stuff
  3041. To copy these you'd find a common subdirectory - in this case /home and
  3042. put the remaining files in files-from.txt with or without leading /, eg
  3043. user1/important
  3044. user1/dir/file
  3045. user2/stuff
  3046. You could then copy these to a remote like this
  3047. rclone copy --files-from files-from.txt /home remote:backup
  3048. The 3 files will arrive in remote:backup with the paths as in the
  3049. files-from.txt like this:
  3050. /home/user1/important → remote:backup/user1/important
  3051. /home/user1/dir/file → remote:backup/user1/dir/file
  3052. /home/user2/stuff → remote:backup/stuff
  3053. You could of course choose / as the root too in which case your
  3054. files-from.txt might look like this.
  3055. /home/user1/important
  3056. /home/user1/dir/file
  3057. /home/user2/stuff
  3058. And you would transfer it like this
  3059. rclone copy --files-from files-from.txt / remote:backup
  3060. In this case there will be an extra home directory on the remote:
  3061. /home/user1/important → remote:home/backup/user1/important
  3062. /home/user1/dir/file → remote:home/backup/user1/dir/file
  3063. /home/user2/stuff → remote:home/backup/stuff
  3064. --min-size - Don't transfer any file smaller than this
  3065. This option controls the minimum size file which will be transferred.
  3066. This defaults to kBytes but a suffix of k, M, or G can be used.
  3067. For example --min-size 50k means no files smaller than 50kByte will be
  3068. transferred.
  3069. --max-size - Don't transfer any file larger than this
  3070. This option controls the maximum size file which will be transferred.
  3071. This defaults to kBytes but a suffix of k, M, or G can be used.
  3072. For example --max-size 1G means no files larger than 1GByte will be
  3073. transferred.
  3074. --max-age - Don't transfer any file older than this
  3075. This option controls the maximum age of files to transfer. Give in
  3076. seconds or with a suffix of:
  3077. - ms - Milliseconds
  3078. - s - Seconds
  3079. - m - Minutes
  3080. - h - Hours
  3081. - d - Days
  3082. - w - Weeks
  3083. - M - Months
  3084. - y - Years
  3085. For example --max-age 2d means no files older than 2 days will be
  3086. transferred.
  3087. --min-age - Don't transfer any file younger than this
  3088. This option controls the minimum age of files to transfer. Give in
  3089. seconds or with a suffix (see --max-age for list of suffixes)
  3090. For example --min-age 2d means no files younger than 2 days will be
  3091. transferred.
  3092. --delete-excluded - Delete files on dest excluded from sync
  3093. IMPORTANT this flag is dangerous - use with --dry-run and -v first.
  3094. When doing rclone sync this will delete any files which are excluded
  3095. from the sync on the destination.
  3096. If for example you did a sync from A to B without the --min-size 50k
  3097. flag
  3098. rclone sync A: B:
  3099. Then you repeated it like this with the --delete-excluded
  3100. rclone --min-size 50k --delete-excluded sync A: B:
  3101. This would delete all files on B which are less than 50 kBytes as these
  3102. are now excluded from the sync.
  3103. Always test first with --dry-run and -v before using this flag.
  3104. --dump filters - dump the filters to the output
  3105. This dumps the defined filters to the output as regular expressions.
  3106. Useful for debugging.
  3107. Quoting shell metacharacters
  3108. The examples above may not work verbatim in your shell as they have
  3109. shell metacharacters in them (eg *), and may require quoting.
  3110. Eg linux, OSX
  3111. - --include \*.jpg
  3112. - --include '*.jpg'
  3113. - --include='*.jpg'
  3114. In Windows the expansion is done by the command not the shell so this
  3115. should work fine
  3116. - --include *.jpg
  3117. Exclude directory based on a file
  3118. It is possible to exclude a directory based on a file, which is present
  3119. in this directory. Filename should be specified using the
  3120. --exclude-if-present flag. This flag has a priority over the other
  3121. filtering flags.
  3122. Imagine, you have the following directory structure:
  3123. dir1/file1
  3124. dir1/dir2/file2
  3125. dir1/dir2/dir3/file3
  3126. dir1/dir2/dir3/.ignore
  3127. You can exclude dir3 from sync by running the following command:
  3128. rclone sync --exclude-if-present .ignore dir1 remote:backup
  3129. Currently only one filename is supported, i.e. --exclude-if-present
  3130. should not be used multiple times.
  3131. REMOTE CONTROLLING RCLONE
  3132. If rclone is run with the --rc flag then it starts an http server which
  3133. can be used to remote control rclone.
  3134. NB this is experimental and everything here is subject to change!
  3135. Supported parameters
  3136. --rc
  3137. Flag to start the http server listen on remote requests
  3138. --rc-addr=IP
  3139. IPaddress:Port or :Port to bind server to. (default "localhost:5572")
  3140. --rc-cert=KEY
  3141. SSL PEM key (concatenation of certificate and CA certificate)
  3142. --rc-client-ca=PATH
  3143. Client certificate authority to verify clients with
  3144. --rc-htpasswd=PATH
  3145. htpasswd file - if not provided no authentication is done
  3146. --rc-key=PATH
  3147. SSL PEM Private key
  3148. --rc-max-header-bytes=VALUE
  3149. Maximum size of request header (default 4096)
  3150. --rc-user=VALUE
  3151. User name for authentication.
  3152. --rc-pass=VALUE
  3153. Password for authentication.
  3154. --rc-realm=VALUE
  3155. Realm for authentication (default "rclone")
  3156. --rc-server-read-timeout=DURATION
  3157. Timeout for server reading data (default 1h0m0s)
  3158. --rc-server-write-timeout=DURATION
  3159. Timeout for server writing data (default 1h0m0s)
  3160. Accessing the remote control via the rclone rc command
  3161. Rclone itself implements the remote control protocol in its rclone rc
  3162. command.
  3163. You can use it like this
  3164. $ rclone rc rc/noop param1=one param2=two
  3165. {
  3166. "param1": "one",
  3167. "param2": "two"
  3168. }
  3169. Run rclone rc on its own to see the help for the installed remote
  3170. control commands.
  3171. Supported commands
  3172. cache/expire: Purge a remote from cache
  3173. Purge a remote from the cache backend. Supports either a directory or a
  3174. file. Params: - remote = path to remote (required) - withData =
  3175. true/false to delete cached data (chunks) as well (optional)
  3176. Eg
  3177. rclone rc cache/expire remote=path/to/sub/folder/
  3178. rclone rc cache/expire remote=/ withData=true
  3179. cache/fetch: Fetch file chunks
  3180. Ensure the specified file chunks are cached on disk.
  3181. The chunks= parameter specifies the file chunks to check. It takes a
  3182. comma separated list of array slice indices. The slice indices are
  3183. similar to Python slices: start[:end]
  3184. start is the 0 based chunk number from the beginning of the file to
  3185. fetch inclusive. end is 0 based chunk number from the beginning of the
  3186. file to fetch exclisive. Both values can be negative, in which case they
  3187. count from the back of the file. The value "-5:" represents the last 5
  3188. chunks of a file.
  3189. Some valid examples are: ":5,-5:" -> the first and last five chunks
  3190. "0,-2" -> the first and the second last chunk "0:10" -> the first ten
  3191. chunks
  3192. Any parameter with a key that starts with "file" can be used to specify
  3193. files to fetch, eg
  3194. rclone rc cache/fetch chunks=0 file=hello file2=home/goodbye
  3195. File names will automatically be encrypted when the a crypt remote is
  3196. used on top of the cache.
  3197. cache/stats: Get cache stats
  3198. Show statistics for the cache remote.
  3199. core/bwlimit: Set the bandwidth limit.
  3200. This sets the bandwidth limit to that passed in.
  3201. Eg
  3202. rclone rc core/bwlimit rate=1M
  3203. rclone rc core/bwlimit rate=off
  3204. The format of the parameter is exactly the same as passed to --bwlimit
  3205. except only one bandwidth may be specified.
  3206. core/gc: Runs a garbage collection.
  3207. This tells the go runtime to do a garbage collection run. It isn't
  3208. necessary to call this normally, but it can be useful for debugging
  3209. memory problems.
  3210. core/memstats: Returns the memory statistics
  3211. This returns the memory statistics of the running program. What the
  3212. values mean are explained in the go docs:
  3213. https://golang.org/pkg/runtime/#MemStats
  3214. The most interesting values for most people are:
  3215. - HeapAlloc: This is the amount of memory rclone is actually using
  3216. - HeapSys: This is the amount of memory rclone has obtained from the
  3217. OS
  3218. - Sys: this is the total amount of memory requested from the OS
  3219. - It is virtual memory so may include unused memory
  3220. core/pid: Return PID of current process
  3221. This returns PID of current process. Useful for stopping rclone process.
  3222. core/stats: Returns stats about current transfers.
  3223. This returns all available stats
  3224. rclone rc core/stats
  3225. Returns the following values:
  3226. {
  3227. "speed": average speed in bytes/sec since start of the process,
  3228. "bytes": total transferred bytes since the start of the process,
  3229. "errors": number of errors,
  3230. "fatalError": whether there has been at least one FatalError,
  3231. "retryError": whether there has been at least one non-NoRetryError,
  3232. "checks": number of checked files,
  3233. "transfers": number of transferred files,
  3234. "deletes" : number of deleted files,
  3235. "elapsedTime": time in seconds since the start of the process,
  3236. "lastError": last occurred error,
  3237. "transferring": an array of currently active file transfers:
  3238. [
  3239. {
  3240. "bytes": total transferred bytes for this file,
  3241. "eta": estimated time in seconds until file transfer completion
  3242. "name": name of the file,
  3243. "percentage": progress of the file transfer in percent,
  3244. "speed": speed in bytes/sec,
  3245. "speedAvg": speed in bytes/sec as an exponentially weighted moving average,
  3246. "size": size of the file in bytes
  3247. }
  3248. ],
  3249. "checking": an array of names of currently active file checks
  3250. []
  3251. }
  3252. Values for "transferring", "checking" and "lastError" are only assigned
  3253. if data is available. The value for "eta" is null if an eta cannot be
  3254. determined.
  3255. rc/error: This returns an error
  3256. This returns an error with the input as part of its error string. Useful
  3257. for testing error handling.
  3258. rc/list: List all the registered remote control commands
  3259. This lists all the registered remote control commands as a JSON map in
  3260. the commands response.
  3261. rc/noop: Echo the input to the output parameters
  3262. This echoes the input parameters to the output parameters for testing
  3263. purposes. It can be used to check that rclone is still alive and to
  3264. check that parameter passing is working properly.
  3265. vfs/forget: Forget files or directories in the directory cache.
  3266. This forgets the paths in the directory cache causing them to be re-read
  3267. from the remote when needed.
  3268. If no paths are passed in then it will forget all the paths in the
  3269. directory cache.
  3270. rclone rc vfs/forget
  3271. Otherwise pass files or dirs in as file=path or dir=path. Any parameter
  3272. key starting with file will forget that file and any starting with dir
  3273. will forget that dir, eg
  3274. rclone rc vfs/forget file=hello file2=goodbye dir=home/junk
  3275. vfs/poll-interval: Get the status or update the value of the poll-interval option.
  3276. Without any parameter given this returns the current status of the
  3277. poll-interval setting.
  3278. When the interval=duration parameter is set, the poll-interval value is
  3279. updated and the polling function is notified. Setting interval=0
  3280. disables poll-interval.
  3281. rclone rc vfs/poll-interval interval=5m
  3282. The timeout=duration parameter can be used to specify a time to wait for
  3283. the current poll function to apply the new value. If timeout is less or
  3284. equal 0, which is the default, wait indefinitely.
  3285. The new poll-interval value will only be active when the timeout is not
  3286. reached.
  3287. If poll-interval is updated or disabled temporarily, some changes might
  3288. not get picked up by the polling function, depending on the used remote.
  3289. vfs/refresh: Refresh the directory cache.
  3290. This reads the directories for the specified paths and freshens the
  3291. directory cache.
  3292. If no paths are passed in then it will refresh the root directory.
  3293. rclone rc vfs/refresh
  3294. Otherwise pass directories in as dir=path. Any parameter key starting
  3295. with dir will refresh that directory, eg
  3296. rclone rc vfs/refresh dir=home/junk dir2=data/misc
  3297. If the parameter recursive=true is given the whole directory tree will
  3298. get refreshed. This refresh will use --fast-list if enabled.
  3299. Accessing the remote control via HTTP
  3300. Rclone implements a simple HTTP based protocol.
  3301. Each endpoint takes an JSON object and returns a JSON object or an
  3302. error. The JSON objects are essentially a map of string names to values.
  3303. All calls must made using POST.
  3304. The input objects can be supplied using URL parameters, POST parameters
  3305. or by supplying "Content-Type: application/json" and a JSON blob in the
  3306. body. There are examples of these below using curl.
  3307. The response will be a JSON blob in the body of the response. This is
  3308. formatted to be reasonably human readable.
  3309. If an error occurs then there will be an HTTP error status (usually 400)
  3310. and the body of the response will contain a JSON encoded error object.
  3311. The sever implements basic CORS support and allows all origins for that.
  3312. The response to a preflight OPTIONS request will echo the requested
  3313. "Access-Control-Request-Headers" back.
  3314. Using POST with URL parameters only
  3315. curl -X POST 'http://localhost:5572/rc/noop/?potato=1&sausage=2'
  3316. Response
  3317. {
  3318. "potato": "1",
  3319. "sausage": "2"
  3320. }
  3321. Here is what an error response looks like:
  3322. curl -X POST 'http://localhost:5572/rc/error/?potato=1&sausage=2'
  3323. {
  3324. "error": "arbitrary error on input map[potato:1 sausage:2]",
  3325. "input": {
  3326. "potato": "1",
  3327. "sausage": "2"
  3328. }
  3329. }
  3330. Note that curl doesn't return errors to the shell unless you use the -f
  3331. option
  3332. $ curl -f -X POST 'http://localhost:5572/rc/error/?potato=1&sausage=2'
  3333. curl: (22) The requested URL returned error: 400 Bad Request
  3334. $ echo $?
  3335. 22
  3336. Using POST with a form
  3337. curl --data "potato=1" --data "sausage=2" http://localhost:5572/rc/noop/
  3338. Response
  3339. {
  3340. "potato": "1",
  3341. "sausage": "2"
  3342. }
  3343. Note that you can combine these with URL parameters too with the POST
  3344. parameters taking precedence.
  3345. curl --data "potato=1" --data "sausage=2" "http://localhost:5572/rc/noop/?rutabaga=3&sausage=4"
  3346. Response
  3347. {
  3348. "potato": "1",
  3349. "rutabaga": "3",
  3350. "sausage": "4"
  3351. }
  3352. Using POST with a JSON blob
  3353. curl -H "Content-Type: application/json" -X POST -d '{"potato":2,"sausage":1}' http://localhost:5572/rc/noop/
  3354. response
  3355. {
  3356. "password": "xyz",
  3357. "username": "xyz"
  3358. }
  3359. This can be combined with URL parameters too if required. The JSON blob
  3360. takes precedence.
  3361. curl -H "Content-Type: application/json" -X POST -d '{"potato":2,"sausage":1}' 'http://localhost:5572/rc/noop/?rutabaga=3&potato=4'
  3362. {
  3363. "potato": 2,
  3364. "rutabaga": "3",
  3365. "sausage": 1
  3366. }
  3367. Debugging rclone with pprof
  3368. If you use the --rc flag this will also enable the use of the go
  3369. profiling tools on the same port.
  3370. To use these, first install go.
  3371. Then (for example) to profile rclone's memory use you can run:
  3372. go tool pprof -web http://localhost:5572/debug/pprof/heap
  3373. This should open a page in your browser showing what is using what
  3374. memory.
  3375. You can also use the -text flag to produce a textual summary
  3376. $ go tool pprof -text http://localhost:5572/debug/pprof/heap
  3377. Showing nodes accounting for 1537.03kB, 100% of 1537.03kB total
  3378. flat flat% sum% cum cum%
  3379. 1024.03kB 66.62% 66.62% 1024.03kB 66.62% github.com/ncw/rclone/vendor/golang.org/x/net/http2/hpack.addDecoderNode
  3380. 513kB 33.38% 100% 513kB 33.38% net/http.newBufioWriterSize
  3381. 0 0% 100% 1024.03kB 66.62% github.com/ncw/rclone/cmd/all.init
  3382. 0 0% 100% 1024.03kB 66.62% github.com/ncw/rclone/cmd/serve.init
  3383. 0 0% 100% 1024.03kB 66.62% github.com/ncw/rclone/cmd/serve/restic.init
  3384. 0 0% 100% 1024.03kB 66.62% github.com/ncw/rclone/vendor/golang.org/x/net/http2.init
  3385. 0 0% 100% 1024.03kB 66.62% github.com/ncw/rclone/vendor/golang.org/x/net/http2/hpack.init
  3386. 0 0% 100% 1024.03kB 66.62% github.com/ncw/rclone/vendor/golang.org/x/net/http2/hpack.init.0
  3387. 0 0% 100% 1024.03kB 66.62% main.init
  3388. 0 0% 100% 513kB 33.38% net/http.(*conn).readRequest
  3389. 0 0% 100% 513kB 33.38% net/http.(*conn).serve
  3390. 0 0% 100% 1024.03kB 66.62% runtime.main
  3391. Possible profiles to look at:
  3392. - Memory: go tool pprof http://localhost:5572/debug/pprof/heap
  3393. - 30-second CPU profile:
  3394. go tool pprof http://localhost:5572/debug/pprof/profile
  3395. - 5-second execution trace:
  3396. wget http://localhost:5572/debug/pprof/trace?seconds=5
  3397. See the net/http/pprof docs for more info on how to use the profiling
  3398. and for a general overview see the Go team's blog post on profiling go
  3399. programs.
  3400. The profiling hook is zero overhead unless it is used.
  3401. OVERVIEW OF CLOUD STORAGE SYSTEMS
  3402. Each cloud storage system is slightly different. Rclone attempts to
  3403. provide a unified interface to them, but some underlying differences
  3404. show through.
  3405. Features
  3406. Here is an overview of the major features of each cloud storage system.
  3407. Name Hash ModTime Case Insensitive Duplicate Files MIME Type
  3408. ------------------------------ ------------- --------- ------------------ ----------------- -----------
  3409. Amazon Drive MD5 No Yes No R
  3410. Amazon S3 MD5 Yes No No R/W
  3411. Backblaze B2 SHA1 Yes No No R/W
  3412. Box SHA1 Yes Yes No -
  3413. Dropbox DBHASH † Yes Yes No -
  3414. FTP - No No No -
  3415. Google Cloud Storage MD5 Yes No No R/W
  3416. Google Drive MD5 Yes No Yes R/W
  3417. HTTP - No No No R
  3418. Hubic MD5 Yes No No R/W
  3419. Jottacloud MD5 Yes Yes No R/W
  3420. Mega - No No Yes -
  3421. Microsoft Azure Blob Storage MD5 Yes No No R/W
  3422. Microsoft OneDrive SHA1 ‡‡ Yes Yes No R
  3423. OpenDrive MD5 Yes Yes No -
  3424. Openstack Swift MD5 Yes No No R/W
  3425. pCloud MD5, SHA1 Yes No No W
  3426. QingStor MD5 No No No R/W
  3427. SFTP MD5, SHA1 ‡ Yes Depends No -
  3428. WebDAV - Yes †† Depends No -
  3429. Yandex Disk MD5 Yes No No R/W
  3430. The local filesystem All Yes Depends No -
  3431. Hash
  3432. The cloud storage system supports various hash types of the objects. The
  3433. hashes are used when transferring data as an integrity check and can be
  3434. specifically used with the --checksum flag in syncs and in the check
  3435. command.
  3436. To use the verify checksums when transferring between cloud storage
  3437. systems they must support a common hash type.
  3438. † Note that Dropbox supports its own custom hash. This is an SHA256 sum
  3439. of all the 4MB block SHA256s.
  3440. ‡ SFTP supports checksums if the same login has shell access and md5sum
  3441. or sha1sum as well as echo are in the remote's PATH.
  3442. †† WebDAV supports modtimes when used with Owncloud and Nextcloud only.
  3443. ‡‡ Microsoft OneDrive Personal supports SHA1 hashes, whereas OneDrive
  3444. for business and SharePoint server support Microsoft's own QuickXorHash.
  3445. ModTime
  3446. The cloud storage system supports setting modification times on objects.
  3447. If it does then this enables a using the modification times as part of
  3448. the sync. If not then only the size will be checked by default, though
  3449. the MD5SUM can be checked with the --checksum flag.
  3450. All cloud storage systems support some kind of date on the object and
  3451. these will be set when transferring from the cloud storage system.
  3452. Case Insensitive
  3453. If a cloud storage systems is case sensitive then it is possible to have
  3454. two files which differ only in case, eg file.txt and FILE.txt. If a
  3455. cloud storage system is case insensitive then that isn't possible.
  3456. This can cause problems when syncing between a case insensitive system
  3457. and a case sensitive system. The symptom of this is that no matter how
  3458. many times you run the sync it never completes fully.
  3459. The local filesystem and SFTP may or may not be case sensitive depending
  3460. on OS.
  3461. - Windows - usually case insensitive, though case is preserved
  3462. - OSX - usually case insensitive, though it is possible to format case
  3463. sensitive
  3464. - Linux - usually case sensitive, but there are case insensitive file
  3465. systems (eg FAT formatted USB keys)
  3466. Most of the time this doesn't cause any problems as people tend to avoid
  3467. files whose name differs only by case even on case sensitive systems.
  3468. Duplicate files
  3469. If a cloud storage system allows duplicate files then it can have two
  3470. objects with the same name.
  3471. This confuses rclone greatly when syncing - use the rclone dedupe
  3472. command to rename or remove duplicates.
  3473. MIME Type
  3474. MIME types (also known as media types) classify types of documents using
  3475. a simple text classification, eg text/html or application/pdf.
  3476. Some cloud storage systems support reading (R) the MIME type of objects
  3477. and some support writing (W) the MIME type of objects.
  3478. The MIME type can be important if you are serving files directly to HTTP
  3479. from the storage system.
  3480. If you are copying from a remote which supports reading (R) to a remote
  3481. which supports writing (W) then rclone will preserve the MIME types.
  3482. Otherwise they will be guessed from the extension, or the remote itself
  3483. may assign the MIME type.
  3484. Optional Features
  3485. All the remotes support a basic set of features, but there are some
  3486. optional features supported by some remotes used to make some operations
  3487. more efficient.
  3488. Name Purge Copy Move DirMove CleanUp ListR StreamUpload LinkSharing About
  3489. ------------------------------ ------- ------ ------ --------- --------- ------- -------------- ------------- -------
  3490. Amazon Drive Yes No Yes Yes No #575 No No No #2178 No
  3491. Amazon S3 No Yes No No No Yes Yes No #2178 No
  3492. Backblaze B2 No No No No Yes Yes Yes No #2178 No
  3493. Box Yes Yes Yes Yes No #575 No Yes Yes No
  3494. Dropbox Yes Yes Yes Yes No #575 No Yes Yes Yes
  3495. FTP No No Yes Yes No No Yes No #2178 No
  3496. Google Cloud Storage Yes Yes No No No Yes Yes No #2178 No
  3497. Google Drive Yes Yes Yes Yes Yes Yes Yes Yes Yes
  3498. HTTP No No No No No No No No #2178 No
  3499. Hubic Yes † Yes No No No Yes Yes No #2178 Yes
  3500. Jottacloud Yes Yes Yes Yes No Yes No Yes Yes
  3501. Mega Yes No Yes Yes No No No No #2178 Yes
  3502. Microsoft Azure Blob Storage Yes Yes No No No Yes No No #2178 No
  3503. Microsoft OneDrive Yes Yes Yes Yes No #575 No No Yes Yes
  3504. OpenDrive Yes Yes Yes Yes No No No No No
  3505. Openstack Swift Yes † Yes No No No Yes Yes No #2178 Yes
  3506. pCloud Yes Yes Yes Yes Yes No No No #2178 Yes
  3507. QingStor No Yes No No No Yes No No #2178 No
  3508. SFTP No No Yes Yes No No Yes No #2178 No
  3509. WebDAV Yes Yes Yes Yes No No Yes ‡ No #2178 No
  3510. Yandex Disk Yes No No No Yes Yes Yes No #2178 No
  3511. The local filesystem Yes No Yes Yes No No Yes No Yes
  3512. Purge
  3513. This deletes a directory quicker than just deleting all the files in the
  3514. directory.
  3515. † Note Swift and Hubic implement this in order to delete directory
  3516. markers but they don't actually have a quicker way of deleting files
  3517. other than deleting them individually.
  3518. ‡ StreamUpload is not supported with Nextcloud
  3519. Copy
  3520. Used when copying an object to and from the same remote. This known as a
  3521. server side copy so you can copy a file without downloading it and
  3522. uploading it again. It is used if you use rclone copy or rclone move if
  3523. the remote doesn't support Move directly.
  3524. If the server doesn't support Copy directly then for copy operations the
  3525. file is downloaded then re-uploaded.
  3526. Move
  3527. Used when moving/renaming an object on the same remote. This is known as
  3528. a server side move of a file. This is used in rclone move if the server
  3529. doesn't support DirMove.
  3530. If the server isn't capable of Move then rclone simulates it with Copy
  3531. then delete. If the server doesn't support Copy then rclone will
  3532. download the file and re-upload it.
  3533. DirMove
  3534. This is used to implement rclone move to move a directory if possible.
  3535. If it isn't then it will use Move on each file (which falls back to Copy
  3536. then download and upload - see Move section).
  3537. CleanUp
  3538. This is used for emptying the trash for a remote by rclone cleanup.
  3539. If the server can't do CleanUp then rclone cleanup will return an error.
  3540. ListR
  3541. The remote supports a recursive list to list all the contents beneath a
  3542. directory quickly. This enables the --fast-list flag to work. See the
  3543. rclone docs for more details.
  3544. StreamUpload
  3545. Some remotes allow files to be uploaded without knowing the file size in
  3546. advance. This allows certain operations to work without spooling the
  3547. file to local disk first, e.g. rclone rcat.
  3548. LinkSharing
  3549. Sets the necessary permissions on a file or folder and prints a link
  3550. that allows others to access them, even if they don't have an account on
  3551. the particular cloud provider.
  3552. About
  3553. This is used to fetch quota information from the remote, like bytes
  3554. used/free/quota and bytes used in the trash.
  3555. If the server can't do About then rclone about will return an error.
  3556. Alias
  3557. The alias remote provides a new name for another remote.
  3558. Paths may be as deep as required or a local path, eg
  3559. remote:directory/subdirectory or /directory/subdirectory.
  3560. During the initial setup with rclone config you will specify the target
  3561. remote. The target remote can either be a local path or another remote.
  3562. Subfolders can be used in target remote. Asume a alias remote named
  3563. backup with the target mydrive:private/backup. Invoking
  3564. rclone mkdir backup:desktop is exactly the same as invoking
  3565. rclone mkdir mydrive:private/backup/desktop.
  3566. There will be no special handling of paths containing .. segments.
  3567. Invoking rclone mkdir backup:../desktop is exactly the same as invoking
  3568. rclone mkdir mydrive:private/backup/../desktop. The empty path is not
  3569. allowed as a remote. To alias the current directory use . instead.
  3570. Here is an example of how to make a alias called remote for local
  3571. folder. First run:
  3572. rclone config
  3573. This will guide you through an interactive setup process:
  3574. No remotes found - make a new one
  3575. n) New remote
  3576. s) Set configuration password
  3577. q) Quit config
  3578. n/s/q> n
  3579. name> remote
  3580. Type of storage to configure.
  3581. Choose a number from below, or type in your own value
  3582. 1 / Alias for a existing remote
  3583. \ "alias"
  3584. 2 / Amazon Drive
  3585. \ "amazon cloud drive"
  3586. 3 / Amazon S3 (also Dreamhost, Ceph, Minio)
  3587. \ "s3"
  3588. 4 / Backblaze B2
  3589. \ "b2"
  3590. 5 / Box
  3591. \ "box"
  3592. 6 / Cache a remote
  3593. \ "cache"
  3594. 7 / Dropbox
  3595. \ "dropbox"
  3596. 8 / Encrypt/Decrypt a remote
  3597. \ "crypt"
  3598. 9 / FTP Connection
  3599. \ "ftp"
  3600. 10 / Google Cloud Storage (this is not Google Drive)
  3601. \ "google cloud storage"
  3602. 11 / Google Drive
  3603. \ "drive"
  3604. 12 / Hubic
  3605. \ "hubic"
  3606. 13 / Local Disk
  3607. \ "local"
  3608. 14 / Microsoft Azure Blob Storage
  3609. \ "azureblob"
  3610. 15 / Microsoft OneDrive
  3611. \ "onedrive"
  3612. 16 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
  3613. \ "swift"
  3614. 17 / Pcloud
  3615. \ "pcloud"
  3616. 18 / QingCloud Object Storage
  3617. \ "qingstor"
  3618. 19 / SSH/SFTP Connection
  3619. \ "sftp"
  3620. 20 / Webdav
  3621. \ "webdav"
  3622. 21 / Yandex Disk
  3623. \ "yandex"
  3624. 22 / http Connection
  3625. \ "http"
  3626. Storage> 1
  3627. Remote or path to alias.
  3628. Can be "myremote:path/to/dir", "myremote:bucket", "myremote:" or "/local/path".
  3629. remote> /mnt/storage/backup
  3630. Remote config
  3631. --------------------
  3632. [remote]
  3633. remote = /mnt/storage/backup
  3634. --------------------
  3635. y) Yes this is OK
  3636. e) Edit this remote
  3637. d) Delete this remote
  3638. y/e/d> y
  3639. Current remotes:
  3640. Name Type
  3641. ==== ====
  3642. remote alias
  3643. e) Edit existing remote
  3644. n) New remote
  3645. d) Delete remote
  3646. r) Rename remote
  3647. c) Copy remote
  3648. s) Set configuration password
  3649. q) Quit config
  3650. e/n/d/r/c/s/q> q
  3651. Once configured you can then use rclone like this,
  3652. List directories in top level in /mnt/storage/backup
  3653. rclone lsd remote:
  3654. List all the files in /mnt/storage/backup
  3655. rclone ls remote:
  3656. Copy another local directory to the alias directory called source
  3657. rclone copy /home/source remote:source
  3658. Standard Options
  3659. Here are the standard options specific to alias (Alias for a existing
  3660. remote).
  3661. --alias-remote
  3662. Remote or path to alias. Can be "myremote:path/to/dir",
  3663. "myremote:bucket", "myremote:" or "/local/path".
  3664. - Config: remote
  3665. - Env Var: RCLONE_ALIAS_REMOTE
  3666. - Type: string
  3667. - Default: ""
  3668. Amazon Drive
  3669. Amazon Drive, formerly known as Amazon Cloud Drive, is a cloud storage
  3670. service run by Amazon for consumers.
  3671. Status
  3672. IMPORTANT: rclone supports Amazon Drive only if you have your own set of
  3673. API keys. Unfortunately the Amazon Drive developer program is now closed
  3674. to new entries so if you don't already have your own set of keys you
  3675. will not be able to use rclone with Amazon Drive.
  3676. For the history on why rclone no longer has a set of Amazon Drive API
  3677. keys see the forum.
  3678. If you happen to know anyone who works at Amazon then please ask them to
  3679. re-instate rclone into the Amazon Drive developer program - thanks!
  3680. Setup
  3681. The initial setup for Amazon Drive involves getting a token from Amazon
  3682. which you need to do in your browser. rclone config walks you through
  3683. it.
  3684. The configuration process for Amazon Drive may involve using an oauth
  3685. proxy. This is used to keep the Amazon credentials out of the source
  3686. code. The proxy runs in Google's very secure App Engine environment and
  3687. doesn't store any credentials which pass through it.
  3688. Since rclone doesn't currently have its own Amazon Drive credentials so
  3689. you will either need to have your own client_id and client_secret with
  3690. Amazon Drive, or use a a third party ouath proxy in which case you will
  3691. need to enter client_id, client_secret, auth_url and token_url.
  3692. Note also if you are not using Amazon's auth_url and token_url, (ie you
  3693. filled in something for those) then if setting up on a remote machine
  3694. you can only use the copying the config method of configuration -
  3695. rclone authorize will not work.
  3696. Here is an example of how to make a remote called remote. First run:
  3697. rclone config
  3698. This will guide you through an interactive setup process:
  3699. No remotes found - make a new one
  3700. n) New remote
  3701. r) Rename remote
  3702. c) Copy remote
  3703. s) Set configuration password
  3704. q) Quit config
  3705. n/r/c/s/q> n
  3706. name> remote
  3707. Type of storage to configure.
  3708. Choose a number from below, or type in your own value
  3709. 1 / Amazon Drive
  3710. \ "amazon cloud drive"
  3711. 2 / Amazon S3 (also Dreamhost, Ceph, Minio)
  3712. \ "s3"
  3713. 3 / Backblaze B2
  3714. \ "b2"
  3715. 4 / Dropbox
  3716. \ "dropbox"
  3717. 5 / Encrypt/Decrypt a remote
  3718. \ "crypt"
  3719. 6 / FTP Connection
  3720. \ "ftp"
  3721. 7 / Google Cloud Storage (this is not Google Drive)
  3722. \ "google cloud storage"
  3723. 8 / Google Drive
  3724. \ "drive"
  3725. 9 / Hubic
  3726. \ "hubic"
  3727. 10 / Local Disk
  3728. \ "local"
  3729. 11 / Microsoft OneDrive
  3730. \ "onedrive"
  3731. 12 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
  3732. \ "swift"
  3733. 13 / SSH/SFTP Connection
  3734. \ "sftp"
  3735. 14 / Yandex Disk
  3736. \ "yandex"
  3737. Storage> 1
  3738. Amazon Application Client Id - required.
  3739. client_id> your client ID goes here
  3740. Amazon Application Client Secret - required.
  3741. client_secret> your client secret goes here
  3742. Auth server URL - leave blank to use Amazon's.
  3743. auth_url> Optional auth URL
  3744. Token server url - leave blank to use Amazon's.
  3745. token_url> Optional token URL
  3746. Remote config
  3747. Make sure your Redirect URL is set to "http://127.0.0.1:53682/" in your custom config.
  3748. Use auto config?
  3749. * Say Y if not sure
  3750. * Say N if you are working on a remote or headless machine
  3751. y) Yes
  3752. n) No
  3753. y/n> y
  3754. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  3755. Log in and authorize rclone for access
  3756. Waiting for code...
  3757. Got code
  3758. --------------------
  3759. [remote]
  3760. client_id = your client ID goes here
  3761. client_secret = your client secret goes here
  3762. auth_url = Optional auth URL
  3763. token_url = Optional token URL
  3764. token = {"access_token":"xxxxxxxxxxxxxxxxxxxxxxx","token_type":"bearer","refresh_token":"xxxxxxxxxxxxxxxxxx","expiry":"2015-09-06T16:07:39.658438471+01:00"}
  3765. --------------------
  3766. y) Yes this is OK
  3767. e) Edit this remote
  3768. d) Delete this remote
  3769. y/e/d> y
  3770. See the remote setup docs for how to set it up on a machine with no
  3771. Internet browser available.
  3772. Note that rclone runs a webserver on your local machine to collect the
  3773. token as returned from Amazon. This only runs from the moment it opens
  3774. your browser to the moment you get back the verification code. This is
  3775. on http://127.0.0.1:53682/ and this it may require you to unblock it
  3776. temporarily if you are running a host firewall.
  3777. Once configured you can then use rclone like this,
  3778. List directories in top level of your Amazon Drive
  3779. rclone lsd remote:
  3780. List all the files in your Amazon Drive
  3781. rclone ls remote:
  3782. To copy a local directory to an Amazon Drive directory called backup
  3783. rclone copy /home/source remote:backup
  3784. Modified time and MD5SUMs
  3785. Amazon Drive doesn't allow modification times to be changed via the API
  3786. so these won't be accurate or used for syncing.
  3787. It does store MD5SUMs so for a more accurate sync, you can use the
  3788. --checksum flag.
  3789. Deleting files
  3790. Any files you delete with rclone will end up in the trash. Amazon don't
  3791. provide an API to permanently delete files, nor to empty the trash, so
  3792. you will have to do that with one of Amazon's apps or via the Amazon
  3793. Drive website. As of November 17, 2016, files are automatically deleted
  3794. by Amazon from the trash after 30 days.
  3795. Using with non .com Amazon accounts
  3796. Let's say you usually use amazon.co.uk. When you authenticate with
  3797. rclone it will take you to an amazon.com page to log in. Your
  3798. amazon.co.uk email and password should work here just fine.
  3799. Standard Options
  3800. Here are the standard options specific to amazon cloud drive (Amazon
  3801. Drive).
  3802. --acd-client-id
  3803. Amazon Application Client ID.
  3804. - Config: client_id
  3805. - Env Var: RCLONE_ACD_CLIENT_ID
  3806. - Type: string
  3807. - Default: ""
  3808. --acd-client-secret
  3809. Amazon Application Client Secret.
  3810. - Config: client_secret
  3811. - Env Var: RCLONE_ACD_CLIENT_SECRET
  3812. - Type: string
  3813. - Default: ""
  3814. Advanced Options
  3815. Here are the advanced options specific to amazon cloud drive (Amazon
  3816. Drive).
  3817. --acd-auth-url
  3818. Auth server URL. Leave blank to use Amazon's.
  3819. - Config: auth_url
  3820. - Env Var: RCLONE_ACD_AUTH_URL
  3821. - Type: string
  3822. - Default: ""
  3823. --acd-token-url
  3824. Token server url. leave blank to use Amazon's.
  3825. - Config: token_url
  3826. - Env Var: RCLONE_ACD_TOKEN_URL
  3827. - Type: string
  3828. - Default: ""
  3829. --acd-checkpoint
  3830. Checkpoint for internal polling (debug).
  3831. - Config: checkpoint
  3832. - Env Var: RCLONE_ACD_CHECKPOINT
  3833. - Type: string
  3834. - Default: ""
  3835. --acd-upload-wait-per-gb
  3836. Additional time per GB to wait after a failed complete upload to see if
  3837. it appears.
  3838. Sometimes Amazon Drive gives an error when a file has been fully
  3839. uploaded but the file appears anyway after a little while. This happens
  3840. sometimes for files over 1GB in size and nearly every time for files
  3841. bigger than 10GB. This parameter controls the time rclone waits for the
  3842. file to appear.
  3843. The default value for this parameter is 3 minutes per GB, so by default
  3844. it will wait 3 minutes for every GB uploaded to see if the file appears.
  3845. You can disable this feature by setting it to 0. This may cause conflict
  3846. errors as rclone retries the failed upload but the file will most likely
  3847. appear correctly eventually.
  3848. These values were determined empirically by observing lots of uploads of
  3849. big files for a range of file sizes.
  3850. Upload with the "-v" flag to see more info about what rclone is doing in
  3851. this situation.
  3852. - Config: upload_wait_per_gb
  3853. - Env Var: RCLONE_ACD_UPLOAD_WAIT_PER_GB
  3854. - Type: Duration
  3855. - Default: 3m0s
  3856. --acd-templink-threshold
  3857. Files >= this size will be downloaded via their tempLink.
  3858. Files this size or more will be downloaded via their "tempLink". This is
  3859. to work around a problem with Amazon Drive which blocks downloads of
  3860. files bigger than about 10GB. The default for this is 9GB which
  3861. shouldn't need to be changed.
  3862. To download files above this threshold, rclone requests a "tempLink"
  3863. which downloads the file through a temporary URL directly from the
  3864. underlying S3 storage.
  3865. - Config: templink_threshold
  3866. - Env Var: RCLONE_ACD_TEMPLINK_THRESHOLD
  3867. - Type: SizeSuffix
  3868. - Default: 9G
  3869. Limitations
  3870. Note that Amazon Drive is case insensitive so you can't have a file
  3871. called "Hello.doc" and one called "hello.doc".
  3872. Amazon Drive has rate limiting so you may notice errors in the sync (429
  3873. errors). rclone will automatically retry the sync up to 3 times by
  3874. default (see --retries flag) which should hopefully work around this
  3875. problem.
  3876. Amazon Drive has an internal limit of file sizes that can be uploaded to
  3877. the service. This limit is not officially published, but all files
  3878. larger than this will fail.
  3879. At the time of writing (Jan 2016) is in the area of 50GB per file. This
  3880. means that larger files are likely to fail.
  3881. Unfortunately there is no way for rclone to see that this failure is
  3882. because of file size, so it will retry the operation, as any other
  3883. failure. To avoid this problem, use --max-size 50000M option to limit
  3884. the maximum size of uploaded files. Note that --max-size does not split
  3885. files into segments, it only ignores files over this size.
  3886. Amazon S3 Storage Providers
  3887. The S3 backend can be used with a number of different providers:
  3888. - AWS S3
  3889. - Ceph
  3890. - DigitalOcean Spaces
  3891. - Dreamhost
  3892. - IBM COS S3
  3893. - Minio
  3894. - Wasabi
  3895. Paths are specified as remote:bucket (or remote: for the lsd command.)
  3896. You may put subdirectories in too, eg remote:bucket/path/to/dir.
  3897. Once you have made a remote (see the provider specific section above)
  3898. you can use it like this:
  3899. See all buckets
  3900. rclone lsd remote:
  3901. Make a new bucket
  3902. rclone mkdir remote:bucket
  3903. List the contents of a bucket
  3904. rclone ls remote:bucket
  3905. Sync /home/local/directory to the remote bucket, deleting any excess
  3906. files in the bucket.
  3907. rclone sync /home/local/directory remote:bucket
  3908. AWS S3
  3909. Here is an example of making an s3 configuration. First run
  3910. rclone config
  3911. This will guide you through an interactive setup process.
  3912. No remotes found - make a new one
  3913. n) New remote
  3914. s) Set configuration password
  3915. q) Quit config
  3916. n/s/q> n
  3917. name> remote
  3918. Type of storage to configure.
  3919. Choose a number from below, or type in your own value
  3920. 1 / Alias for a existing remote
  3921. \ "alias"
  3922. 2 / Amazon Drive
  3923. \ "amazon cloud drive"
  3924. 3 / Amazon S3 Compliant Storage Providers (AWS, Ceph, Dreamhost, IBM COS, Minio)
  3925. \ "s3"
  3926. 4 / Backblaze B2
  3927. \ "b2"
  3928. [snip]
  3929. 23 / http Connection
  3930. \ "http"
  3931. Storage> s3
  3932. Choose your S3 provider.
  3933. Choose a number from below, or type in your own value
  3934. 1 / Amazon Web Services (AWS) S3
  3935. \ "AWS"
  3936. 2 / Ceph Object Storage
  3937. \ "Ceph"
  3938. 3 / Digital Ocean Spaces
  3939. \ "DigitalOcean"
  3940. 4 / Dreamhost DreamObjects
  3941. \ "Dreamhost"
  3942. 5 / IBM COS S3
  3943. \ "IBMCOS"
  3944. 6 / Minio Object Storage
  3945. \ "Minio"
  3946. 7 / Wasabi Object Storage
  3947. \ "Wasabi"
  3948. 8 / Any other S3 compatible provider
  3949. \ "Other"
  3950. provider> 1
  3951. 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.
  3952. Choose a number from below, or type in your own value
  3953. 1 / Enter AWS credentials in the next step
  3954. \ "false"
  3955. 2 / Get AWS credentials from the environment (env vars or IAM)
  3956. \ "true"
  3957. env_auth> 1
  3958. AWS Access Key ID - leave blank for anonymous access or runtime credentials.
  3959. access_key_id> XXX
  3960. AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
  3961. secret_access_key> YYY
  3962. Region to connect to.
  3963. Choose a number from below, or type in your own value
  3964. / The default endpoint - a good choice if you are unsure.
  3965. 1 | US Region, Northern Virginia or Pacific Northwest.
  3966. | Leave location constraint empty.
  3967. \ "us-east-1"
  3968. / US East (Ohio) Region
  3969. 2 | Needs location constraint us-east-2.
  3970. \ "us-east-2"
  3971. / US West (Oregon) Region
  3972. 3 | Needs location constraint us-west-2.
  3973. \ "us-west-2"
  3974. / US West (Northern California) Region
  3975. 4 | Needs location constraint us-west-1.
  3976. \ "us-west-1"
  3977. / Canada (Central) Region
  3978. 5 | Needs location constraint ca-central-1.
  3979. \ "ca-central-1"
  3980. / EU (Ireland) Region
  3981. 6 | Needs location constraint EU or eu-west-1.
  3982. \ "eu-west-1"
  3983. / EU (London) Region
  3984. 7 | Needs location constraint eu-west-2.
  3985. \ "eu-west-2"
  3986. / EU (Frankfurt) Region
  3987. 8 | Needs location constraint eu-central-1.
  3988. \ "eu-central-1"
  3989. / Asia Pacific (Singapore) Region
  3990. 9 | Needs location constraint ap-southeast-1.
  3991. \ "ap-southeast-1"
  3992. / Asia Pacific (Sydney) Region
  3993. 10 | Needs location constraint ap-southeast-2.
  3994. \ "ap-southeast-2"
  3995. / Asia Pacific (Tokyo) Region
  3996. 11 | Needs location constraint ap-northeast-1.
  3997. \ "ap-northeast-1"
  3998. / Asia Pacific (Seoul)
  3999. 12 | Needs location constraint ap-northeast-2.
  4000. \ "ap-northeast-2"
  4001. / Asia Pacific (Mumbai)
  4002. 13 | Needs location constraint ap-south-1.
  4003. \ "ap-south-1"
  4004. / South America (Sao Paulo) Region
  4005. 14 | Needs location constraint sa-east-1.
  4006. \ "sa-east-1"
  4007. region> 1
  4008. Endpoint for S3 API.
  4009. Leave blank if using AWS to use the default endpoint for the region.
  4010. endpoint>
  4011. Location constraint - must be set to match the Region. Used when creating buckets only.
  4012. Choose a number from below, or type in your own value
  4013. 1 / Empty for US Region, Northern Virginia or Pacific Northwest.
  4014. \ ""
  4015. 2 / US East (Ohio) Region.
  4016. \ "us-east-2"
  4017. 3 / US West (Oregon) Region.
  4018. \ "us-west-2"
  4019. 4 / US West (Northern California) Region.
  4020. \ "us-west-1"
  4021. 5 / Canada (Central) Region.
  4022. \ "ca-central-1"
  4023. 6 / EU (Ireland) Region.
  4024. \ "eu-west-1"
  4025. 7 / EU (London) Region.
  4026. \ "eu-west-2"
  4027. 8 / EU Region.
  4028. \ "EU"
  4029. 9 / Asia Pacific (Singapore) Region.
  4030. \ "ap-southeast-1"
  4031. 10 / Asia Pacific (Sydney) Region.
  4032. \ "ap-southeast-2"
  4033. 11 / Asia Pacific (Tokyo) Region.
  4034. \ "ap-northeast-1"
  4035. 12 / Asia Pacific (Seoul)
  4036. \ "ap-northeast-2"
  4037. 13 / Asia Pacific (Mumbai)
  4038. \ "ap-south-1"
  4039. 14 / South America (Sao Paulo) Region.
  4040. \ "sa-east-1"
  4041. location_constraint> 1
  4042. Canned ACL used when creating buckets and/or storing objects in S3.
  4043. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  4044. Choose a number from below, or type in your own value
  4045. 1 / Owner gets FULL_CONTROL. No one else has access rights (default).
  4046. \ "private"
  4047. 2 / Owner gets FULL_CONTROL. The AllUsers group gets READ access.
  4048. \ "public-read"
  4049. / Owner gets FULL_CONTROL. The AllUsers group gets READ and WRITE access.
  4050. 3 | Granting this on a bucket is generally not recommended.
  4051. \ "public-read-write"
  4052. 4 / Owner gets FULL_CONTROL. The AuthenticatedUsers group gets READ access.
  4053. \ "authenticated-read"
  4054. / Object owner gets FULL_CONTROL. Bucket owner gets READ access.
  4055. 5 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
  4056. \ "bucket-owner-read"
  4057. / Both the object owner and the bucket owner get FULL_CONTROL over the object.
  4058. 6 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
  4059. \ "bucket-owner-full-control"
  4060. acl> 1
  4061. The server-side encryption algorithm used when storing this object in S3.
  4062. Choose a number from below, or type in your own value
  4063. 1 / None
  4064. \ ""
  4065. 2 / AES256
  4066. \ "AES256"
  4067. server_side_encryption> 1
  4068. The storage class to use when storing objects in S3.
  4069. Choose a number from below, or type in your own value
  4070. 1 / Default
  4071. \ ""
  4072. 2 / Standard storage class
  4073. \ "STANDARD"
  4074. 3 / Reduced redundancy storage class
  4075. \ "REDUCED_REDUNDANCY"
  4076. 4 / Standard Infrequent Access storage class
  4077. \ "STANDARD_IA"
  4078. 5 / One Zone Infrequent Access storage class
  4079. \ "ONEZONE_IA"
  4080. storage_class> 1
  4081. Remote config
  4082. --------------------
  4083. [remote]
  4084. type = s3
  4085. provider = AWS
  4086. env_auth = false
  4087. access_key_id = XXX
  4088. secret_access_key = YYY
  4089. region = us-east-1
  4090. endpoint =
  4091. location_constraint =
  4092. acl = private
  4093. server_side_encryption =
  4094. storage_class =
  4095. --------------------
  4096. y) Yes this is OK
  4097. e) Edit this remote
  4098. d) Delete this remote
  4099. y/e/d>
  4100. --fast-list
  4101. This remote supports --fast-list which allows you to use fewer
  4102. transactions in exchange for more memory. See the rclone docs for more
  4103. details.
  4104. --update and --use-server-modtime
  4105. As noted below, the modified time is stored on metadata on the object.
  4106. It is used by default for all operations that require checking the time
  4107. a file was last updated. It allows rclone to treat the remote more like
  4108. a true filesystem, but it is inefficient because it requires an extra
  4109. API call to retrieve the metadata.
  4110. For many operations, the time the object was last uploaded to the remote
  4111. is sufficient to determine if it is "dirty". By using --update along
  4112. with --use-server-modtime, you can avoid the extra API call and simply
  4113. upload files whose local modtime is newer than the time it was last
  4114. uploaded.
  4115. Modified time
  4116. The modified time is stored as metadata on the object as
  4117. X-Amz-Meta-Mtime as floating point since the epoch accurate to 1 ns.
  4118. Multipart uploads
  4119. rclone supports multipart uploads with S3 which means that it can upload
  4120. files bigger than 5GB. Note that files uploaded _both_ with multipart
  4121. upload _and_ through crypt remotes do not have MD5 sums.
  4122. Buckets and Regions
  4123. With Amazon S3 you can list buckets (rclone lsd) using any region, but
  4124. you can only access the content of a bucket from the region it was
  4125. created in. If you attempt to access a bucket from the wrong region, you
  4126. will get an error, incorrect region, the bucket is not in 'XXX' region.
  4127. Authentication
  4128. There are a number of ways to supply rclone with a set of AWS
  4129. credentials, with and without using the environment.
  4130. The different authentication methods are tried in this order:
  4131. - Directly in the rclone configuration file (env_auth = false in the
  4132. config file):
  4133. - access_key_id and secret_access_key are required.
  4134. - session_token can be optionally set when using AWS STS.
  4135. - Runtime configuration (env_auth = true in the config file):
  4136. - Export the following environment variables before running rclone:
  4137. - Access Key ID: AWS_ACCESS_KEY_ID or AWS_ACCESS_KEY
  4138. - Secret Access Key: AWS_SECRET_ACCESS_KEY or AWS_SECRET_KEY
  4139. - Session Token: AWS_SESSION_TOKEN (optional)
  4140. - Or, use a named profile:
  4141. - Profile files are standard files used by AWS CLI tools
  4142. - By default it will use the profile in your home directory (eg
  4143. ~/.aws/credentials on unix based systems) file and the "default"
  4144. profile, to change set these environment variables:
  4145. - AWS_SHARED_CREDENTIALS_FILE to control which file.
  4146. - AWS_PROFILE to control which profile to use.
  4147. - Or, run rclone in an ECS task with an IAM role (AWS only).
  4148. - Or, run rclone on an EC2 instance with an IAM role (AWS only).
  4149. If none of these option actually end up providing rclone with AWS
  4150. credentials then S3 interaction will be non-authenticated (see below).
  4151. S3 Permissions
  4152. When using the sync subcommand of rclone the following minimum
  4153. permissions are required to be available on the bucket being written to:
  4154. - ListBucket
  4155. - DeleteObject
  4156. - GetObject
  4157. - PutObject
  4158. - PutObjectACL
  4159. Example policy:
  4160. {
  4161. "Version": "2012-10-17",
  4162. "Statement": [
  4163. {
  4164. "Effect": "Allow",
  4165. "Principal": {
  4166. "AWS": "arn:aws:iam::USER_SID:user/USER_NAME"
  4167. },
  4168. "Action": [
  4169. "s3:ListBucket",
  4170. "s3:DeleteObject",
  4171. "s3:GetObject",
  4172. "s3:PutObject",
  4173. "s3:PutObjectAcl"
  4174. ],
  4175. "Resource": [
  4176. "arn:aws:s3:::BUCKET_NAME/*",
  4177. "arn:aws:s3:::BUCKET_NAME"
  4178. ]
  4179. }
  4180. ]
  4181. }
  4182. Notes on above:
  4183. 1. This is a policy that can be used when creating bucket. It assumes
  4184. that USER_NAME has been created.
  4185. 2. The Resource entry must include both resource ARNs, as one implies
  4186. the bucket and the other implies the bucket's objects.
  4187. For reference, here's an Ansible script that will generate one or more
  4188. buckets that will work with rclone sync.
  4189. Key Management System (KMS)
  4190. If you are using server side encryption with KMS then you will find you
  4191. can't transfer small objects. As a work-around you can use the
  4192. --ignore-checksum flag.
  4193. A proper fix is being worked on in issue #1824.
  4194. Glacier
  4195. You can transition objects to glacier storage using a lifecycle policy.
  4196. The bucket can still be synced or copied into normally, but if rclone
  4197. tries to access the data you will see an error like below.
  4198. 2017/09/11 19:07:43 Failed to sync: failed to open source object: Object in GLACIER, restore first: path/to/file
  4199. In this case you need to restore the object(s) in question before using
  4200. rclone.
  4201. Standard Options
  4202. Here are the standard options specific to s3 (Amazon S3 Compliant
  4203. Storage Providers (AWS, Ceph, Dreamhost, IBM COS, Minio)).
  4204. --s3-provider
  4205. Choose your S3 provider.
  4206. - Config: provider
  4207. - Env Var: RCLONE_S3_PROVIDER
  4208. - Type: string
  4209. - Default: ""
  4210. - Examples:
  4211. - "AWS"
  4212. - Amazon Web Services (AWS) S3
  4213. - "Ceph"
  4214. - Ceph Object Storage
  4215. - "DigitalOcean"
  4216. - Digital Ocean Spaces
  4217. - "Dreamhost"
  4218. - Dreamhost DreamObjects
  4219. - "IBMCOS"
  4220. - IBM COS S3
  4221. - "Minio"
  4222. - Minio Object Storage
  4223. - "Wasabi"
  4224. - Wasabi Object Storage
  4225. - "Other"
  4226. - Any other S3 compatible provider
  4227. --s3-env-auth
  4228. Get AWS credentials from runtime (environment variables or EC2/ECS meta
  4229. data if no env vars). Only applies if access_key_id and
  4230. secret_access_key is blank.
  4231. - Config: env_auth
  4232. - Env Var: RCLONE_S3_ENV_AUTH
  4233. - Type: bool
  4234. - Default: false
  4235. - Examples:
  4236. - "false"
  4237. - Enter AWS credentials in the next step
  4238. - "true"
  4239. - Get AWS credentials from the environment (env vars or IAM)
  4240. --s3-access-key-id
  4241. AWS Access Key ID. Leave blank for anonymous access or runtime
  4242. credentials.
  4243. - Config: access_key_id
  4244. - Env Var: RCLONE_S3_ACCESS_KEY_ID
  4245. - Type: string
  4246. - Default: ""
  4247. --s3-secret-access-key
  4248. AWS Secret Access Key (password) Leave blank for anonymous access or
  4249. runtime credentials.
  4250. - Config: secret_access_key
  4251. - Env Var: RCLONE_S3_SECRET_ACCESS_KEY
  4252. - Type: string
  4253. - Default: ""
  4254. --s3-region
  4255. Region to connect to.
  4256. - Config: region
  4257. - Env Var: RCLONE_S3_REGION
  4258. - Type: string
  4259. - Default: ""
  4260. - Examples:
  4261. - "us-east-1"
  4262. - The default endpoint - a good choice if you are unsure.
  4263. - US Region, Northern Virginia or Pacific Northwest.
  4264. - Leave location constraint empty.
  4265. - "us-east-2"
  4266. - US East (Ohio) Region
  4267. - Needs location constraint us-east-2.
  4268. - "us-west-2"
  4269. - US West (Oregon) Region
  4270. - Needs location constraint us-west-2.
  4271. - "us-west-1"
  4272. - US West (Northern California) Region
  4273. - Needs location constraint us-west-1.
  4274. - "ca-central-1"
  4275. - Canada (Central) Region
  4276. - Needs location constraint ca-central-1.
  4277. - "eu-west-1"
  4278. - EU (Ireland) Region
  4279. - Needs location constraint EU or eu-west-1.
  4280. - "eu-west-2"
  4281. - EU (London) Region
  4282. - Needs location constraint eu-west-2.
  4283. - "eu-central-1"
  4284. - EU (Frankfurt) Region
  4285. - Needs location constraint eu-central-1.
  4286. - "ap-southeast-1"
  4287. - Asia Pacific (Singapore) Region
  4288. - Needs location constraint ap-southeast-1.
  4289. - "ap-southeast-2"
  4290. - Asia Pacific (Sydney) Region
  4291. - Needs location constraint ap-southeast-2.
  4292. - "ap-northeast-1"
  4293. - Asia Pacific (Tokyo) Region
  4294. - Needs location constraint ap-northeast-1.
  4295. - "ap-northeast-2"
  4296. - Asia Pacific (Seoul)
  4297. - Needs location constraint ap-northeast-2.
  4298. - "ap-south-1"
  4299. - Asia Pacific (Mumbai)
  4300. - Needs location constraint ap-south-1.
  4301. - "sa-east-1"
  4302. - South America (Sao Paulo) Region
  4303. - Needs location constraint sa-east-1.
  4304. --s3-region
  4305. Region to connect to. Leave blank if you are using an S3 clone and you
  4306. don't have a region.
  4307. - Config: region
  4308. - Env Var: RCLONE_S3_REGION
  4309. - Type: string
  4310. - Default: ""
  4311. - Examples:
  4312. - ""
  4313. - Use this if unsure. Will use v4 signatures and an empty
  4314. region.
  4315. - "other-v2-signature"
  4316. - Use this only if v4 signatures don't work, eg pre Jewel/v10
  4317. CEPH.
  4318. --s3-endpoint
  4319. Endpoint for S3 API. Leave blank if using AWS to use the default
  4320. endpoint for the region.
  4321. - Config: endpoint
  4322. - Env Var: RCLONE_S3_ENDPOINT
  4323. - Type: string
  4324. - Default: ""
  4325. --s3-endpoint
  4326. Endpoint for IBM COS S3 API. Specify if using an IBM COS On Premise.
  4327. - Config: endpoint
  4328. - Env Var: RCLONE_S3_ENDPOINT
  4329. - Type: string
  4330. - Default: ""
  4331. - Examples:
  4332. - "s3-api.us-geo.objectstorage.softlayer.net"
  4333. - US Cross Region Endpoint
  4334. - "s3-api.dal.us-geo.objectstorage.softlayer.net"
  4335. - US Cross Region Dallas Endpoint
  4336. - "s3-api.wdc-us-geo.objectstorage.softlayer.net"
  4337. - US Cross Region Washington DC Endpoint
  4338. - "s3-api.sjc-us-geo.objectstorage.softlayer.net"
  4339. - US Cross Region San Jose Endpoint
  4340. - "s3-api.us-geo.objectstorage.service.networklayer.com"
  4341. - US Cross Region Private Endpoint
  4342. - "s3-api.dal-us-geo.objectstorage.service.networklayer.com"
  4343. - US Cross Region Dallas Private Endpoint
  4344. - "s3-api.wdc-us-geo.objectstorage.service.networklayer.com"
  4345. - US Cross Region Washington DC Private Endpoint
  4346. - "s3-api.sjc-us-geo.objectstorage.service.networklayer.com"
  4347. - US Cross Region San Jose Private Endpoint
  4348. - "s3.us-east.objectstorage.softlayer.net"
  4349. - US Region East Endpoint
  4350. - "s3.us-east.objectstorage.service.networklayer.com"
  4351. - US Region East Private Endpoint
  4352. - "s3.us-south.objectstorage.softlayer.net"
  4353. - US Region South Endpoint
  4354. - "s3.us-south.objectstorage.service.networklayer.com"
  4355. - US Region South Private Endpoint
  4356. - "s3.eu-geo.objectstorage.softlayer.net"
  4357. - EU Cross Region Endpoint
  4358. - "s3.fra-eu-geo.objectstorage.softlayer.net"
  4359. - EU Cross Region Frankfurt Endpoint
  4360. - "s3.mil-eu-geo.objectstorage.softlayer.net"
  4361. - EU Cross Region Milan Endpoint
  4362. - "s3.ams-eu-geo.objectstorage.softlayer.net"
  4363. - EU Cross Region Amsterdam Endpoint
  4364. - "s3.eu-geo.objectstorage.service.networklayer.com"
  4365. - EU Cross Region Private Endpoint
  4366. - "s3.fra-eu-geo.objectstorage.service.networklayer.com"
  4367. - EU Cross Region Frankfurt Private Endpoint
  4368. - "s3.mil-eu-geo.objectstorage.service.networklayer.com"
  4369. - EU Cross Region Milan Private Endpoint
  4370. - "s3.ams-eu-geo.objectstorage.service.networklayer.com"
  4371. - EU Cross Region Amsterdam Private Endpoint
  4372. - "s3.eu-gb.objectstorage.softlayer.net"
  4373. - Great Britan Endpoint
  4374. - "s3.eu-gb.objectstorage.service.networklayer.com"
  4375. - Great Britan Private Endpoint
  4376. - "s3.ap-geo.objectstorage.softlayer.net"
  4377. - APAC Cross Regional Endpoint
  4378. - "s3.tok-ap-geo.objectstorage.softlayer.net"
  4379. - APAC Cross Regional Tokyo Endpoint
  4380. - "s3.hkg-ap-geo.objectstorage.softlayer.net"
  4381. - APAC Cross Regional HongKong Endpoint
  4382. - "s3.seo-ap-geo.objectstorage.softlayer.net"
  4383. - APAC Cross Regional Seoul Endpoint
  4384. - "s3.ap-geo.objectstorage.service.networklayer.com"
  4385. - APAC Cross Regional Private Endpoint
  4386. - "s3.tok-ap-geo.objectstorage.service.networklayer.com"
  4387. - APAC Cross Regional Tokyo Private Endpoint
  4388. - "s3.hkg-ap-geo.objectstorage.service.networklayer.com"
  4389. - APAC Cross Regional HongKong Private Endpoint
  4390. - "s3.seo-ap-geo.objectstorage.service.networklayer.com"
  4391. - APAC Cross Regional Seoul Private Endpoint
  4392. - "s3.mel01.objectstorage.softlayer.net"
  4393. - Melbourne Single Site Endpoint
  4394. - "s3.mel01.objectstorage.service.networklayer.com"
  4395. - Melbourne Single Site Private Endpoint
  4396. - "s3.tor01.objectstorage.softlayer.net"
  4397. - Toronto Single Site Endpoint
  4398. - "s3.tor01.objectstorage.service.networklayer.com"
  4399. - Toronto Single Site Private Endpoint
  4400. --s3-endpoint
  4401. Endpoint for S3 API. Required when using an S3 clone.
  4402. - Config: endpoint
  4403. - Env Var: RCLONE_S3_ENDPOINT
  4404. - Type: string
  4405. - Default: ""
  4406. - Examples:
  4407. - "objects-us-west-1.dream.io"
  4408. - Dream Objects endpoint
  4409. - "nyc3.digitaloceanspaces.com"
  4410. - Digital Ocean Spaces New York 3
  4411. - "ams3.digitaloceanspaces.com"
  4412. - Digital Ocean Spaces Amsterdam 3
  4413. - "sgp1.digitaloceanspaces.com"
  4414. - Digital Ocean Spaces Singapore 1
  4415. - "s3.wasabisys.com"
  4416. - Wasabi Object Storage
  4417. --s3-location-constraint
  4418. Location constraint - must be set to match the Region. Used when
  4419. creating buckets only.
  4420. - Config: location_constraint
  4421. - Env Var: RCLONE_S3_LOCATION_CONSTRAINT
  4422. - Type: string
  4423. - Default: ""
  4424. - Examples:
  4425. - ""
  4426. - Empty for US Region, Northern Virginia or Pacific Northwest.
  4427. - "us-east-2"
  4428. - US East (Ohio) Region.
  4429. - "us-west-2"
  4430. - US West (Oregon) Region.
  4431. - "us-west-1"
  4432. - US West (Northern California) Region.
  4433. - "ca-central-1"
  4434. - Canada (Central) Region.
  4435. - "eu-west-1"
  4436. - EU (Ireland) Region.
  4437. - "eu-west-2"
  4438. - EU (London) Region.
  4439. - "EU"
  4440. - EU Region.
  4441. - "ap-southeast-1"
  4442. - Asia Pacific (Singapore) Region.
  4443. - "ap-southeast-2"
  4444. - Asia Pacific (Sydney) Region.
  4445. - "ap-northeast-1"
  4446. - Asia Pacific (Tokyo) Region.
  4447. - "ap-northeast-2"
  4448. - Asia Pacific (Seoul)
  4449. - "ap-south-1"
  4450. - Asia Pacific (Mumbai)
  4451. - "sa-east-1"
  4452. - South America (Sao Paulo) Region.
  4453. --s3-location-constraint
  4454. Location constraint - must match endpoint when using IBM Cloud Public.
  4455. For on-prem COS, do not make a selection from this list, hit enter
  4456. - Config: location_constraint
  4457. - Env Var: RCLONE_S3_LOCATION_CONSTRAINT
  4458. - Type: string
  4459. - Default: ""
  4460. - Examples:
  4461. - "us-standard"
  4462. - US Cross Region Standard
  4463. - "us-vault"
  4464. - US Cross Region Vault
  4465. - "us-cold"
  4466. - US Cross Region Cold
  4467. - "us-flex"
  4468. - US Cross Region Flex
  4469. - "us-east-standard"
  4470. - US East Region Standard
  4471. - "us-east-vault"
  4472. - US East Region Vault
  4473. - "us-east-cold"
  4474. - US East Region Cold
  4475. - "us-east-flex"
  4476. - US East Region Flex
  4477. - "us-south-standard"
  4478. - US Sout hRegion Standard
  4479. - "us-south-vault"
  4480. - US South Region Vault
  4481. - "us-south-cold"
  4482. - US South Region Cold
  4483. - "us-south-flex"
  4484. - US South Region Flex
  4485. - "eu-standard"
  4486. - EU Cross Region Standard
  4487. - "eu-vault"
  4488. - EU Cross Region Vault
  4489. - "eu-cold"
  4490. - EU Cross Region Cold
  4491. - "eu-flex"
  4492. - EU Cross Region Flex
  4493. - "eu-gb-standard"
  4494. - Great Britan Standard
  4495. - "eu-gb-vault"
  4496. - Great Britan Vault
  4497. - "eu-gb-cold"
  4498. - Great Britan Cold
  4499. - "eu-gb-flex"
  4500. - Great Britan Flex
  4501. - "ap-standard"
  4502. - APAC Standard
  4503. - "ap-vault"
  4504. - APAC Vault
  4505. - "ap-cold"
  4506. - APAC Cold
  4507. - "ap-flex"
  4508. - APAC Flex
  4509. - "mel01-standard"
  4510. - Melbourne Standard
  4511. - "mel01-vault"
  4512. - Melbourne Vault
  4513. - "mel01-cold"
  4514. - Melbourne Cold
  4515. - "mel01-flex"
  4516. - Melbourne Flex
  4517. - "tor01-standard"
  4518. - Toronto Standard
  4519. - "tor01-vault"
  4520. - Toronto Vault
  4521. - "tor01-cold"
  4522. - Toronto Cold
  4523. - "tor01-flex"
  4524. - Toronto Flex
  4525. --s3-location-constraint
  4526. Location constraint - must be set to match the Region. Leave blank if
  4527. not sure. Used when creating buckets only.
  4528. - Config: location_constraint
  4529. - Env Var: RCLONE_S3_LOCATION_CONSTRAINT
  4530. - Type: string
  4531. - Default: ""
  4532. --s3-acl
  4533. Canned ACL used when creating buckets and/or storing objects in S3. For
  4534. more info visit
  4535. https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  4536. - Config: acl
  4537. - Env Var: RCLONE_S3_ACL
  4538. - Type: string
  4539. - Default: ""
  4540. - Examples:
  4541. - "private"
  4542. - Owner gets FULL_CONTROL. No one else has access rights
  4543. (default).
  4544. - "public-read"
  4545. - Owner gets FULL_CONTROL. The AllUsers group gets READ
  4546. access.
  4547. - "public-read-write"
  4548. - Owner gets FULL_CONTROL. The AllUsers group gets READ and
  4549. WRITE access.
  4550. - Granting this on a bucket is generally not recommended.
  4551. - "authenticated-read"
  4552. - Owner gets FULL_CONTROL. The AuthenticatedUsers group gets
  4553. READ access.
  4554. - "bucket-owner-read"
  4555. - Object owner gets FULL_CONTROL. Bucket owner gets READ
  4556. access.
  4557. - If you specify this canned ACL when creating a bucket,
  4558. Amazon S3 ignores it.
  4559. - "bucket-owner-full-control"
  4560. - Both the object owner and the bucket owner get FULL_CONTROL
  4561. over the object.
  4562. - If you specify this canned ACL when creating a bucket,
  4563. Amazon S3 ignores it.
  4564. - "private"
  4565. - Owner gets FULL_CONTROL. No one else has access rights
  4566. (default). This acl is available on IBM Cloud (Infra), IBM
  4567. Cloud (Storage), On-Premise COS
  4568. - "public-read"
  4569. - Owner gets FULL_CONTROL. The AllUsers group gets READ
  4570. access. This acl is available on IBM Cloud (Infra), IBM
  4571. Cloud (Storage), On-Premise IBM COS
  4572. - "public-read-write"
  4573. - Owner gets FULL_CONTROL. The AllUsers group gets READ and
  4574. WRITE access. This acl is available on IBM Cloud (Infra),
  4575. On-Premise IBM COS
  4576. - "authenticated-read"
  4577. - Owner gets FULL_CONTROL. The AuthenticatedUsers group gets
  4578. READ access. Not supported on Buckets. This acl is available
  4579. on IBM Cloud (Infra) and On-Premise IBM COS
  4580. --s3-server-side-encryption
  4581. The server-side encryption algorithm used when storing this object in
  4582. S3.
  4583. - Config: server_side_encryption
  4584. - Env Var: RCLONE_S3_SERVER_SIDE_ENCRYPTION
  4585. - Type: string
  4586. - Default: ""
  4587. - Examples:
  4588. - ""
  4589. - None
  4590. - "AES256"
  4591. - AES256
  4592. - "aws:kms"
  4593. - aws:kms
  4594. --s3-sse-kms-key-id
  4595. If using KMS ID you must provide the ARN of Key.
  4596. - Config: sse_kms_key_id
  4597. - Env Var: RCLONE_S3_SSE_KMS_KEY_ID
  4598. - Type: string
  4599. - Default: ""
  4600. - Examples:
  4601. - ""
  4602. - None
  4603. - "arn:aws:kms:us-east-1:*"
  4604. - arn:aws:kms:*
  4605. --s3-storage-class
  4606. The storage class to use when storing new objects in S3.
  4607. - Config: storage_class
  4608. - Env Var: RCLONE_S3_STORAGE_CLASS
  4609. - Type: string
  4610. - Default: ""
  4611. - Examples:
  4612. - ""
  4613. - Default
  4614. - "STANDARD"
  4615. - Standard storage class
  4616. - "REDUCED_REDUNDANCY"
  4617. - Reduced redundancy storage class
  4618. - "STANDARD_IA"
  4619. - Standard Infrequent Access storage class
  4620. - "ONEZONE_IA"
  4621. - One Zone Infrequent Access storage class
  4622. Advanced Options
  4623. Here are the advanced options specific to s3 (Amazon S3 Compliant
  4624. Storage Providers (AWS, Ceph, Dreamhost, IBM COS, Minio)).
  4625. --s3-chunk-size
  4626. Chunk size to use for uploading.
  4627. Any files larger than this will be uploaded in chunks of this size. The
  4628. default is 5MB. The minimum is 5MB.
  4629. Note that "--s3-upload-concurrency" chunks of this size are buffered in
  4630. memory per transfer.
  4631. If you are transferring large files over high speed links and you have
  4632. enough memory, then increasing this will speed up the transfers.
  4633. - Config: chunk_size
  4634. - Env Var: RCLONE_S3_CHUNK_SIZE
  4635. - Type: SizeSuffix
  4636. - Default: 5M
  4637. --s3-disable-checksum
  4638. Don't store MD5 checksum with object metadata
  4639. - Config: disable_checksum
  4640. - Env Var: RCLONE_S3_DISABLE_CHECKSUM
  4641. - Type: bool
  4642. - Default: false
  4643. --s3-session-token
  4644. An AWS session token
  4645. - Config: session_token
  4646. - Env Var: RCLONE_S3_SESSION_TOKEN
  4647. - Type: string
  4648. - Default: ""
  4649. --s3-upload-concurrency
  4650. Concurrency for multipart uploads.
  4651. This is the number of chunks of the same file that are uploaded
  4652. concurrently.
  4653. If you are uploading small numbers of large file over high speed link
  4654. and these uploads do not fully utilize your bandwidth, then increasing
  4655. this may help to speed up the transfers.
  4656. - Config: upload_concurrency
  4657. - Env Var: RCLONE_S3_UPLOAD_CONCURRENCY
  4658. - Type: int
  4659. - Default: 2
  4660. --s3-force-path-style
  4661. If true use path style access if false use virtual hosted style.
  4662. If this is true (the default) then rclone will use path style access, if
  4663. false then rclone will use virtual path style. See the AWS S3 docs for
  4664. more info.
  4665. Some providers (eg Aliyun OSS or Netease COS) require this set to false.
  4666. - Config: force_path_style
  4667. - Env Var: RCLONE_S3_FORCE_PATH_STYLE
  4668. - Type: bool
  4669. - Default: true
  4670. --s3-v2-auth
  4671. If true use v2 authentication.
  4672. If this is false (the default) then rclone will use v4 authentication.
  4673. If it is set then rclone will use v2 authentication.
  4674. Use this only if v4 signatures don't work, eg pre Jewel/v10 CEPH.
  4675. - Config: v2_auth
  4676. - Env Var: RCLONE_S3_V2_AUTH
  4677. - Type: bool
  4678. - Default: false
  4679. Anonymous access to public buckets
  4680. If you want to use rclone to access a public bucket, configure with a
  4681. blank access_key_id and secret_access_key. Your config should end up
  4682. looking like this:
  4683. [anons3]
  4684. type = s3
  4685. provider = AWS
  4686. env_auth = false
  4687. access_key_id =
  4688. secret_access_key =
  4689. region = us-east-1
  4690. endpoint =
  4691. location_constraint =
  4692. acl = private
  4693. server_side_encryption =
  4694. storage_class =
  4695. Then use it as normal with the name of the public bucket, eg
  4696. rclone lsd anons3:1000genomes
  4697. You will be able to list and copy data but not upload it.
  4698. Ceph
  4699. Ceph is an open source unified, distributed storage system designed for
  4700. excellent performance, reliability and scalability. It has an S3
  4701. compatible object storage interface.
  4702. To use rclone with Ceph, configure as above but leave the region blank
  4703. and set the endpoint. You should end up with something like this in your
  4704. config:
  4705. [ceph]
  4706. type = s3
  4707. provider = Ceph
  4708. env_auth = false
  4709. access_key_id = XXX
  4710. secret_access_key = YYY
  4711. region =
  4712. endpoint = https://ceph.endpoint.example.com
  4713. location_constraint =
  4714. acl =
  4715. server_side_encryption =
  4716. storage_class =
  4717. Note also that Ceph sometimes puts / in the passwords it gives users. If
  4718. you read the secret access key using the command line tools you will get
  4719. a JSON blob with the / escaped as \/. Make sure you only write / in the
  4720. secret access key.
  4721. Eg the dump from Ceph looks something like this (irrelevant keys
  4722. removed).
  4723. {
  4724. "user_id": "xxx",
  4725. "display_name": "xxxx",
  4726. "keys": [
  4727. {
  4728. "user": "xxx",
  4729. "access_key": "xxxxxx",
  4730. "secret_key": "xxxxxx\/xxxx"
  4731. }
  4732. ],
  4733. }
  4734. Because this is a json dump, it is encoding the / as \/, so if you use
  4735. the secret key as xxxxxx/xxxx it will work fine.
  4736. Dreamhost
  4737. Dreamhost DreamObjects is an object storage system based on CEPH.
  4738. To use rclone with Dreamhost, configure as above but leave the region
  4739. blank and set the endpoint. You should end up with something like this
  4740. in your config:
  4741. [dreamobjects]
  4742. type = s3
  4743. provider = DreamHost
  4744. env_auth = false
  4745. access_key_id = your_access_key
  4746. secret_access_key = your_secret_key
  4747. region =
  4748. endpoint = objects-us-west-1.dream.io
  4749. location_constraint =
  4750. acl = private
  4751. server_side_encryption =
  4752. storage_class =
  4753. DigitalOcean Spaces
  4754. Spaces is an S3-interoperable object storage service from cloud provider
  4755. DigitalOcean.
  4756. To connect to DigitalOcean Spaces you will need an access key and secret
  4757. key. These can be retrieved on the "Applications & API" page of the
  4758. DigitalOcean control panel. They will be needed when promted by
  4759. rclone config for your access_key_id and secret_access_key.
  4760. When prompted for a region or location_constraint, press enter to use
  4761. the default value. The region must be included in the endpoint setting
  4762. (e.g. nyc3.digitaloceanspaces.com). The defualt values can be used for
  4763. other settings.
  4764. Going through the whole process of creating a new remote by running
  4765. rclone config, each prompt should be answered as shown below:
  4766. Storage> s3
  4767. env_auth> 1
  4768. access_key_id> YOUR_ACCESS_KEY
  4769. secret_access_key> YOUR_SECRET_KEY
  4770. region>
  4771. endpoint> nyc3.digitaloceanspaces.com
  4772. location_constraint>
  4773. acl>
  4774. storage_class>
  4775. The resulting configuration file should look like:
  4776. [spaces]
  4777. type = s3
  4778. provider = DigitalOcean
  4779. env_auth = false
  4780. access_key_id = YOUR_ACCESS_KEY
  4781. secret_access_key = YOUR_SECRET_KEY
  4782. region =
  4783. endpoint = nyc3.digitaloceanspaces.com
  4784. location_constraint =
  4785. acl =
  4786. server_side_encryption =
  4787. storage_class =
  4788. Once configured, you can create a new Space and begin copying files. For
  4789. example:
  4790. rclone mkdir spaces:my-new-space
  4791. rclone copy /path/to/files spaces:my-new-space
  4792. IBM COS (S3)
  4793. Information stored with IBM Cloud Object Storage is encrypted and
  4794. dispersed across multiple geographic locations, and accessed through an
  4795. implementation of the S3 API. This service makes use of the distributed
  4796. storage technologies provided by IBM’s Cloud Object Storage System
  4797. (formerly Cleversafe). For more information visit:
  4798. (http://www.ibm.com/cloud/object-storage)
  4799. To configure access to IBM COS S3, follow the steps below:
  4800. 1. Run rclone config and select n for a new remote.
  4801. 2018/02/14 14:13:11 NOTICE: Config file "C:\\Users\\a\\.config\\rclone\\rclone.conf" not found - using defaults
  4802. No remotes found - make a new one
  4803. n) New remote
  4804. s) Set configuration password
  4805. q) Quit config
  4806. n/s/q> n
  4807. 2. Enter the name for the configuration
  4808. name> <YOUR NAME>
  4809. 3. Select "s3" storage.
  4810. Choose a number from below, or type in your own value
  4811. 1 / Alias for a existing remote
  4812. \ "alias"
  4813. 2 / Amazon Drive
  4814. \ "amazon cloud drive"
  4815. 3 / Amazon S3 Complaint Storage Providers (Dreamhost, Ceph, Minio, IBM COS)
  4816. \ "s3"
  4817. 4 / Backblaze B2
  4818. \ "b2"
  4819. [snip]
  4820. 23 / http Connection
  4821. \ "http"
  4822. Storage> 3
  4823. 4. Select IBM COS as the S3 Storage Provider.
  4824. Choose the S3 provider.
  4825. Choose a number from below, or type in your own value
  4826. 1 / Choose this option to configure Storage to AWS S3
  4827. \ "AWS"
  4828. 2 / Choose this option to configure Storage to Ceph Systems
  4829. \ "Ceph"
  4830. 3 / Choose this option to configure Storage to Dreamhost
  4831. \ "Dreamhost"
  4832. 4 / Choose this option to the configure Storage to IBM COS S3
  4833. \ "IBMCOS"
  4834. 5 / Choose this option to the configure Storage to Minio
  4835. \ "Minio"
  4836. Provider>4
  4837. 5. Enter the Access Key and Secret.
  4838. AWS Access Key ID - leave blank for anonymous access or runtime credentials.
  4839. access_key_id> <>
  4840. AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
  4841. secret_access_key> <>
  4842. 6. Specify the endpoint for IBM COS. For Public IBM COS, choose from
  4843. the option below. For On Premise IBM COS, enter an enpoint address.
  4844. Endpoint for IBM COS S3 API.
  4845. Specify if using an IBM COS On Premise.
  4846. Choose a number from below, or type in your own value
  4847. 1 / US Cross Region Endpoint
  4848. \ "s3-api.us-geo.objectstorage.softlayer.net"
  4849. 2 / US Cross Region Dallas Endpoint
  4850. \ "s3-api.dal.us-geo.objectstorage.softlayer.net"
  4851. 3 / US Cross Region Washington DC Endpoint
  4852. \ "s3-api.wdc-us-geo.objectstorage.softlayer.net"
  4853. 4 / US Cross Region San Jose Endpoint
  4854. \ "s3-api.sjc-us-geo.objectstorage.softlayer.net"
  4855. 5 / US Cross Region Private Endpoint
  4856. \ "s3-api.us-geo.objectstorage.service.networklayer.com"
  4857. 6 / US Cross Region Dallas Private Endpoint
  4858. \ "s3-api.dal-us-geo.objectstorage.service.networklayer.com"
  4859. 7 / US Cross Region Washington DC Private Endpoint
  4860. \ "s3-api.wdc-us-geo.objectstorage.service.networklayer.com"
  4861. 8 / US Cross Region San Jose Private Endpoint
  4862. \ "s3-api.sjc-us-geo.objectstorage.service.networklayer.com"
  4863. 9 / US Region East Endpoint
  4864. \ "s3.us-east.objectstorage.softlayer.net"
  4865. 10 / US Region East Private Endpoint
  4866. \ "s3.us-east.objectstorage.service.networklayer.com"
  4867. 11 / US Region South Endpoint
  4868. [snip]
  4869. 34 / Toronto Single Site Private Endpoint
  4870. \ "s3.tor01.objectstorage.service.networklayer.com"
  4871. endpoint>1
  4872. 7. Specify a IBM COS Location Constraint. The location constraint must
  4873. match endpoint when using IBM Cloud Public. For on-prem COS, do not
  4874. make a selection from this list, hit enter
  4875. 1 / US Cross Region Standard
  4876. \ "us-standard"
  4877. 2 / US Cross Region Vault
  4878. \ "us-vault"
  4879. 3 / US Cross Region Cold
  4880. \ "us-cold"
  4881. 4 / US Cross Region Flex
  4882. \ "us-flex"
  4883. 5 / US East Region Standard
  4884. \ "us-east-standard"
  4885. 6 / US East Region Vault
  4886. \ "us-east-vault"
  4887. 7 / US East Region Cold
  4888. \ "us-east-cold"
  4889. 8 / US East Region Flex
  4890. \ "us-east-flex"
  4891. 9 / US South Region Standard
  4892. \ "us-south-standard"
  4893. 10 / US South Region Vault
  4894. \ "us-south-vault"
  4895. [snip]
  4896. 32 / Toronto Flex
  4897. \ "tor01-flex"
  4898. location_constraint>1
  4899. 8. Specify a canned ACL. IBM Cloud (Strorage) supports "public-read"
  4900. and "private". IBM Cloud(Infra) supports all the canned ACLs.
  4901. On-Premise COS supports all the canned ACLs.
  4902. Canned ACL used when creating buckets and/or storing objects in S3.
  4903. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  4904. Choose a number from below, or type in your own value
  4905. 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
  4906. \ "private"
  4907. 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
  4908. \ "public-read"
  4909. 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
  4910. \ "public-read-write"
  4911. 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
  4912. \ "authenticated-read"
  4913. acl> 1
  4914. 9. Review the displayed configuration and accept to save the "remote"
  4915. then quit. The config file should look like this
  4916. [xxx]
  4917. type = s3
  4918. Provider = IBMCOS
  4919. access_key_id = xxx
  4920. secret_access_key = yyy
  4921. endpoint = s3-api.us-geo.objectstorage.softlayer.net
  4922. location_constraint = us-standard
  4923. acl = private
  4924. 10. Execute rclone commands
  4925. 1) Create a bucket.
  4926. rclone mkdir IBM-COS-XREGION:newbucket
  4927. 2) List available buckets.
  4928. rclone lsd IBM-COS-XREGION:
  4929. -1 2017-11-08 21:16:22 -1 test
  4930. -1 2018-02-14 20:16:39 -1 newbucket
  4931. 3) List contents of a bucket.
  4932. rclone ls IBM-COS-XREGION:newbucket
  4933. 18685952 test.exe
  4934. 4) Copy a file from local to remote.
  4935. rclone copy /Users/file.txt IBM-COS-XREGION:newbucket
  4936. 5) Copy a file from remote to local.
  4937. rclone copy IBM-COS-XREGION:newbucket/file.txt .
  4938. 6) Delete a file on remote.
  4939. rclone delete IBM-COS-XREGION:newbucket/file.txt
  4940. Minio
  4941. Minio is an object storage server built for cloud application developers
  4942. and devops.
  4943. It is very easy to install and provides an S3 compatible server which
  4944. can be used by rclone.
  4945. To use it, install Minio following the instructions here.
  4946. When it configures itself Minio will print something like this
  4947. Endpoint: http://192.168.1.106:9000 http://172.23.0.1:9000
  4948. AccessKey: USWUXHGYZQYFYFFIT3RE
  4949. SecretKey: MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
  4950. Region: us-east-1
  4951. SQS ARNs: arn:minio:sqs:us-east-1:1:redis arn:minio:sqs:us-east-1:2:redis
  4952. Browser Access:
  4953. http://192.168.1.106:9000 http://172.23.0.1:9000
  4954. Command-line Access: https://docs.minio.io/docs/minio-client-quickstart-guide
  4955. $ mc config host add myminio http://192.168.1.106:9000 USWUXHGYZQYFYFFIT3RE MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
  4956. Object API (Amazon S3 compatible):
  4957. Go: https://docs.minio.io/docs/golang-client-quickstart-guide
  4958. Java: https://docs.minio.io/docs/java-client-quickstart-guide
  4959. Python: https://docs.minio.io/docs/python-client-quickstart-guide
  4960. JavaScript: https://docs.minio.io/docs/javascript-client-quickstart-guide
  4961. .NET: https://docs.minio.io/docs/dotnet-client-quickstart-guide
  4962. Drive Capacity: 26 GiB Free, 165 GiB Total
  4963. These details need to go into rclone config like this. Note that it is
  4964. important to put the region in as stated above.
  4965. env_auth> 1
  4966. access_key_id> USWUXHGYZQYFYFFIT3RE
  4967. secret_access_key> MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
  4968. region> us-east-1
  4969. endpoint> http://192.168.1.106:9000
  4970. location_constraint>
  4971. server_side_encryption>
  4972. Which makes the config file look like this
  4973. [minio]
  4974. type = s3
  4975. provider = Minio
  4976. env_auth = false
  4977. access_key_id = USWUXHGYZQYFYFFIT3RE
  4978. secret_access_key = MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
  4979. region = us-east-1
  4980. endpoint = http://192.168.1.106:9000
  4981. location_constraint =
  4982. server_side_encryption =
  4983. So once set up, for example to copy files into a bucket
  4984. rclone copy /path/to/files minio:bucket
  4985. Wasabi
  4986. Wasabi is a cloud-based object storage service for a broad range of
  4987. applications and use cases. Wasabi is designed for individuals and
  4988. organizations that require a high-performance, reliable, and secure data
  4989. storage infrastructure at minimal cost.
  4990. Wasabi provides an S3 interface which can be configured for use with
  4991. rclone like this.
  4992. No remotes found - make a new one
  4993. n) New remote
  4994. s) Set configuration password
  4995. n/s> n
  4996. name> wasabi
  4997. Type of storage to configure.
  4998. Choose a number from below, or type in your own value
  4999. 1 / Amazon Drive
  5000. \ "amazon cloud drive"
  5001. 2 / Amazon S3 (also Dreamhost, Ceph, Minio)
  5002. \ "s3"
  5003. [snip]
  5004. Storage> s3
  5005. 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.
  5006. Choose a number from below, or type in your own value
  5007. 1 / Enter AWS credentials in the next step
  5008. \ "false"
  5009. 2 / Get AWS credentials from the environment (env vars or IAM)
  5010. \ "true"
  5011. env_auth> 1
  5012. AWS Access Key ID - leave blank for anonymous access or runtime credentials.
  5013. access_key_id> YOURACCESSKEY
  5014. AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
  5015. secret_access_key> YOURSECRETACCESSKEY
  5016. Region to connect to.
  5017. Choose a number from below, or type in your own value
  5018. / The default endpoint - a good choice if you are unsure.
  5019. 1 | US Region, Northern Virginia or Pacific Northwest.
  5020. | Leave location constraint empty.
  5021. \ "us-east-1"
  5022. [snip]
  5023. region> us-east-1
  5024. Endpoint for S3 API.
  5025. Leave blank if using AWS to use the default endpoint for the region.
  5026. Specify if using an S3 clone such as Ceph.
  5027. endpoint> s3.wasabisys.com
  5028. Location constraint - must be set to match the Region. Used when creating buckets only.
  5029. Choose a number from below, or type in your own value
  5030. 1 / Empty for US Region, Northern Virginia or Pacific Northwest.
  5031. \ ""
  5032. [snip]
  5033. location_constraint>
  5034. Canned ACL used when creating buckets and/or storing objects in S3.
  5035. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  5036. Choose a number from below, or type in your own value
  5037. 1 / Owner gets FULL_CONTROL. No one else has access rights (default).
  5038. \ "private"
  5039. [snip]
  5040. acl>
  5041. The server-side encryption algorithm used when storing this object in S3.
  5042. Choose a number from below, or type in your own value
  5043. 1 / None
  5044. \ ""
  5045. 2 / AES256
  5046. \ "AES256"
  5047. server_side_encryption>
  5048. The storage class to use when storing objects in S3.
  5049. Choose a number from below, or type in your own value
  5050. 1 / Default
  5051. \ ""
  5052. 2 / Standard storage class
  5053. \ "STANDARD"
  5054. 3 / Reduced redundancy storage class
  5055. \ "REDUCED_REDUNDANCY"
  5056. 4 / Standard Infrequent Access storage class
  5057. \ "STANDARD_IA"
  5058. storage_class>
  5059. Remote config
  5060. --------------------
  5061. [wasabi]
  5062. env_auth = false
  5063. access_key_id = YOURACCESSKEY
  5064. secret_access_key = YOURSECRETACCESSKEY
  5065. region = us-east-1
  5066. endpoint = s3.wasabisys.com
  5067. location_constraint =
  5068. acl =
  5069. server_side_encryption =
  5070. storage_class =
  5071. --------------------
  5072. y) Yes this is OK
  5073. e) Edit this remote
  5074. d) Delete this remote
  5075. y/e/d> y
  5076. This will leave the config file looking like this.
  5077. [wasabi]
  5078. type = s3
  5079. provider = Wasabi
  5080. env_auth = false
  5081. access_key_id = YOURACCESSKEY
  5082. secret_access_key = YOURSECRETACCESSKEY
  5083. region =
  5084. endpoint = s3.wasabisys.com
  5085. location_constraint =
  5086. acl =
  5087. server_side_encryption =
  5088. storage_class =
  5089. Aliyun OSS / Netease NOS
  5090. This describes how to set up Aliyun OSS - Netease NOS is the same except
  5091. for different endpoints.
  5092. Note this is a pretty standard S3 setup, except for the setting of
  5093. force_path_style = false in the advanced config.
  5094. # rclone config
  5095. e/n/d/r/c/s/q> n
  5096. name> oss
  5097. Type of storage to configure.
  5098. Enter a string value. Press Enter for the default ("").
  5099. Choose a number from below, or type in your own value
  5100. 3 / Amazon S3 Compliant Storage Providers (AWS, Ceph, Dreamhost, IBM COS, Minio)
  5101. \ "s3"
  5102. Storage> s3
  5103. Choose your S3 provider.
  5104. Enter a string value. Press Enter for the default ("").
  5105. Choose a number from below, or type in your own value
  5106. 8 / Any other S3 compatible provider
  5107. \ "Other"
  5108. provider> other
  5109. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
  5110. Only applies if access_key_id and secret_access_key is blank.
  5111. Enter a boolean value (true or false). Press Enter for the default ("false").
  5112. Choose a number from below, or type in your own value
  5113. 1 / Enter AWS credentials in the next step
  5114. \ "false"
  5115. 2 / Get AWS credentials from the environment (env vars or IAM)
  5116. \ "true"
  5117. env_auth> 1
  5118. AWS Access Key ID.
  5119. Leave blank for anonymous access or runtime credentials.
  5120. Enter a string value. Press Enter for the default ("").
  5121. access_key_id> xxxxxxxxxxxx
  5122. AWS Secret Access Key (password)
  5123. Leave blank for anonymous access or runtime credentials.
  5124. Enter a string value. Press Enter for the default ("").
  5125. secret_access_key> xxxxxxxxxxxxxxxxx
  5126. Region to connect to.
  5127. Leave blank if you are using an S3 clone and you don't have a region.
  5128. Enter a string value. Press Enter for the default ("").
  5129. Choose a number from below, or type in your own value
  5130. 1 / Use this if unsure. Will use v4 signatures and an empty region.
  5131. \ ""
  5132. 2 / Use this only if v4 signatures don't work, eg pre Jewel/v10 CEPH.
  5133. \ "other-v2-signature"
  5134. region> 1
  5135. Endpoint for S3 API.
  5136. Required when using an S3 clone.
  5137. Enter a string value. Press Enter for the default ("").
  5138. Choose a number from below, or type in your own value
  5139. endpoint> oss-cn-shenzhen.aliyuncs.com
  5140. Location constraint - must be set to match the Region.
  5141. Leave blank if not sure. Used when creating buckets only.
  5142. Enter a string value. Press Enter for the default ("").
  5143. location_constraint>
  5144. Canned ACL used when creating buckets and/or storing objects in S3.
  5145. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  5146. Enter a string value. Press Enter for the default ("").
  5147. Choose a number from below, or type in your own value
  5148. 1 / Owner gets FULL_CONTROL. No one else has access rights (default).
  5149. \ "private"
  5150. acl> 1
  5151. Edit advanced config? (y/n)
  5152. y) Yes
  5153. n) No
  5154. y/n> y
  5155. Chunk size to use for uploading
  5156. Enter a size with suffix k,M,G,T. Press Enter for the default ("5M").
  5157. chunk_size>
  5158. Don't store MD5 checksum with object metadata
  5159. Enter a boolean value (true or false). Press Enter for the default ("false").
  5160. disable_checksum>
  5161. An AWS session token
  5162. Enter a string value. Press Enter for the default ("").
  5163. session_token>
  5164. Concurrency for multipart uploads.
  5165. Enter a signed integer. Press Enter for the default ("2").
  5166. upload_concurrency>
  5167. If true use path style access if false use virtual hosted style.
  5168. Some providers (eg Aliyun OSS or Netease COS) require this.
  5169. Enter a boolean value (true or false). Press Enter for the default ("true").
  5170. force_path_style> false
  5171. Remote config
  5172. --------------------
  5173. [oss]
  5174. type = s3
  5175. provider = Other
  5176. env_auth = false
  5177. access_key_id = xxxxxxxxx
  5178. secret_access_key = xxxxxxxxxxxxx
  5179. endpoint = oss-cn-shenzhen.aliyuncs.com
  5180. acl = private
  5181. force_path_style = false
  5182. --------------------
  5183. y) Yes this is OK
  5184. e) Edit this remote
  5185. d) Delete this remote
  5186. y/e/d> y
  5187. Backblaze B2
  5188. B2 is Backblaze's cloud storage system.
  5189. Paths are specified as remote:bucket (or remote: for the lsd command.)
  5190. You may put subdirectories in too, eg remote:bucket/path/to/dir.
  5191. Here is an example of making a b2 configuration. First run
  5192. rclone config
  5193. This will guide you through an interactive setup process. You will need
  5194. your account number (a short hex number) and key (a long hex number)
  5195. which you can get from the b2 control panel.
  5196. No remotes found - make a new one
  5197. n) New remote
  5198. q) Quit config
  5199. n/q> n
  5200. name> remote
  5201. Type of storage to configure.
  5202. Choose a number from below, or type in your own value
  5203. 1 / Amazon Drive
  5204. \ "amazon cloud drive"
  5205. 2 / Amazon S3 (also Dreamhost, Ceph, Minio)
  5206. \ "s3"
  5207. 3 / Backblaze B2
  5208. \ "b2"
  5209. 4 / Dropbox
  5210. \ "dropbox"
  5211. 5 / Encrypt/Decrypt a remote
  5212. \ "crypt"
  5213. 6 / Google Cloud Storage (this is not Google Drive)
  5214. \ "google cloud storage"
  5215. 7 / Google Drive
  5216. \ "drive"
  5217. 8 / Hubic
  5218. \ "hubic"
  5219. 9 / Local Disk
  5220. \ "local"
  5221. 10 / Microsoft OneDrive
  5222. \ "onedrive"
  5223. 11 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
  5224. \ "swift"
  5225. 12 / SSH/SFTP Connection
  5226. \ "sftp"
  5227. 13 / Yandex Disk
  5228. \ "yandex"
  5229. Storage> 3
  5230. Account ID or Application Key ID
  5231. account> 123456789abc
  5232. Application Key
  5233. key> 0123456789abcdef0123456789abcdef0123456789
  5234. Endpoint for the service - leave blank normally.
  5235. endpoint>
  5236. Remote config
  5237. --------------------
  5238. [remote]
  5239. account = 123456789abc
  5240. key = 0123456789abcdef0123456789abcdef0123456789
  5241. endpoint =
  5242. --------------------
  5243. y) Yes this is OK
  5244. e) Edit this remote
  5245. d) Delete this remote
  5246. y/e/d> y
  5247. This remote is called remote and can now be used like this
  5248. See all buckets
  5249. rclone lsd remote:
  5250. Create a new bucket
  5251. rclone mkdir remote:bucket
  5252. List the contents of a bucket
  5253. rclone ls remote:bucket
  5254. Sync /home/local/directory to the remote bucket, deleting any excess
  5255. files in the bucket.
  5256. rclone sync /home/local/directory remote:bucket
  5257. Application Keys
  5258. B2 supports multiple Application Keys for different access permission to
  5259. B2 Buckets.
  5260. You can use these with rclone too.
  5261. Follow Backblaze's docs to create an Application Key with the required
  5262. permission and add the Application Key ID as the account and the
  5263. Application Key itself as the key.
  5264. Note that you must put the Application Key ID as the account - you can't
  5265. use the master Account ID. If you try then B2 will return 401 errors.
  5266. --fast-list
  5267. This remote supports --fast-list which allows you to use fewer
  5268. transactions in exchange for more memory. See the rclone docs for more
  5269. details.
  5270. Modified time
  5271. The modified time is stored as metadata on the object as
  5272. X-Bz-Info-src_last_modified_millis as milliseconds since 1970-01-01 in
  5273. the Backblaze standard. Other tools should be able to use this as a
  5274. modified time.
  5275. Modified times are used in syncing and are fully supported except in the
  5276. case of updating a modification time on an existing object. In this case
  5277. the object will be uploaded again as B2 doesn't have an API method to
  5278. set the modification time independent of doing an upload.
  5279. SHA1 checksums
  5280. The SHA1 checksums of the files are checked on upload and download and
  5281. will be used in the syncing process.
  5282. Large files (bigger than the limit in --b2-upload-cutoff) which are
  5283. uploaded in chunks will store their SHA1 on the object as
  5284. X-Bz-Info-large_file_sha1 as recommended by Backblaze.
  5285. For a large file to be uploaded with an SHA1 checksum, the source needs
  5286. to support SHA1 checksums. The local disk supports SHA1 checksums so
  5287. large file transfers from local disk will have an SHA1. See the overview
  5288. for exactly which remotes support SHA1.
  5289. Sources which don't support SHA1, in particular crypt will upload large
  5290. files without SHA1 checksums. This may be fixed in the future (see
  5291. #1767).
  5292. Files sizes below --b2-upload-cutoff will always have an SHA1 regardless
  5293. of the source.
  5294. Transfers
  5295. Backblaze recommends that you do lots of transfers simultaneously for
  5296. maximum speed. In tests from my SSD equipped laptop the optimum setting
  5297. is about --transfers 32 though higher numbers may be used for a slight
  5298. speed improvement. The optimum number for you may vary depending on your
  5299. hardware, how big the files are, how much you want to load your
  5300. computer, etc. The default of --transfers 4 is definitely too low for
  5301. Backblaze B2 though.
  5302. Note that uploading big files (bigger than 200 MB by default) will use a
  5303. 96 MB RAM buffer by default. There can be at most --transfers of these
  5304. in use at any moment, so this sets the upper limit on the memory used.
  5305. Versions
  5306. When rclone uploads a new version of a file it creates a new version of
  5307. it. Likewise when you delete a file, the old version will be marked
  5308. hidden and still be available. Conversely, you may opt in to a "hard
  5309. delete" of files with the --b2-hard-delete flag which would permanently
  5310. remove the file instead of hiding it.
  5311. Old versions of files, where available, are visible using the
  5312. --b2-versions flag.
  5313. If you wish to remove all the old versions then you can use the
  5314. rclone cleanup remote:bucket command which will delete all the old
  5315. versions of files, leaving the current ones intact. You can also supply
  5316. a path and only old versions under that path will be deleted, eg
  5317. rclone cleanup remote:bucket/path/to/stuff.
  5318. Note that cleanup does not remove partially uploaded files from the
  5319. bucket.
  5320. When you purge a bucket, the current and the old versions will be
  5321. deleted then the bucket will be deleted.
  5322. However delete will cause the current versions of the files to become
  5323. hidden old versions.
  5324. Here is a session showing the listing and retrieval of an old version
  5325. followed by a cleanup of the old versions.
  5326. Show current version and all the versions with --b2-versions flag.
  5327. $ rclone -q ls b2:cleanup-test
  5328. 9 one.txt
  5329. $ rclone -q --b2-versions ls b2:cleanup-test
  5330. 9 one.txt
  5331. 8 one-v2016-07-04-141032-000.txt
  5332. 16 one-v2016-07-04-141003-000.txt
  5333. 15 one-v2016-07-02-155621-000.txt
  5334. Retrieve an old version
  5335. $ rclone -q --b2-versions copy b2:cleanup-test/one-v2016-07-04-141003-000.txt /tmp
  5336. $ ls -l /tmp/one-v2016-07-04-141003-000.txt
  5337. -rw-rw-r-- 1 ncw ncw 16 Jul 2 17:46 /tmp/one-v2016-07-04-141003-000.txt
  5338. Clean up all the old versions and show that they've gone.
  5339. $ rclone -q cleanup b2:cleanup-test
  5340. $ rclone -q ls b2:cleanup-test
  5341. 9 one.txt
  5342. $ rclone -q --b2-versions ls b2:cleanup-test
  5343. 9 one.txt
  5344. Data usage
  5345. It is useful to know how many requests are sent to the server in
  5346. different scenarios.
  5347. All copy commands send the following 4 requests:
  5348. /b2api/v1/b2_authorize_account
  5349. /b2api/v1/b2_create_bucket
  5350. /b2api/v1/b2_list_buckets
  5351. /b2api/v1/b2_list_file_names
  5352. The b2_list_file_names request will be sent once for every 1k files in
  5353. the remote path, providing the checksum and modification time of the
  5354. listed files. As of version 1.33 issue #818 causes extra requests to be
  5355. sent when using B2 with Crypt. When a copy operation does not require
  5356. any files to be uploaded, no more requests will be sent.
  5357. Uploading files that do not require chunking, will send 2 requests per
  5358. file upload:
  5359. /b2api/v1/b2_get_upload_url
  5360. /b2api/v1/b2_upload_file/
  5361. Uploading files requiring chunking, will send 2 requests (one each to
  5362. start and finish the upload) and another 2 requests for each chunk:
  5363. /b2api/v1/b2_start_large_file
  5364. /b2api/v1/b2_get_upload_part_url
  5365. /b2api/v1/b2_upload_part/
  5366. /b2api/v1/b2_finish_large_file
  5367. Versions
  5368. Versions can be viewd with the --b2-versions flag. When it is set rclone
  5369. will show and act on older versions of files. For example
  5370. Listing without --b2-versions
  5371. $ rclone -q ls b2:cleanup-test
  5372. 9 one.txt
  5373. And with
  5374. $ rclone -q --b2-versions ls b2:cleanup-test
  5375. 9 one.txt
  5376. 8 one-v2016-07-04-141032-000.txt
  5377. 16 one-v2016-07-04-141003-000.txt
  5378. 15 one-v2016-07-02-155621-000.txt
  5379. Showing that the current version is unchanged but older versions can be
  5380. seen. These have the UTC date that they were uploaded to the server to
  5381. the nearest millisecond appended to them.
  5382. Note that when using --b2-versions no file write operations are
  5383. permitted, so you can't upload files or delete them.
  5384. Standard Options
  5385. Here are the standard options specific to b2 (Backblaze B2).
  5386. --b2-account
  5387. Account ID or Application Key ID
  5388. - Config: account
  5389. - Env Var: RCLONE_B2_ACCOUNT
  5390. - Type: string
  5391. - Default: ""
  5392. --b2-key
  5393. Application Key
  5394. - Config: key
  5395. - Env Var: RCLONE_B2_KEY
  5396. - Type: string
  5397. - Default: ""
  5398. --b2-hard-delete
  5399. Permanently delete files on remote removal, otherwise hide files.
  5400. - Config: hard_delete
  5401. - Env Var: RCLONE_B2_HARD_DELETE
  5402. - Type: bool
  5403. - Default: false
  5404. Advanced Options
  5405. Here are the advanced options specific to b2 (Backblaze B2).
  5406. --b2-endpoint
  5407. Endpoint for the service. Leave blank normally.
  5408. - Config: endpoint
  5409. - Env Var: RCLONE_B2_ENDPOINT
  5410. - Type: string
  5411. - Default: ""
  5412. --b2-test-mode
  5413. A flag string for X-Bz-Test-Mode header for debugging.
  5414. This is for debugging purposes only. Setting it to one of the strings
  5415. below will cause b2 to return specific errors:
  5416. - "fail_some_uploads"
  5417. - "expire_some_account_authorization_tokens"
  5418. - "force_cap_exceeded"
  5419. These will be set in the "X-Bz-Test-Mode" header which is documented in
  5420. the b2 integrations checklist.
  5421. - Config: test_mode
  5422. - Env Var: RCLONE_B2_TEST_MODE
  5423. - Type: string
  5424. - Default: ""
  5425. --b2-versions
  5426. Include old versions in directory listings. Note that when using this no
  5427. file write operations are permitted, so you can't upload files or delete
  5428. them.
  5429. - Config: versions
  5430. - Env Var: RCLONE_B2_VERSIONS
  5431. - Type: bool
  5432. - Default: false
  5433. --b2-upload-cutoff
  5434. Cutoff for switching to chunked upload.
  5435. Files above this size will be uploaded in chunks of "--b2-chunk-size".
  5436. This value should be set no larger than 4.657GiB (== 5GB).
  5437. - Config: upload_cutoff
  5438. - Env Var: RCLONE_B2_UPLOAD_CUTOFF
  5439. - Type: SizeSuffix
  5440. - Default: 200M
  5441. --b2-chunk-size
  5442. Upload chunk size. Must fit in memory.
  5443. When uploading large files, chunk the file into this size. Note that
  5444. these chunks are buffered in memory and there might a maximum of
  5445. "--transfers" chunks in progress at once. 5,000,000 Bytes is the minimim
  5446. size.
  5447. - Config: chunk_size
  5448. - Env Var: RCLONE_B2_CHUNK_SIZE
  5449. - Type: SizeSuffix
  5450. - Default: 96M
  5451. Box
  5452. Paths are specified as remote:path
  5453. Paths may be as deep as required, eg remote:directory/subdirectory.
  5454. The initial setup for Box involves getting a token from Box which you
  5455. need to do in your browser. rclone config walks you through it.
  5456. Here is an example of how to make a remote called remote. First run:
  5457. rclone config
  5458. This will guide you through an interactive setup process:
  5459. No remotes found - make a new one
  5460. n) New remote
  5461. s) Set configuration password
  5462. q) Quit config
  5463. n/s/q> n
  5464. name> remote
  5465. Type of storage to configure.
  5466. Choose a number from below, or type in your own value
  5467. 1 / Amazon Drive
  5468. \ "amazon cloud drive"
  5469. 2 / Amazon S3 (also Dreamhost, Ceph, Minio)
  5470. \ "s3"
  5471. 3 / Backblaze B2
  5472. \ "b2"
  5473. 4 / Box
  5474. \ "box"
  5475. 5 / Dropbox
  5476. \ "dropbox"
  5477. 6 / Encrypt/Decrypt a remote
  5478. \ "crypt"
  5479. 7 / FTP Connection
  5480. \ "ftp"
  5481. 8 / Google Cloud Storage (this is not Google Drive)
  5482. \ "google cloud storage"
  5483. 9 / Google Drive
  5484. \ "drive"
  5485. 10 / Hubic
  5486. \ "hubic"
  5487. 11 / Local Disk
  5488. \ "local"
  5489. 12 / Microsoft OneDrive
  5490. \ "onedrive"
  5491. 13 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
  5492. \ "swift"
  5493. 14 / SSH/SFTP Connection
  5494. \ "sftp"
  5495. 15 / Yandex Disk
  5496. \ "yandex"
  5497. 16 / http Connection
  5498. \ "http"
  5499. Storage> box
  5500. Box App Client Id - leave blank normally.
  5501. client_id>
  5502. Box App Client Secret - leave blank normally.
  5503. client_secret>
  5504. Remote config
  5505. Use auto config?
  5506. * Say Y if not sure
  5507. * Say N if you are working on a remote or headless machine
  5508. y) Yes
  5509. n) No
  5510. y/n> y
  5511. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  5512. Log in and authorize rclone for access
  5513. Waiting for code...
  5514. Got code
  5515. --------------------
  5516. [remote]
  5517. client_id =
  5518. client_secret =
  5519. token = {"access_token":"XXX","token_type":"bearer","refresh_token":"XXX","expiry":"XXX"}
  5520. --------------------
  5521. y) Yes this is OK
  5522. e) Edit this remote
  5523. d) Delete this remote
  5524. y/e/d> y
  5525. See the remote setup docs for how to set it up on a machine with no
  5526. Internet browser available.
  5527. Note that rclone runs a webserver on your local machine to collect the
  5528. token as returned from Box. This only runs from the moment it opens your
  5529. browser to the moment you get back the verification code. This is on
  5530. http://127.0.0.1:53682/ and this it may require you to unblock it
  5531. temporarily if you are running a host firewall.
  5532. Once configured you can then use rclone like this,
  5533. List directories in top level of your Box
  5534. rclone lsd remote:
  5535. List all the files in your Box
  5536. rclone ls remote:
  5537. To copy a local directory to an Box directory called backup
  5538. rclone copy /home/source remote:backup
  5539. Invalid refresh token
  5540. According to the box docs:
  5541. Each refresh_token is valid for one use in 60 days.
  5542. This means that if you
  5543. - Don't use the box remote for 60 days
  5544. - Copy the config file with a box refresh token in and use it in two
  5545. places
  5546. - Get an error on a token refresh
  5547. then rclone will return an error which includes the text
  5548. Invalid refresh token.
  5549. To fix this you will need to use oauth2 again to update the refresh
  5550. token. You can use the methods in the remote setup docs, bearing in mind
  5551. that if you use the copy the config file method, you should not use that
  5552. remote on the computer you did the authentication on.
  5553. Here is how to do it.
  5554. $ rclone config
  5555. Current remotes:
  5556. Name Type
  5557. ==== ====
  5558. remote box
  5559. e) Edit existing remote
  5560. n) New remote
  5561. d) Delete remote
  5562. r) Rename remote
  5563. c) Copy remote
  5564. s) Set configuration password
  5565. q) Quit config
  5566. e/n/d/r/c/s/q> e
  5567. Choose a number from below, or type in an existing value
  5568. 1 > remote
  5569. remote> remote
  5570. --------------------
  5571. [remote]
  5572. type = box
  5573. token = {"access_token":"XXX","token_type":"bearer","refresh_token":"XXX","expiry":"2017-07-08T23:40:08.059167677+01:00"}
  5574. --------------------
  5575. Edit remote
  5576. Value "client_id" = ""
  5577. Edit? (y/n)>
  5578. y) Yes
  5579. n) No
  5580. y/n> n
  5581. Value "client_secret" = ""
  5582. Edit? (y/n)>
  5583. y) Yes
  5584. n) No
  5585. y/n> n
  5586. Remote config
  5587. Already have a token - refresh?
  5588. y) Yes
  5589. n) No
  5590. y/n> y
  5591. Use auto config?
  5592. * Say Y if not sure
  5593. * Say N if you are working on a remote or headless machine
  5594. y) Yes
  5595. n) No
  5596. y/n> y
  5597. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  5598. Log in and authorize rclone for access
  5599. Waiting for code...
  5600. Got code
  5601. --------------------
  5602. [remote]
  5603. type = box
  5604. token = {"access_token":"YYY","token_type":"bearer","refresh_token":"YYY","expiry":"2017-07-23T12:22:29.259137901+01:00"}
  5605. --------------------
  5606. y) Yes this is OK
  5607. e) Edit this remote
  5608. d) Delete this remote
  5609. y/e/d> y
  5610. Modified time and hashes
  5611. Box allows modification times to be set on objects accurate to 1 second.
  5612. These will be used to detect whether objects need syncing or not.
  5613. Box supports SHA1 type hashes, so you can use the --checksum flag.
  5614. Transfers
  5615. For files above 50MB rclone will use a chunked transfer. Rclone will
  5616. upload up to --transfers chunks at the same time (shared among all the
  5617. multipart uploads). Chunks are buffered in memory and are normally 8MB
  5618. so increasing --transfers will increase memory use.
  5619. Deleting files
  5620. Depending on the enterprise settings for your user, the item will either
  5621. be actually deleted from Box or moved to the trash.
  5622. Standard Options
  5623. Here are the standard options specific to box (Box).
  5624. --box-client-id
  5625. Box App Client Id. Leave blank normally.
  5626. - Config: client_id
  5627. - Env Var: RCLONE_BOX_CLIENT_ID
  5628. - Type: string
  5629. - Default: ""
  5630. --box-client-secret
  5631. Box App Client Secret Leave blank normally.
  5632. - Config: client_secret
  5633. - Env Var: RCLONE_BOX_CLIENT_SECRET
  5634. - Type: string
  5635. - Default: ""
  5636. Advanced Options
  5637. Here are the advanced options specific to box (Box).
  5638. --box-upload-cutoff
  5639. Cutoff for switching to multipart upload (>= 50MB).
  5640. - Config: upload_cutoff
  5641. - Env Var: RCLONE_BOX_UPLOAD_CUTOFF
  5642. - Type: SizeSuffix
  5643. - Default: 50M
  5644. --box-commit-retries
  5645. Max number of times to try committing a multipart file.
  5646. - Config: commit_retries
  5647. - Env Var: RCLONE_BOX_COMMIT_RETRIES
  5648. - Type: int
  5649. - Default: 100
  5650. Limitations
  5651. Note that Box is case insensitive so you can't have a file called
  5652. "Hello.doc" and one called "hello.doc".
  5653. Box file names can't have the \ character in. rclone maps this to and
  5654. from an identical looking unicode equivalent \.
  5655. Box only supports filenames up to 255 characters in length.
  5656. Cache (BETA)
  5657. The cache remote wraps another existing remote and stores file structure
  5658. and its data for long running tasks like rclone mount.
  5659. To get started you just need to have an existing remote which can be
  5660. configured with cache.
  5661. Here is an example of how to make a remote called test-cache. First run:
  5662. rclone config
  5663. This will guide you through an interactive setup process:
  5664. No remotes found - make a new one
  5665. n) New remote
  5666. r) Rename remote
  5667. c) Copy remote
  5668. s) Set configuration password
  5669. q) Quit config
  5670. n/r/c/s/q> n
  5671. name> test-cache
  5672. Type of storage to configure.
  5673. Choose a number from below, or type in your own value
  5674. ...
  5675. 5 / Cache a remote
  5676. \ "cache"
  5677. ...
  5678. Storage> 5
  5679. Remote to cache.
  5680. Normally should contain a ':' and a path, eg "myremote:path/to/dir",
  5681. "myremote:bucket" or maybe "myremote:" (not recommended).
  5682. remote> local:/test
  5683. Optional: The URL of the Plex server
  5684. plex_url> http://127.0.0.1:32400
  5685. Optional: The username of the Plex user
  5686. plex_username> dummyusername
  5687. Optional: The password of the Plex user
  5688. y) Yes type in my own password
  5689. g) Generate random password
  5690. n) No leave this optional password blank
  5691. y/g/n> y
  5692. Enter the password:
  5693. password:
  5694. Confirm the password:
  5695. password:
  5696. The size of a chunk. Lower value good for slow connections but can affect seamless reading.
  5697. Default: 5M
  5698. Choose a number from below, or type in your own value
  5699. 1 / 1MB
  5700. \ "1m"
  5701. 2 / 5 MB
  5702. \ "5M"
  5703. 3 / 10 MB
  5704. \ "10M"
  5705. chunk_size> 2
  5706. 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.
  5707. Accepted units are: "s", "m", "h".
  5708. Default: 5m
  5709. Choose a number from below, or type in your own value
  5710. 1 / 1 hour
  5711. \ "1h"
  5712. 2 / 24 hours
  5713. \ "24h"
  5714. 3 / 24 hours
  5715. \ "48h"
  5716. info_age> 2
  5717. The maximum size of stored chunks. When the storage grows beyond this size, the oldest chunks will be deleted.
  5718. Default: 10G
  5719. Choose a number from below, or type in your own value
  5720. 1 / 500 MB
  5721. \ "500M"
  5722. 2 / 1 GB
  5723. \ "1G"
  5724. 3 / 10 GB
  5725. \ "10G"
  5726. chunk_total_size> 3
  5727. Remote config
  5728. --------------------
  5729. [test-cache]
  5730. remote = local:/test
  5731. plex_url = http://127.0.0.1:32400
  5732. plex_username = dummyusername
  5733. plex_password = *** ENCRYPTED ***
  5734. chunk_size = 5M
  5735. info_age = 48h
  5736. chunk_total_size = 10G
  5737. You can then use it like this,
  5738. List directories in top level of your drive
  5739. rclone lsd test-cache:
  5740. List all the files in your drive
  5741. rclone ls test-cache:
  5742. To start a cached mount
  5743. rclone mount --allow-other test-cache: /var/tmp/test-cache
  5744. Write Features
  5745. Offline uploading
  5746. In an effort to make writing through cache more reliable, the backend
  5747. now supports this feature which can be activated by specifying a
  5748. cache-tmp-upload-path.
  5749. A files goes through these states when using this feature:
  5750. 1. An upload is started (usually by copying a file on the cache remote)
  5751. 2. When the copy to the temporary location is complete the file is part
  5752. of the cached remote and looks and behaves like any other file
  5753. (reading included)
  5754. 3. After cache-tmp-wait-time passes and the file is next in line,
  5755. rclone move is used to move the file to the cloud provider
  5756. 4. Reading the file still works during the upload but most
  5757. modifications on it will be prohibited
  5758. 5. Once the move is complete the file is unlocked for modifications as
  5759. it becomes as any other regular file
  5760. 6. If the file is being read through cache when it's actually deleted
  5761. from the temporary path then cache will simply swap the source to
  5762. the cloud provider without interrupting the reading (small blip can
  5763. happen though)
  5764. Files are uploaded in sequence and only one file is uploaded at a time.
  5765. Uploads will be stored in a queue and be processed based on the order
  5766. they were added. The queue and the temporary storage is persistent
  5767. across restarts but can be cleared on startup with the --cache-db-purge
  5768. flag.
  5769. Write Support
  5770. Writes are supported through cache. One caveat is that a mounted cache
  5771. remote does not add any retry or fallback mechanism to the upload
  5772. operation. This will depend on the implementation of the wrapped remote.
  5773. Consider using Offline uploading for reliable writes.
  5774. One special case is covered with cache-writes which will cache the file
  5775. data at the same time as the upload when it is enabled making it
  5776. available from the cache store immediately once the upload is finished.
  5777. Read Features
  5778. Multiple connections
  5779. To counter the high latency between a local PC where rclone is running
  5780. and cloud providers, the cache remote can split multiple requests to the
  5781. cloud provider for smaller file chunks and combines them together
  5782. locally where they can be available almost immediately before the reader
  5783. usually needs them.
  5784. This is similar to buffering when media files are played online. Rclone
  5785. will stay around the current marker but always try its best to stay
  5786. ahead and prepare the data before.
  5787. Plex Integration
  5788. There is a direct integration with Plex which allows cache to detect
  5789. during reading if the file is in playback or not. This helps cache to
  5790. adapt how it queries the cloud provider depending on what is needed for.
  5791. Scans will have a minimum amount of workers (1) while in a confirmed
  5792. playback cache will deploy the configured number of workers.
  5793. This integration opens the doorway to additional performance
  5794. improvements which will be explored in the near future.
  5795. NOTE: If Plex options are not configured, cache will function with its
  5796. configured options without adapting any of its settings.
  5797. How to enable? Run rclone config and add all the Plex options (endpoint,
  5798. username and password) in your remote and it will be automatically
  5799. enabled.
  5800. Affected settings: - cache-workers: _Configured value_ during confirmed
  5801. playback or _1_ all the other times
  5802. Certificate Validation
  5803. When the Plex server is configured to only accept secure connections, it
  5804. is possible to use .plex.direct URL's to ensure certificate validation
  5805. succeeds. These URL's are used by Plex internally to connect to the Plex
  5806. server securely.
  5807. The format for this URL's is the following:
  5808. https://ip-with-dots-replaced.server-hash.plex.direct:32400/
  5809. The ip-with-dots-replaced part can be any IPv4 address, where the dots
  5810. have been replaced with dashes, e.g. 127.0.0.1 becomes 127-0-0-1.
  5811. To get the server-hash part, the easiest way is to visit
  5812. https://plex.tv/api/resources?includeHttps=1&X-Plex-Token=your-plex-token
  5813. This page will list all the available Plex servers for your account with
  5814. at least one .plex.direct link for each. Copy one URL and replace the IP
  5815. address with the desired address. This can be used as the plex_url
  5816. value.
  5817. Known issues
  5818. Mount and --dir-cache-time
  5819. --dir-cache-time controls the first layer of directory caching which
  5820. works at the mount layer. Being an independent caching mechanism from
  5821. the cache backend, it will manage its own entries based on the
  5822. configured time.
  5823. To avoid getting in a scenario where dir cache has obsolete data and
  5824. cache would have the correct one, try to set --dir-cache-time to a lower
  5825. time than --cache-info-age. Default values are already configured in
  5826. this way.
  5827. Windows support - Experimental
  5828. There are a couple of issues with Windows mount functionality that still
  5829. require some investigations. It should be considered as experimental
  5830. thus far as fixes come in for this OS.
  5831. Most of the issues seem to be related to the difference between
  5832. filesystems on Linux flavors and Windows as cache is heavily dependant
  5833. on them.
  5834. Any reports or feedback on how cache behaves on this OS is greatly
  5835. appreciated.
  5836. - https://github.com/ncw/rclone/issues/1935
  5837. - https://github.com/ncw/rclone/issues/1907
  5838. - https://github.com/ncw/rclone/issues/1834
  5839. Risk of throttling
  5840. Future iterations of the cache backend will make use of the pooling
  5841. functionality of the cloud provider to synchronize and at the same time
  5842. make writing through it more tolerant to failures.
  5843. There are a couple of enhancements in track to add these but in the
  5844. meantime there is a valid concern that the expiring cache listings can
  5845. lead to cloud provider throttles or bans due to repeated queries on it
  5846. for very large mounts.
  5847. Some recommendations: - don't use a very small interval for entry
  5848. informations (--cache-info-age) - while writes aren't yet optimised, you
  5849. can still write through cache which gives you the advantage of adding
  5850. the file in the cache at the same time if configured to do so.
  5851. Future enhancements:
  5852. - https://github.com/ncw/rclone/issues/1937
  5853. - https://github.com/ncw/rclone/issues/1936
  5854. cache and crypt
  5855. One common scenario is to keep your data encrypted in the cloud provider
  5856. using the crypt remote. crypt uses a similar technique to wrap around an
  5857. existing remote and handles this translation in a seamless way.
  5858. There is an issue with wrapping the remotes in this order: CLOUD REMOTE
  5859. -> CRYPT -> CACHE
  5860. During testing, I experienced a lot of bans with the remotes in this
  5861. order. I suspect it might be related to how crypt opens files on the
  5862. cloud provider which makes it think we're downloading the full file
  5863. instead of small chunks. Organizing the remotes in this order yelds
  5864. better results: CLOUD REMOTE -> CACHE -> CRYPT
  5865. absolute remote paths
  5866. cache can not differentiate between relative and absolute paths for the
  5867. wrapped remote. Any path given in the remote config setting and on the
  5868. command line will be passed to the wrapped remote as is, but for storing
  5869. the chunks on disk the path will be made relative by removing any
  5870. leading / character.
  5871. This behavior is irrelevant for most backend types, but there are
  5872. backends where a leading / changes the effective directory, e.g. in the
  5873. sftp backend paths starting with a / are relative to the root of the SSH
  5874. server and paths without are relative to the user home directory. As a
  5875. result sftp:bin and sftp:/bin will share the same cache folder, even if
  5876. they represent a different directory on the SSH server.
  5877. Cache and Remote Control (--rc)
  5878. Cache supports the new --rc mode in rclone and can be remote controlled
  5879. through the following end points: By default, the listener is disabled
  5880. if you do not add the flag.
  5881. rc cache/expire
  5882. Purge a remote from the cache backend. Supports either a directory or a
  5883. file. It supports both encrypted and unencrypted file names if cache is
  5884. wrapped by crypt.
  5885. Params: - REMOTE = path to remote (REQUIRED) - WITHDATA = true/false to
  5886. delete cached data (chunks) as well _(optional, false by default)_
  5887. Standard Options
  5888. Here are the standard options specific to cache (Cache a remote).
  5889. --cache-remote
  5890. Remote to cache. Normally should contain a ':' and a path, eg
  5891. "myremote:path/to/dir", "myremote:bucket" or maybe "myremote:" (not
  5892. recommended).
  5893. - Config: remote
  5894. - Env Var: RCLONE_CACHE_REMOTE
  5895. - Type: string
  5896. - Default: ""
  5897. --cache-plex-url
  5898. The URL of the Plex server
  5899. - Config: plex_url
  5900. - Env Var: RCLONE_CACHE_PLEX_URL
  5901. - Type: string
  5902. - Default: ""
  5903. --cache-plex-username
  5904. The username of the Plex user
  5905. - Config: plex_username
  5906. - Env Var: RCLONE_CACHE_PLEX_USERNAME
  5907. - Type: string
  5908. - Default: ""
  5909. --cache-plex-password
  5910. The password of the Plex user
  5911. - Config: plex_password
  5912. - Env Var: RCLONE_CACHE_PLEX_PASSWORD
  5913. - Type: string
  5914. - Default: ""
  5915. --cache-chunk-size
  5916. The size of a chunk (partial file data).
  5917. Use lower numbers for slower connections. If the chunk size is changed,
  5918. any downloaded chunks will be invalid and cache-chunk-path will need to
  5919. be cleared or unexpected EOF errors will occur.
  5920. - Config: chunk_size
  5921. - Env Var: RCLONE_CACHE_CHUNK_SIZE
  5922. - Type: SizeSuffix
  5923. - Default: 5M
  5924. - Examples:
  5925. - "1m"
  5926. - 1MB
  5927. - "5M"
  5928. - 5 MB
  5929. - "10M"
  5930. - 10 MB
  5931. --cache-info-age
  5932. How long to cache file structure information (directory listings, file
  5933. size, times etc). If all write operations are done through the cache
  5934. then you can safely make this value very large as the cache store will
  5935. also be updated in real time.
  5936. - Config: info_age
  5937. - Env Var: RCLONE_CACHE_INFO_AGE
  5938. - Type: Duration
  5939. - Default: 6h0m0s
  5940. - Examples:
  5941. - "1h"
  5942. - 1 hour
  5943. - "24h"
  5944. - 24 hours
  5945. - "48h"
  5946. - 48 hours
  5947. --cache-chunk-total-size
  5948. The total size that the chunks can take up on the local disk.
  5949. If the cache exceeds this value then it will start to delete the oldest
  5950. chunks until it goes under this value.
  5951. - Config: chunk_total_size
  5952. - Env Var: RCLONE_CACHE_CHUNK_TOTAL_SIZE
  5953. - Type: SizeSuffix
  5954. - Default: 10G
  5955. - Examples:
  5956. - "500M"
  5957. - 500 MB
  5958. - "1G"
  5959. - 1 GB
  5960. - "10G"
  5961. - 10 GB
  5962. Advanced Options
  5963. Here are the advanced options specific to cache (Cache a remote).
  5964. --cache-plex-token
  5965. The plex token for authentication - auto set normally
  5966. - Config: plex_token
  5967. - Env Var: RCLONE_CACHE_PLEX_TOKEN
  5968. - Type: string
  5969. - Default: ""
  5970. --cache-plex-insecure
  5971. Skip all certificate verifications when connecting to the Plex server
  5972. - Config: plex_insecure
  5973. - Env Var: RCLONE_CACHE_PLEX_INSECURE
  5974. - Type: string
  5975. - Default: ""
  5976. --cache-db-path
  5977. Directory to store file structure metadata DB. The remote name is used
  5978. as the DB file name.
  5979. - Config: db_path
  5980. - Env Var: RCLONE_CACHE_DB_PATH
  5981. - Type: string
  5982. - Default: "/home/ncw/.cache/rclone/cache-backend"
  5983. --cache-chunk-path
  5984. Directory to cache chunk files.
  5985. Path to where partial file data (chunks) are stored locally. The remote
  5986. name is appended to the final path.
  5987. This config follows the "--cache-db-path". If you specify a custom
  5988. location for "--cache-db-path" and don't specify one for
  5989. "--cache-chunk-path" then "--cache-chunk-path" will use the same path as
  5990. "--cache-db-path".
  5991. - Config: chunk_path
  5992. - Env Var: RCLONE_CACHE_CHUNK_PATH
  5993. - Type: string
  5994. - Default: "/home/ncw/.cache/rclone/cache-backend"
  5995. --cache-db-purge
  5996. Clear all the cached data for this remote on start.
  5997. - Config: db_purge
  5998. - Env Var: RCLONE_CACHE_DB_PURGE
  5999. - Type: bool
  6000. - Default: false
  6001. --cache-chunk-clean-interval
  6002. How often should the cache perform cleanups of the chunk storage. The
  6003. default value should be ok for most people. If you find that the cache
  6004. goes over "cache-chunk-total-size" too often then try to lower this
  6005. value to force it to perform cleanups more often.
  6006. - Config: chunk_clean_interval
  6007. - Env Var: RCLONE_CACHE_CHUNK_CLEAN_INTERVAL
  6008. - Type: Duration
  6009. - Default: 1m0s
  6010. --cache-read-retries
  6011. How many times to retry a read from a cache storage.
  6012. Since reading from a cache stream is independent from downloading file
  6013. data, readers can get to a point where there's no more data in the
  6014. cache. Most of the times this can indicate a connectivity issue if cache
  6015. isn't able to provide file data anymore.
  6016. For really slow connections, increase this to a point where the stream
  6017. is able to provide data but your experience will be very stuttering.
  6018. - Config: read_retries
  6019. - Env Var: RCLONE_CACHE_READ_RETRIES
  6020. - Type: int
  6021. - Default: 10
  6022. --cache-workers
  6023. How many workers should run in parallel to download chunks.
  6024. Higher values will mean more parallel processing (better CPU needed) and
  6025. more concurrent requests on the cloud provider. This impacts several
  6026. aspects like the cloud provider API limits, more stress on the hardware
  6027. that rclone runs on but it also means that streams will be more fluid
  6028. and data will be available much more faster to readers.
  6029. NOTE: If the optional Plex integration is enabled then this setting will
  6030. adapt to the type of reading performed and the value specified here will
  6031. be used as a maximum number of workers to use.
  6032. - Config: workers
  6033. - Env Var: RCLONE_CACHE_WORKERS
  6034. - Type: int
  6035. - Default: 4
  6036. --cache-chunk-no-memory
  6037. Disable the in-memory cache for storing chunks during streaming.
  6038. By default, cache will keep file data during streaming in RAM as well to
  6039. provide it to readers as fast as possible.
  6040. This transient data is evicted as soon as it is read and the number of
  6041. chunks stored doesn't exceed the number of workers. However, depending
  6042. on other settings like "cache-chunk-size" and "cache-workers" this
  6043. footprint can increase if there are parallel streams too (multiple files
  6044. being read at the same time).
  6045. If the hardware permits it, use this feature to provide an overall
  6046. better performance during streaming but it can also be disabled if RAM
  6047. is not available on the local machine.
  6048. - Config: chunk_no_memory
  6049. - Env Var: RCLONE_CACHE_CHUNK_NO_MEMORY
  6050. - Type: bool
  6051. - Default: false
  6052. --cache-rps
  6053. Limits the number of requests per second to the source FS (-1 to
  6054. disable)
  6055. This setting places a hard limit on the number of requests per second
  6056. that cache will be doing to the cloud provider remote and try to respect
  6057. that value by setting waits between reads.
  6058. If you find that you're getting banned or limited on the cloud provider
  6059. through cache and know that a smaller number of requests per second will
  6060. allow you to work with it then you can use this setting for that.
  6061. A good balance of all the other settings should make this setting
  6062. useless but it is available to set for more special cases.
  6063. NOTE: This will limit the number of requests during streams but other
  6064. API calls to the cloud provider like directory listings will still pass.
  6065. - Config: rps
  6066. - Env Var: RCLONE_CACHE_RPS
  6067. - Type: int
  6068. - Default: -1
  6069. --cache-writes
  6070. Cache file data on writes through the FS
  6071. If you need to read files immediately after you upload them through
  6072. cache you can enable this flag to have their data stored in the cache
  6073. store at the same time during upload.
  6074. - Config: writes
  6075. - Env Var: RCLONE_CACHE_WRITES
  6076. - Type: bool
  6077. - Default: false
  6078. --cache-tmp-upload-path
  6079. Directory to keep temporary files until they are uploaded.
  6080. This is the path where cache will use as a temporary storage for new
  6081. files that need to be uploaded to the cloud provider.
  6082. Specifying a value will enable this feature. Without it, it is
  6083. completely disabled and files will be uploaded directly to the cloud
  6084. provider
  6085. - Config: tmp_upload_path
  6086. - Env Var: RCLONE_CACHE_TMP_UPLOAD_PATH
  6087. - Type: string
  6088. - Default: ""
  6089. --cache-tmp-wait-time
  6090. How long should files be stored in local cache before being uploaded
  6091. This is the duration that a file must wait in the temporary location
  6092. _cache-tmp-upload-path_ before it is selected for upload.
  6093. Note that only one file is uploaded at a time and it can take longer to
  6094. start the upload if a queue formed for this purpose.
  6095. - Config: tmp_wait_time
  6096. - Env Var: RCLONE_CACHE_TMP_WAIT_TIME
  6097. - Type: Duration
  6098. - Default: 15s
  6099. --cache-db-wait-time
  6100. How long to wait for the DB to be available - 0 is unlimited
  6101. Only one process can have the DB open at any one time, so rclone waits
  6102. for this duration for the DB to become available before it gives an
  6103. error.
  6104. If you set it to 0 then it will wait forever.
  6105. - Config: db_wait_time
  6106. - Env Var: RCLONE_CACHE_DB_WAIT_TIME
  6107. - Type: Duration
  6108. - Default: 1s
  6109. Crypt
  6110. The crypt remote encrypts and decrypts another remote.
  6111. To use it first set up the underlying remote following the config
  6112. instructions for that remote. You can also use a local pathname instead
  6113. of a remote which will encrypt and decrypt from that directory which
  6114. might be useful for encrypting onto a USB stick for example.
  6115. First check your chosen remote is working - we'll call it remote:path in
  6116. these docs. Note that anything inside remote:path will be encrypted and
  6117. anything outside won't. This means that if you are using a bucket based
  6118. remote (eg S3, B2, swift) then you should probably put the bucket in the
  6119. remote s3:bucket. If you just use s3: then rclone will make encrypted
  6120. bucket names too (if using file name encryption) which may or may not be
  6121. what you want.
  6122. Now configure crypt using rclone config. We will call this one secret to
  6123. differentiate it from the remote.
  6124. No remotes found - make a new one
  6125. n) New remote
  6126. s) Set configuration password
  6127. q) Quit config
  6128. n/s/q> n
  6129. name> secret
  6130. Type of storage to configure.
  6131. Choose a number from below, or type in your own value
  6132. 1 / Amazon Drive
  6133. \ "amazon cloud drive"
  6134. 2 / Amazon S3 (also Dreamhost, Ceph, Minio)
  6135. \ "s3"
  6136. 3 / Backblaze B2
  6137. \ "b2"
  6138. 4 / Dropbox
  6139. \ "dropbox"
  6140. 5 / Encrypt/Decrypt a remote
  6141. \ "crypt"
  6142. 6 / Google Cloud Storage (this is not Google Drive)
  6143. \ "google cloud storage"
  6144. 7 / Google Drive
  6145. \ "drive"
  6146. 8 / Hubic
  6147. \ "hubic"
  6148. 9 / Local Disk
  6149. \ "local"
  6150. 10 / Microsoft OneDrive
  6151. \ "onedrive"
  6152. 11 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
  6153. \ "swift"
  6154. 12 / SSH/SFTP Connection
  6155. \ "sftp"
  6156. 13 / Yandex Disk
  6157. \ "yandex"
  6158. Storage> 5
  6159. Remote to encrypt/decrypt.
  6160. Normally should contain a ':' and a path, eg "myremote:path/to/dir",
  6161. "myremote:bucket" or maybe "myremote:" (not recommended).
  6162. remote> remote:path
  6163. How to encrypt the filenames.
  6164. Choose a number from below, or type in your own value
  6165. 1 / Don't encrypt the file names. Adds a ".bin" extension only.
  6166. \ "off"
  6167. 2 / Encrypt the filenames see the docs for the details.
  6168. \ "standard"
  6169. 3 / Very simple filename obfuscation.
  6170. \ "obfuscate"
  6171. filename_encryption> 2
  6172. Option to either encrypt directory names or leave them intact.
  6173. Choose a number from below, or type in your own value
  6174. 1 / Encrypt directory names.
  6175. \ "true"
  6176. 2 / Don't encrypt directory names, leave them intact.
  6177. \ "false"
  6178. filename_encryption> 1
  6179. Password or pass phrase for encryption.
  6180. y) Yes type in my own password
  6181. g) Generate random password
  6182. y/g> y
  6183. Enter the password:
  6184. password:
  6185. Confirm the password:
  6186. password:
  6187. Password or pass phrase for salt. Optional but recommended.
  6188. Should be different to the previous password.
  6189. y) Yes type in my own password
  6190. g) Generate random password
  6191. n) No leave this optional password blank
  6192. y/g/n> g
  6193. Password strength in bits.
  6194. 64 is just about memorable
  6195. 128 is secure
  6196. 1024 is the maximum
  6197. Bits> 128
  6198. Your password is: JAsJvRcgR-_veXNfy_sGmQ
  6199. Use this password?
  6200. y) Yes
  6201. n) No
  6202. y/n> y
  6203. Remote config
  6204. --------------------
  6205. [secret]
  6206. remote = remote:path
  6207. filename_encryption = standard
  6208. password = *** ENCRYPTED ***
  6209. password2 = *** ENCRYPTED ***
  6210. --------------------
  6211. y) Yes this is OK
  6212. e) Edit this remote
  6213. d) Delete this remote
  6214. y/e/d> y
  6215. IMPORTANT The password is stored in the config file is lightly obscured
  6216. so it isn't immediately obvious what it is. It is in no way secure
  6217. unless you use config file encryption.
  6218. A long passphrase is recommended, or you can use a random one. Note that
  6219. if you reconfigure rclone with the same passwords/passphrases elsewhere
  6220. it will be compatible - all the secrets used are derived from those two
  6221. passwords/passphrases.
  6222. Note that rclone does not encrypt
  6223. - file length - this can be calcuated within 16 bytes
  6224. - modification time - used for syncing
  6225. Specifying the remote
  6226. In normal use, make sure the remote has a : in. If you specify the
  6227. remote without a : then rclone will use a local directory of that name.
  6228. So if you use a remote of /path/to/secret/files then rclone will encrypt
  6229. stuff to that directory. If you use a remote of name then rclone will
  6230. put files in a directory called name in the current directory.
  6231. If you specify the remote as remote:path/to/dir then rclone will store
  6232. encrypted files in path/to/dir on the remote. If you are using file name
  6233. encryption, then when you save files to secret:subdir/subfile this will
  6234. store them in the unencrypted path path/to/dir but the subdir/subpath
  6235. bit will be encrypted.
  6236. Note that unless you want encrypted bucket names (which are difficult to
  6237. manage because you won't know what directory they represent in web
  6238. interfaces etc), you should probably specify a bucket, eg
  6239. remote:secretbucket when using bucket based remotes such as S3, Swift,
  6240. Hubic, B2, GCS.
  6241. Example
  6242. To test I made a little directory of files using "standard" file name
  6243. encryption.
  6244. plaintext/
  6245. ├── file0.txt
  6246. ├── file1.txt
  6247. └── subdir
  6248. ├── file2.txt
  6249. ├── file3.txt
  6250. └── subsubdir
  6251. └── file4.txt
  6252. Copy these to the remote and list them back
  6253. $ rclone -q copy plaintext secret:
  6254. $ rclone -q ls secret:
  6255. 7 file1.txt
  6256. 6 file0.txt
  6257. 8 subdir/file2.txt
  6258. 10 subdir/subsubdir/file4.txt
  6259. 9 subdir/file3.txt
  6260. Now see what that looked like when encrypted
  6261. $ rclone -q ls remote:path
  6262. 55 hagjclgavj2mbiqm6u6cnjjqcg
  6263. 54 v05749mltvv1tf4onltun46gls
  6264. 57 86vhrsv86mpbtd3a0akjuqslj8/dlj7fkq4kdq72emafg7a7s41uo
  6265. 58 86vhrsv86mpbtd3a0akjuqslj8/7uu829995du6o42n32otfhjqp4/b9pausrfansjth5ob3jkdqd4lc
  6266. 56 86vhrsv86mpbtd3a0akjuqslj8/8njh1sk437gttmep3p70g81aps
  6267. Note that this retains the directory structure which means you can do
  6268. this
  6269. $ rclone -q ls secret:subdir
  6270. 8 file2.txt
  6271. 9 file3.txt
  6272. 10 subsubdir/file4.txt
  6273. If don't use file name encryption then the remote will look like this -
  6274. note the .bin extensions added to prevent the cloud provider attempting
  6275. to interpret the data.
  6276. $ rclone -q ls remote:path
  6277. 54 file0.txt.bin
  6278. 57 subdir/file3.txt.bin
  6279. 56 subdir/file2.txt.bin
  6280. 58 subdir/subsubdir/file4.txt.bin
  6281. 55 file1.txt.bin
  6282. File name encryption modes
  6283. Here are some of the features of the file name encryption modes
  6284. Off
  6285. - doesn't hide file names or directory structure
  6286. - allows for longer file names (~246 characters)
  6287. - can use sub paths and copy single files
  6288. Standard
  6289. - file names encrypted
  6290. - file names can't be as long (~143 characters)
  6291. - can use sub paths and copy single files
  6292. - directory structure visible
  6293. - identical files names will have identical uploaded names
  6294. - can use shortcuts to shorten the directory recursion
  6295. Obfuscation
  6296. This is a simple "rotate" of the filename, with each file having a rot
  6297. distance based on the filename. We store the distance at the beginning
  6298. of the filename. So a file called "hello" may become "53.jgnnq"
  6299. This is not a strong encryption of filenames, but it may stop automated
  6300. scanning tools from picking up on filename patterns. As such it's an
  6301. intermediate between "off" and "standard". The advantage is that it
  6302. allows for longer path segment names.
  6303. There is a possibility with some unicode based filenames that the
  6304. obfuscation is weak and may map lower case characters to upper case
  6305. equivalents. You can not rely on this for strong protection.
  6306. - file names very lightly obfuscated
  6307. - file names can be longer than standard encryption
  6308. - can use sub paths and copy single files
  6309. - directory structure visible
  6310. - identical files names will have identical uploaded names
  6311. Cloud storage systems have various limits on file name length and total
  6312. path length which you are more likely to hit using "Standard" file name
  6313. encryption. If you keep your file names to below 156 characters in
  6314. length then you should be OK on all providers.
  6315. There may be an even more secure file name encryption mode in the future
  6316. which will address the long file name problem.
  6317. Directory name encryption
  6318. Crypt offers the option of encrypting dir names or leaving them intact.
  6319. There are two options:
  6320. True
  6321. Encrypts the whole file path including directory names Example:
  6322. 1/12/123.txt is encrypted to
  6323. p0e52nreeaj0a5ea7s64m4j72s/l42g6771hnv3an9cgc8cr2n1ng/qgm4avr35m5loi1th53ato71v0
  6324. False
  6325. Only encrypts file names, skips directory names Example: 1/12/123.txt is
  6326. encrypted to 1/12/qgm4avr35m5loi1th53ato71v0
  6327. Modified time and hashes
  6328. Crypt stores modification times using the underlying remote so support
  6329. depends on that.
  6330. Hashes are not stored for crypt. However the data integrity is protected
  6331. by an extremely strong crypto authenticator.
  6332. Note that you should use the rclone cryptcheck command to check the
  6333. integrity of a crypted remote instead of rclone check which can't check
  6334. the checksums properly.
  6335. Standard Options
  6336. Here are the standard options specific to crypt (Encrypt/Decrypt a
  6337. remote).
  6338. --crypt-remote
  6339. Remote to encrypt/decrypt. Normally should contain a ':' and a path, eg
  6340. "myremote:path/to/dir", "myremote:bucket" or maybe "myremote:" (not
  6341. recommended).
  6342. - Config: remote
  6343. - Env Var: RCLONE_CRYPT_REMOTE
  6344. - Type: string
  6345. - Default: ""
  6346. --crypt-filename-encryption
  6347. How to encrypt the filenames.
  6348. - Config: filename_encryption
  6349. - Env Var: RCLONE_CRYPT_FILENAME_ENCRYPTION
  6350. - Type: string
  6351. - Default: "standard"
  6352. - Examples:
  6353. - "off"
  6354. - Don't encrypt the file names. Adds a ".bin" extension only.
  6355. - "standard"
  6356. - Encrypt the filenames see the docs for the details.
  6357. - "obfuscate"
  6358. - Very simple filename obfuscation.
  6359. --crypt-directory-name-encryption
  6360. Option to either encrypt directory names or leave them intact.
  6361. - Config: directory_name_encryption
  6362. - Env Var: RCLONE_CRYPT_DIRECTORY_NAME_ENCRYPTION
  6363. - Type: bool
  6364. - Default: true
  6365. - Examples:
  6366. - "true"
  6367. - Encrypt directory names.
  6368. - "false"
  6369. - Don't encrypt directory names, leave them intact.
  6370. --crypt-password
  6371. Password or pass phrase for encryption.
  6372. - Config: password
  6373. - Env Var: RCLONE_CRYPT_PASSWORD
  6374. - Type: string
  6375. - Default: ""
  6376. --crypt-password2
  6377. Password or pass phrase for salt. Optional but recommended. Should be
  6378. different to the previous password.
  6379. - Config: password2
  6380. - Env Var: RCLONE_CRYPT_PASSWORD2
  6381. - Type: string
  6382. - Default: ""
  6383. Advanced Options
  6384. Here are the advanced options specific to crypt (Encrypt/Decrypt a
  6385. remote).
  6386. --crypt-show-mapping
  6387. For all files listed show how the names encrypt.
  6388. If this flag is set then for each file that the remote is asked to list,
  6389. it will log (at level INFO) a line stating the decrypted file name and
  6390. the encrypted file name.
  6391. This is so you can work out which encrypted names are which decrypted
  6392. names just in case you need to do something with the encrypted file
  6393. names, or for debugging purposes.
  6394. - Config: show_mapping
  6395. - Env Var: RCLONE_CRYPT_SHOW_MAPPING
  6396. - Type: bool
  6397. - Default: false
  6398. Backing up a crypted remote
  6399. If you wish to backup a crypted remote, it it recommended that you use
  6400. rclone sync on the encrypted files, and make sure the passwords are the
  6401. same in the new encrypted remote.
  6402. This will have the following advantages
  6403. - rclone sync will check the checksums while copying
  6404. - you can use rclone check between the encrypted remotes
  6405. - you don't decrypt and encrypt unnecessarily
  6406. For example, let's say you have your original remote at remote: with the
  6407. encrypted version at eremote: with path remote:crypt. You would then set
  6408. up the new remote remote2: and then the encrypted version eremote2: with
  6409. path remote2:crypt using the same passwords as eremote:.
  6410. To sync the two remotes you would do
  6411. rclone sync remote:crypt remote2:crypt
  6412. And to check the integrity you would do
  6413. rclone check remote:crypt remote2:crypt
  6414. File formats
  6415. File encryption
  6416. Files are encrypted 1:1 source file to destination object. The file has
  6417. a header and is divided into chunks.
  6418. Header
  6419. - 8 bytes magic string RCLONE\x00\x00
  6420. - 24 bytes Nonce (IV)
  6421. The initial nonce is generated from the operating systems crypto strong
  6422. random number generator. The nonce is incremented for each chunk read
  6423. making sure each nonce is unique for each block written. The chance of a
  6424. nonce being re-used is minuscule. If you wrote an exabyte of data (10¹⁸
  6425. bytes) you would have a probability of approximately 2×10⁻³² of re-using
  6426. a nonce.
  6427. Chunk
  6428. Each chunk will contain 64kB of data, except for the last one which may
  6429. have less data. The data chunk is in standard NACL secretbox format.
  6430. Secretbox uses XSalsa20 and Poly1305 to encrypt and authenticate
  6431. messages.
  6432. Each chunk contains:
  6433. - 16 Bytes of Poly1305 authenticator
  6434. - 1 - 65536 bytes XSalsa20 encrypted data
  6435. 64k chunk size was chosen as the best performing chunk size (the
  6436. authenticator takes too much time below this and the performance drops
  6437. off due to cache effects above this). Note that these chunks are
  6438. buffered in memory so they can't be too big.
  6439. This uses a 32 byte (256 bit key) key derived from the user password.
  6440. Examples
  6441. 1 byte file will encrypt to
  6442. - 32 bytes header
  6443. - 17 bytes data chunk
  6444. 49 bytes total
  6445. 1MB (1048576 bytes) file will encrypt to
  6446. - 32 bytes header
  6447. - 16 chunks of 65568 bytes
  6448. 1049120 bytes total (a 0.05% overhead). This is the overhead for big
  6449. files.
  6450. Name encryption
  6451. File names are encrypted segment by segment - the path is broken up into
  6452. / separated strings and these are encrypted individually.
  6453. File segments are padded using using PKCS#7 to a multiple of 16 bytes
  6454. before encryption.
  6455. They are then encrypted with EME using AES with 256 bit key. EME
  6456. (ECB-Mix-ECB) is a wide-block encryption mode presented in the 2003
  6457. paper "A Parallelizable Enciphering Mode" by Halevi and Rogaway.
  6458. This makes for deterministic encryption which is what we want - the same
  6459. filename must encrypt to the same thing otherwise we can't find it on
  6460. the cloud storage system.
  6461. This means that
  6462. - filenames with the same name will encrypt the same
  6463. - filenames which start the same won't have a common prefix
  6464. This uses a 32 byte key (256 bits) and a 16 byte (128 bits) IV both of
  6465. which are derived from the user password.
  6466. After encryption they are written out using a modified version of
  6467. standard base32 encoding as described in RFC4648. The standard encoding
  6468. is modified in two ways:
  6469. - it becomes lower case (no-one likes upper case filenames!)
  6470. - we strip the padding character =
  6471. base32 is used rather than the more efficient base64 so rclone can be
  6472. used on case insensitive remotes (eg Windows, Amazon Drive).
  6473. Key derivation
  6474. Rclone uses scrypt with parameters N=16384, r=8, p=1 with an optional
  6475. user supplied salt (password2) to derive the 32+32+16 = 80 bytes of key
  6476. material required. If the user doesn't supply a salt then rclone uses an
  6477. internal one.
  6478. scrypt makes it impractical to mount a dictionary attack on rclone
  6479. encrypted data. For full protection against this you should always use a
  6480. salt.
  6481. Dropbox
  6482. Paths are specified as remote:path
  6483. Dropbox paths may be as deep as required, eg
  6484. remote:directory/subdirectory.
  6485. The initial setup for dropbox involves getting a token from Dropbox
  6486. which you need to do in your browser. rclone config walks you through
  6487. it.
  6488. Here is an example of how to make a remote called remote. First run:
  6489. rclone config
  6490. This will guide you through an interactive setup process:
  6491. n) New remote
  6492. d) Delete remote
  6493. q) Quit config
  6494. e/n/d/q> n
  6495. name> remote
  6496. Type of storage to configure.
  6497. Choose a number from below, or type in your own value
  6498. 1 / Amazon Drive
  6499. \ "amazon cloud drive"
  6500. 2 / Amazon S3 (also Dreamhost, Ceph, Minio)
  6501. \ "s3"
  6502. 3 / Backblaze B2
  6503. \ "b2"
  6504. 4 / Dropbox
  6505. \ "dropbox"
  6506. 5 / Encrypt/Decrypt a remote
  6507. \ "crypt"
  6508. 6 / Google Cloud Storage (this is not Google Drive)
  6509. \ "google cloud storage"
  6510. 7 / Google Drive
  6511. \ "drive"
  6512. 8 / Hubic
  6513. \ "hubic"
  6514. 9 / Local Disk
  6515. \ "local"
  6516. 10 / Microsoft OneDrive
  6517. \ "onedrive"
  6518. 11 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
  6519. \ "swift"
  6520. 12 / SSH/SFTP Connection
  6521. \ "sftp"
  6522. 13 / Yandex Disk
  6523. \ "yandex"
  6524. Storage> 4
  6525. Dropbox App Key - leave blank normally.
  6526. app_key>
  6527. Dropbox App Secret - leave blank normally.
  6528. app_secret>
  6529. Remote config
  6530. Please visit:
  6531. https://www.dropbox.com/1/oauth2/authorize?client_id=XXXXXXXXXXXXXXX&response_type=code
  6532. Enter the code: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX_XXXXXXXXXX
  6533. --------------------
  6534. [remote]
  6535. app_key =
  6536. app_secret =
  6537. token = XXXXXXXXXXXXXXXXXXXXXXXXXXXXX_XXXX_XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  6538. --------------------
  6539. y) Yes this is OK
  6540. e) Edit this remote
  6541. d) Delete this remote
  6542. y/e/d> y
  6543. You can then use it like this,
  6544. List directories in top level of your dropbox
  6545. rclone lsd remote:
  6546. List all the files in your dropbox
  6547. rclone ls remote:
  6548. To copy a local directory to a dropbox directory called backup
  6549. rclone copy /home/source remote:backup
  6550. Dropbox for business
  6551. Rclone supports Dropbox for business and Team Folders.
  6552. When using Dropbox for business remote: and remote:path/to/file will
  6553. refer to your personal folder.
  6554. If you wish to see Team Folders you must use a leading / in the path, so
  6555. rclone lsd remote:/ will refer to the root and show you all Team Folders
  6556. and your User Folder.
  6557. You can then use team folders like this remote:/TeamFolder and
  6558. remote:/TeamFolder/path/to/file.
  6559. A leading / for a Dropbox personal account will do nothing, but it will
  6560. take an extra HTTP transaction so it should be avoided.
  6561. Modified time and Hashes
  6562. Dropbox supports modified times, but the only way to set a modification
  6563. time is to re-upload the file.
  6564. This means that if you uploaded your data with an older version of
  6565. rclone which didn't support the v2 API and modified times, rclone will
  6566. decide to upload all your old data to fix the modification times. If you
  6567. don't want this to happen use --size-only or --checksum flag to stop it.
  6568. Dropbox supports its own hash type which is checked for all transfers.
  6569. Standard Options
  6570. Here are the standard options specific to dropbox (Dropbox).
  6571. --dropbox-client-id
  6572. Dropbox App Client Id Leave blank normally.
  6573. - Config: client_id
  6574. - Env Var: RCLONE_DROPBOX_CLIENT_ID
  6575. - Type: string
  6576. - Default: ""
  6577. --dropbox-client-secret
  6578. Dropbox App Client Secret Leave blank normally.
  6579. - Config: client_secret
  6580. - Env Var: RCLONE_DROPBOX_CLIENT_SECRET
  6581. - Type: string
  6582. - Default: ""
  6583. Advanced Options
  6584. Here are the advanced options specific to dropbox (Dropbox).
  6585. --dropbox-chunk-size
  6586. Upload chunk size. (< 150M).
  6587. Any files larger than this will be uploaded in chunks of this size.
  6588. Note that chunks are buffered in memory (one at a time) so rclone can
  6589. deal with retries. Setting this larger will increase the speed slightly
  6590. (at most 10% for 128MB in tests) at the cost of using more memory. It
  6591. can be set smaller if you are tight on memory.
  6592. - Config: chunk_size
  6593. - Env Var: RCLONE_DROPBOX_CHUNK_SIZE
  6594. - Type: SizeSuffix
  6595. - Default: 48M
  6596. Limitations
  6597. Note that Dropbox is case insensitive so you can't have a file called
  6598. "Hello.doc" and one called "hello.doc".
  6599. There are some file names such as thumbs.db which Dropbox can't store.
  6600. There is a full list of them in the "Ignored Files" section of this
  6601. document. Rclone will issue an error message
  6602. File name disallowed - not uploading if it attempts to upload one of
  6603. those file names, but the sync won't fail.
  6604. If you have more than 10,000 files in a directory then
  6605. rclone purge dropbox:dir will return the error
  6606. Failed to purge: There are too many files involved in this operation. As
  6607. a work-around do an rclone delete dropbox:dir followed by an
  6608. rclone rmdir dropbox:dir.
  6609. FTP
  6610. FTP is the File Transfer Protocol. FTP support is provided using the
  6611. github.com/jlaffaye/ftp package.
  6612. Here is an example of making an FTP configuration. First run
  6613. rclone config
  6614. This will guide you through an interactive setup process. An FTP remote
  6615. only needs a host together with and a username and a password. With
  6616. anonymous FTP server, you will need to use anonymous as username and
  6617. your email address as the password.
  6618. No remotes found - make a new one
  6619. n) New remote
  6620. r) Rename remote
  6621. c) Copy remote
  6622. s) Set configuration password
  6623. q) Quit config
  6624. n/r/c/s/q> n
  6625. name> remote
  6626. Type of storage to configure.
  6627. Choose a number from below, or type in your own value
  6628. 1 / Amazon Drive
  6629. \ "amazon cloud drive"
  6630. 2 / Amazon S3 (also Dreamhost, Ceph, Minio)
  6631. \ "s3"
  6632. 3 / Backblaze B2
  6633. \ "b2"
  6634. 4 / Dropbox
  6635. \ "dropbox"
  6636. 5 / Encrypt/Decrypt a remote
  6637. \ "crypt"
  6638. 6 / FTP Connection
  6639. \ "ftp"
  6640. 7 / Google Cloud Storage (this is not Google Drive)
  6641. \ "google cloud storage"
  6642. 8 / Google Drive
  6643. \ "drive"
  6644. 9 / Hubic
  6645. \ "hubic"
  6646. 10 / Local Disk
  6647. \ "local"
  6648. 11 / Microsoft OneDrive
  6649. \ "onedrive"
  6650. 12 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
  6651. \ "swift"
  6652. 13 / SSH/SFTP Connection
  6653. \ "sftp"
  6654. 14 / Yandex Disk
  6655. \ "yandex"
  6656. Storage> ftp
  6657. FTP host to connect to
  6658. Choose a number from below, or type in your own value
  6659. 1 / Connect to ftp.example.com
  6660. \ "ftp.example.com"
  6661. host> ftp.example.com
  6662. FTP username, leave blank for current username, ncw
  6663. user>
  6664. FTP port, leave blank to use default (21)
  6665. port>
  6666. FTP password
  6667. y) Yes type in my own password
  6668. g) Generate random password
  6669. y/g> y
  6670. Enter the password:
  6671. password:
  6672. Confirm the password:
  6673. password:
  6674. Remote config
  6675. --------------------
  6676. [remote]
  6677. host = ftp.example.com
  6678. user =
  6679. port =
  6680. pass = *** ENCRYPTED ***
  6681. --------------------
  6682. y) Yes this is OK
  6683. e) Edit this remote
  6684. d) Delete this remote
  6685. y/e/d> y
  6686. This remote is called remote and can now be used like this
  6687. See all directories in the home directory
  6688. rclone lsd remote:
  6689. Make a new directory
  6690. rclone mkdir remote:path/to/directory
  6691. List the contents of a directory
  6692. rclone ls remote:path/to/directory
  6693. Sync /home/local/directory to the remote directory, deleting any excess
  6694. files in the directory.
  6695. rclone sync /home/local/directory remote:directory
  6696. Modified time
  6697. FTP does not support modified times. Any times you see on the server
  6698. will be time of upload.
  6699. Checksums
  6700. FTP does not support any checksums.
  6701. Standard Options
  6702. Here are the standard options specific to ftp (FTP Connection).
  6703. --ftp-host
  6704. FTP host to connect to
  6705. - Config: host
  6706. - Env Var: RCLONE_FTP_HOST
  6707. - Type: string
  6708. - Default: ""
  6709. - Examples:
  6710. - "ftp.example.com"
  6711. - Connect to ftp.example.com
  6712. --ftp-user
  6713. FTP username, leave blank for current username, ncw
  6714. - Config: user
  6715. - Env Var: RCLONE_FTP_USER
  6716. - Type: string
  6717. - Default: ""
  6718. --ftp-port
  6719. FTP port, leave blank to use default (21)
  6720. - Config: port
  6721. - Env Var: RCLONE_FTP_PORT
  6722. - Type: string
  6723. - Default: ""
  6724. --ftp-pass
  6725. FTP password
  6726. - Config: pass
  6727. - Env Var: RCLONE_FTP_PASS
  6728. - Type: string
  6729. - Default: ""
  6730. Limitations
  6731. Note that since FTP isn't HTTP based the following flags don't work with
  6732. it: --dump-headers, --dump-bodies, --dump-auth
  6733. Note that --timeout isn't supported (but --contimeout is).
  6734. Note that --bind isn't supported.
  6735. FTP could support server side move but doesn't yet.
  6736. Google Cloud Storage
  6737. Paths are specified as remote:bucket (or remote: for the lsd command.)
  6738. You may put subdirectories in too, eg remote:bucket/path/to/dir.
  6739. The initial setup for google cloud storage involves getting a token from
  6740. Google Cloud Storage which you need to do in your browser. rclone config
  6741. walks you through it.
  6742. Here is an example of how to make a remote called remote. First run:
  6743. rclone config
  6744. This will guide you through an interactive setup process:
  6745. n) New remote
  6746. d) Delete remote
  6747. q) Quit config
  6748. e/n/d/q> n
  6749. name> remote
  6750. Type of storage to configure.
  6751. Choose a number from below, or type in your own value
  6752. 1 / Amazon Drive
  6753. \ "amazon cloud drive"
  6754. 2 / Amazon S3 (also Dreamhost, Ceph, Minio)
  6755. \ "s3"
  6756. 3 / Backblaze B2
  6757. \ "b2"
  6758. 4 / Dropbox
  6759. \ "dropbox"
  6760. 5 / Encrypt/Decrypt a remote
  6761. \ "crypt"
  6762. 6 / Google Cloud Storage (this is not Google Drive)
  6763. \ "google cloud storage"
  6764. 7 / Google Drive
  6765. \ "drive"
  6766. 8 / Hubic
  6767. \ "hubic"
  6768. 9 / Local Disk
  6769. \ "local"
  6770. 10 / Microsoft OneDrive
  6771. \ "onedrive"
  6772. 11 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
  6773. \ "swift"
  6774. 12 / SSH/SFTP Connection
  6775. \ "sftp"
  6776. 13 / Yandex Disk
  6777. \ "yandex"
  6778. Storage> 6
  6779. Google Application Client Id - leave blank normally.
  6780. client_id>
  6781. Google Application Client Secret - leave blank normally.
  6782. client_secret>
  6783. Project number optional - needed only for list/create/delete buckets - see your developer console.
  6784. project_number> 12345678
  6785. Service Account Credentials JSON file path - needed only if you want use SA instead of interactive login.
  6786. service_account_file>
  6787. Access Control List for new objects.
  6788. Choose a number from below, or type in your own value
  6789. 1 / Object owner gets OWNER access, and all Authenticated Users get READER access.
  6790. \ "authenticatedRead"
  6791. 2 / Object owner gets OWNER access, and project team owners get OWNER access.
  6792. \ "bucketOwnerFullControl"
  6793. 3 / Object owner gets OWNER access, and project team owners get READER access.
  6794. \ "bucketOwnerRead"
  6795. 4 / Object owner gets OWNER access [default if left blank].
  6796. \ "private"
  6797. 5 / Object owner gets OWNER access, and project team members get access according to their roles.
  6798. \ "projectPrivate"
  6799. 6 / Object owner gets OWNER access, and all Users get READER access.
  6800. \ "publicRead"
  6801. object_acl> 4
  6802. Access Control List for new buckets.
  6803. Choose a number from below, or type in your own value
  6804. 1 / Project team owners get OWNER access, and all Authenticated Users get READER access.
  6805. \ "authenticatedRead"
  6806. 2 / Project team owners get OWNER access [default if left blank].
  6807. \ "private"
  6808. 3 / Project team members get access according to their roles.
  6809. \ "projectPrivate"
  6810. 4 / Project team owners get OWNER access, and all Users get READER access.
  6811. \ "publicRead"
  6812. 5 / Project team owners get OWNER access, and all Users get WRITER access.
  6813. \ "publicReadWrite"
  6814. bucket_acl> 2
  6815. Location for the newly created buckets.
  6816. Choose a number from below, or type in your own value
  6817. 1 / Empty for default location (US).
  6818. \ ""
  6819. 2 / Multi-regional location for Asia.
  6820. \ "asia"
  6821. 3 / Multi-regional location for Europe.
  6822. \ "eu"
  6823. 4 / Multi-regional location for United States.
  6824. \ "us"
  6825. 5 / Taiwan.
  6826. \ "asia-east1"
  6827. 6 / Tokyo.
  6828. \ "asia-northeast1"
  6829. 7 / Singapore.
  6830. \ "asia-southeast1"
  6831. 8 / Sydney.
  6832. \ "australia-southeast1"
  6833. 9 / Belgium.
  6834. \ "europe-west1"
  6835. 10 / London.
  6836. \ "europe-west2"
  6837. 11 / Iowa.
  6838. \ "us-central1"
  6839. 12 / South Carolina.
  6840. \ "us-east1"
  6841. 13 / Northern Virginia.
  6842. \ "us-east4"
  6843. 14 / Oregon.
  6844. \ "us-west1"
  6845. location> 12
  6846. The storage class to use when storing objects in Google Cloud Storage.
  6847. Choose a number from below, or type in your own value
  6848. 1 / Default
  6849. \ ""
  6850. 2 / Multi-regional storage class
  6851. \ "MULTI_REGIONAL"
  6852. 3 / Regional storage class
  6853. \ "REGIONAL"
  6854. 4 / Nearline storage class
  6855. \ "NEARLINE"
  6856. 5 / Coldline storage class
  6857. \ "COLDLINE"
  6858. 6 / Durable reduced availability storage class
  6859. \ "DURABLE_REDUCED_AVAILABILITY"
  6860. storage_class> 5
  6861. Remote config
  6862. Use auto config?
  6863. * Say Y if not sure
  6864. * Say N if you are working on a remote or headless machine or Y didn't work
  6865. y) Yes
  6866. n) No
  6867. y/n> y
  6868. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  6869. Log in and authorize rclone for access
  6870. Waiting for code...
  6871. Got code
  6872. --------------------
  6873. [remote]
  6874. type = google cloud storage
  6875. client_id =
  6876. client_secret =
  6877. token = {"AccessToken":"xxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","RefreshToken":"x/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_xxxxxxxxx","Expiry":"2014-07-17T20:49:14.929208288+01:00","Extra":null}
  6878. project_number = 12345678
  6879. object_acl = private
  6880. bucket_acl = private
  6881. --------------------
  6882. y) Yes this is OK
  6883. e) Edit this remote
  6884. d) Delete this remote
  6885. y/e/d> y
  6886. Note that rclone runs a webserver on your local machine to collect the
  6887. token as returned from Google if you use auto config mode. This only
  6888. runs from the moment it opens your browser to the moment you get back
  6889. the verification code. This is on http://127.0.0.1:53682/ and this it
  6890. may require you to unblock it temporarily if you are running a host
  6891. firewall, or use manual mode.
  6892. This remote is called remote and can now be used like this
  6893. See all the buckets in your project
  6894. rclone lsd remote:
  6895. Make a new bucket
  6896. rclone mkdir remote:bucket
  6897. List the contents of a bucket
  6898. rclone ls remote:bucket
  6899. Sync /home/local/directory to the remote bucket, deleting any excess
  6900. files in the bucket.
  6901. rclone sync /home/local/directory remote:bucket
  6902. Service Account support
  6903. You can set up rclone with Google Cloud Storage in an unattended mode,
  6904. i.e. not tied to a specific end-user Google account. This is useful when
  6905. you want to synchronise files onto machines that don't have actively
  6906. logged-in users, for example build machines.
  6907. To get credentials for Google Cloud Platform IAM Service Accounts,
  6908. please head to the Service Account section of the Google Developer
  6909. Console. Service Accounts behave just like normal User permissions in
  6910. Google Cloud Storage ACLs, so you can limit their access (e.g. make them
  6911. read only). After creating an account, a JSON file containing the
  6912. Service Account's credentials will be downloaded onto your machines.
  6913. These credentials are what rclone will use for authentication.
  6914. To use a Service Account instead of OAuth2 token flow, enter the path to
  6915. your Service Account credentials at the service_account_file prompt and
  6916. rclone won't use the browser based authentication flow. If you'd rather
  6917. stuff the contents of the credentials file into the rclone config file,
  6918. you can set service_account_credentials with the actual contents of the
  6919. file instead, or set the equivalent environment variable.
  6920. --fast-list
  6921. This remote supports --fast-list which allows you to use fewer
  6922. transactions in exchange for more memory. See the rclone docs for more
  6923. details.
  6924. Modified time
  6925. Google google cloud storage stores md5sums natively and rclone stores
  6926. modification times as metadata on the object, under the "mtime" key in
  6927. RFC3339 format accurate to 1ns.
  6928. Standard Options
  6929. Here are the standard options specific to google cloud storage (Google
  6930. Cloud Storage (this is not Google Drive)).
  6931. --gcs-client-id
  6932. Google Application Client Id Leave blank normally.
  6933. - Config: client_id
  6934. - Env Var: RCLONE_GCS_CLIENT_ID
  6935. - Type: string
  6936. - Default: ""
  6937. --gcs-client-secret
  6938. Google Application Client Secret Leave blank normally.
  6939. - Config: client_secret
  6940. - Env Var: RCLONE_GCS_CLIENT_SECRET
  6941. - Type: string
  6942. - Default: ""
  6943. --gcs-project-number
  6944. Project number. Optional - needed only for list/create/delete buckets -
  6945. see your developer console.
  6946. - Config: project_number
  6947. - Env Var: RCLONE_GCS_PROJECT_NUMBER
  6948. - Type: string
  6949. - Default: ""
  6950. --gcs-service-account-file
  6951. Service Account Credentials JSON file path Leave blank normally. Needed
  6952. only if you want use SA instead of interactive login.
  6953. - Config: service_account_file
  6954. - Env Var: RCLONE_GCS_SERVICE_ACCOUNT_FILE
  6955. - Type: string
  6956. - Default: ""
  6957. --gcs-service-account-credentials
  6958. Service Account Credentials JSON blob Leave blank normally. Needed only
  6959. if you want use SA instead of interactive login.
  6960. - Config: service_account_credentials
  6961. - Env Var: RCLONE_GCS_SERVICE_ACCOUNT_CREDENTIALS
  6962. - Type: string
  6963. - Default: ""
  6964. --gcs-object-acl
  6965. Access Control List for new objects.
  6966. - Config: object_acl
  6967. - Env Var: RCLONE_GCS_OBJECT_ACL
  6968. - Type: string
  6969. - Default: ""
  6970. - Examples:
  6971. - "authenticatedRead"
  6972. - Object owner gets OWNER access, and all Authenticated Users
  6973. get READER access.
  6974. - "bucketOwnerFullControl"
  6975. - Object owner gets OWNER access, and project team owners get
  6976. OWNER access.
  6977. - "bucketOwnerRead"
  6978. - Object owner gets OWNER access, and project team owners get
  6979. READER access.
  6980. - "private"
  6981. - Object owner gets OWNER access [default if left blank].
  6982. - "projectPrivate"
  6983. - Object owner gets OWNER access, and project team members get
  6984. access according to their roles.
  6985. - "publicRead"
  6986. - Object owner gets OWNER access, and all Users get READER
  6987. access.
  6988. --gcs-bucket-acl
  6989. Access Control List for new buckets.
  6990. - Config: bucket_acl
  6991. - Env Var: RCLONE_GCS_BUCKET_ACL
  6992. - Type: string
  6993. - Default: ""
  6994. - Examples:
  6995. - "authenticatedRead"
  6996. - Project team owners get OWNER access, and all Authenticated
  6997. Users get READER access.
  6998. - "private"
  6999. - Project team owners get OWNER access [default if left
  7000. blank].
  7001. - "projectPrivate"
  7002. - Project team members get access according to their roles.
  7003. - "publicRead"
  7004. - Project team owners get OWNER access, and all Users get
  7005. READER access.
  7006. - "publicReadWrite"
  7007. - Project team owners get OWNER access, and all Users get
  7008. WRITER access.
  7009. --gcs-location
  7010. Location for the newly created buckets.
  7011. - Config: location
  7012. - Env Var: RCLONE_GCS_LOCATION
  7013. - Type: string
  7014. - Default: ""
  7015. - Examples:
  7016. - ""
  7017. - Empty for default location (US).
  7018. - "asia"
  7019. - Multi-regional location for Asia.
  7020. - "eu"
  7021. - Multi-regional location for Europe.
  7022. - "us"
  7023. - Multi-regional location for United States.
  7024. - "asia-east1"
  7025. - Taiwan.
  7026. - "asia-northeast1"
  7027. - Tokyo.
  7028. - "asia-southeast1"
  7029. - Singapore.
  7030. - "australia-southeast1"
  7031. - Sydney.
  7032. - "europe-west1"
  7033. - Belgium.
  7034. - "europe-west2"
  7035. - London.
  7036. - "us-central1"
  7037. - Iowa.
  7038. - "us-east1"
  7039. - South Carolina.
  7040. - "us-east4"
  7041. - Northern Virginia.
  7042. - "us-west1"
  7043. - Oregon.
  7044. --gcs-storage-class
  7045. The storage class to use when storing objects in Google Cloud Storage.
  7046. - Config: storage_class
  7047. - Env Var: RCLONE_GCS_STORAGE_CLASS
  7048. - Type: string
  7049. - Default: ""
  7050. - Examples:
  7051. - ""
  7052. - Default
  7053. - "MULTI_REGIONAL"
  7054. - Multi-regional storage class
  7055. - "REGIONAL"
  7056. - Regional storage class
  7057. - "NEARLINE"
  7058. - Nearline storage class
  7059. - "COLDLINE"
  7060. - Coldline storage class
  7061. - "DURABLE_REDUCED_AVAILABILITY"
  7062. - Durable reduced availability storage class
  7063. Google Drive
  7064. Paths are specified as drive:path
  7065. Drive paths may be as deep as required, eg drive:directory/subdirectory.
  7066. The initial setup for drive involves getting a token from Google drive
  7067. which you need to do in your browser. rclone config walks you through
  7068. it.
  7069. Here is an example of how to make a remote called remote. First run:
  7070. rclone config
  7071. This will guide you through an interactive setup process:
  7072. No remotes found - make a new one
  7073. n) New remote
  7074. r) Rename remote
  7075. c) Copy remote
  7076. s) Set configuration password
  7077. q) Quit config
  7078. n/r/c/s/q> n
  7079. name> remote
  7080. Type of storage to configure.
  7081. Choose a number from below, or type in your own value
  7082. [snip]
  7083. 10 / Google Drive
  7084. \ "drive"
  7085. [snip]
  7086. Storage> drive
  7087. Google Application Client Id - leave blank normally.
  7088. client_id>
  7089. Google Application Client Secret - leave blank normally.
  7090. client_secret>
  7091. Scope that rclone should use when requesting access from drive.
  7092. Choose a number from below, or type in your own value
  7093. 1 / Full access all files, excluding Application Data Folder.
  7094. \ "drive"
  7095. 2 / Read-only access to file metadata and file contents.
  7096. \ "drive.readonly"
  7097. / Access to files created by rclone only.
  7098. 3 | These are visible in the drive website.
  7099. | File authorization is revoked when the user deauthorizes the app.
  7100. \ "drive.file"
  7101. / Allows read and write access to the Application Data folder.
  7102. 4 | This is not visible in the drive website.
  7103. \ "drive.appfolder"
  7104. / Allows read-only access to file metadata but
  7105. 5 | does not allow any access to read or download file content.
  7106. \ "drive.metadata.readonly"
  7107. scope> 1
  7108. ID of the root folder - leave blank normally. Fill in to access "Computers" folders. (see docs).
  7109. root_folder_id>
  7110. Service Account Credentials JSON file path - needed only if you want use SA instead of interactive login.
  7111. service_account_file>
  7112. Remote config
  7113. Use auto config?
  7114. * Say Y if not sure
  7115. * Say N if you are working on a remote or headless machine or Y didn't work
  7116. y) Yes
  7117. n) No
  7118. y/n> y
  7119. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  7120. Log in and authorize rclone for access
  7121. Waiting for code...
  7122. Got code
  7123. Configure this as a team drive?
  7124. y) Yes
  7125. n) No
  7126. y/n> n
  7127. --------------------
  7128. [remote]
  7129. client_id =
  7130. client_secret =
  7131. scope = drive
  7132. root_folder_id =
  7133. service_account_file =
  7134. token = {"access_token":"XXX","token_type":"Bearer","refresh_token":"XXX","expiry":"2014-03-16T13:57:58.955387075Z"}
  7135. --------------------
  7136. y) Yes this is OK
  7137. e) Edit this remote
  7138. d) Delete this remote
  7139. y/e/d> y
  7140. Note that rclone runs a webserver on your local machine to collect the
  7141. token as returned from Google if you use auto config mode. This only
  7142. runs from the moment it opens your browser to the moment you get back
  7143. the verification code. This is on http://127.0.0.1:53682/ and this it
  7144. may require you to unblock it temporarily if you are running a host
  7145. firewall, or use manual mode.
  7146. You can then use it like this,
  7147. List directories in top level of your drive
  7148. rclone lsd remote:
  7149. List all the files in your drive
  7150. rclone ls remote:
  7151. To copy a local directory to a drive directory called backup
  7152. rclone copy /home/source remote:backup
  7153. Scopes
  7154. Rclone allows you to select which scope you would like for rclone to
  7155. use. This changes what type of token is granted to rclone. The scopes
  7156. are defined here..
  7157. The scope are
  7158. drive
  7159. This is the default scope and allows full access to all files, except
  7160. for the Application Data Folder (see below).
  7161. Choose this one if you aren't sure.
  7162. drive.readonly
  7163. This allows read only access to all files. Files may be listed and
  7164. downloaded but not uploaded, renamed or deleted.
  7165. drive.file
  7166. With this scope rclone can read/view/modify only those files and folders
  7167. it creates.
  7168. So if you uploaded files to drive via the web interface (or any other
  7169. means) they will not be visible to rclone.
  7170. This can be useful if you are using rclone to backup data and you want
  7171. to be sure confidential data on your drive is not visible to rclone.
  7172. Files created with this scope are visible in the web interface.
  7173. drive.appfolder
  7174. This gives rclone its own private area to store files. Rclone will not
  7175. be able to see any other files on your drive and you won't be able to
  7176. see rclone's files from the web interface either.
  7177. drive.metadata.readonly
  7178. This allows read only access to file names only. It does not allow
  7179. rclone to download or upload data, or rename or delete files or
  7180. directories.
  7181. Root folder ID
  7182. You can set the root_folder_id for rclone. This is the directory
  7183. (identified by its Folder ID) that rclone considers to be a the root of
  7184. your drive.
  7185. Normally you will leave this blank and rclone will determine the correct
  7186. root to use itself.
  7187. However you can set this to restrict rclone to a specific folder
  7188. hierarchy or to access data within the "Computers" tab on the drive web
  7189. interface (where files from Google's Backup and Sync desktop program
  7190. go).
  7191. In order to do this you will have to find the Folder ID of the directory
  7192. you wish rclone to display. This will be the last segment of the URL
  7193. when you open the relevant folder in the drive web interface.
  7194. So if the folder you want rclone to use has a URL which looks like
  7195. https://drive.google.com/drive/folders/1XyfxxxxxxxxxxxxxxxxxxxxxxxxxKHCh
  7196. in the browser, then you use 1XyfxxxxxxxxxxxxxxxxxxxxxxxxxKHCh as the
  7197. root_folder_id in the config.
  7198. NB folders under the "Computers" tab seem to be read only (drive gives a
  7199. 500 error) when using rclone.
  7200. There doesn't appear to be an API to discover the folder IDs of the
  7201. "Computers" tab - please contact us if you know otherwise!
  7202. Note also that rclone can't access any data under the "Backups" tab on
  7203. the google drive web interface yet.
  7204. Service Account support
  7205. You can set up rclone with Google Drive in an unattended mode, i.e. not
  7206. tied to a specific end-user Google account. This is useful when you want
  7207. to synchronise files onto machines that don't have actively logged-in
  7208. users, for example build machines.
  7209. To use a Service Account instead of OAuth2 token flow, enter the path to
  7210. your Service Account credentials at the service_account_file prompt
  7211. during rclone config and rclone won't use the browser based
  7212. authentication flow. If you'd rather stuff the contents of the
  7213. credentials file into the rclone config file, you can set
  7214. service_account_credentials with the actual contents of the file
  7215. instead, or set the equivalent environment variable.
  7216. Use case - Google Apps/G-suite account and individual Drive
  7217. Let's say that you are the administrator of a Google Apps (old) or
  7218. G-suite account. The goal is to store data on an individual's Drive
  7219. account, who IS a member of the domain. We'll call the domain
  7220. EXAMPLE.COM, and the user FOO@EXAMPLE.COM.
  7221. There's a few steps we need to go through to accomplish this:
  7222. 1. Create a service account for example.com
  7223. - To create a service account and obtain its credentials, go to the
  7224. Google Developer Console.
  7225. - You must have a project - create one if you don't.
  7226. - Then go to "IAM & admin" -> "Service Accounts".
  7227. - Use the "Create Credentials" button. Fill in "Service account name"
  7228. with something that identifies your client. "Role" can be empty.
  7229. - Tick "Furnish a new private key" - select "Key type JSON".
  7230. - Tick "Enable G Suite Domain-wide Delegation". This option makes
  7231. "impersonation" possible, as documented here: Delegating domain-wide
  7232. authority to the service account
  7233. - These credentials are what rclone will use for authentication. If
  7234. you ever need to remove access, press the "Delete service account
  7235. key" button.
  7236. 2. Allowing API access to example.com Google Drive
  7237. - Go to example.com's admin console
  7238. - Go into "Security" (or use the search bar)
  7239. - Select "Show more" and then "Advanced settings"
  7240. - Select "Manage API client access" in the "Authentication" section
  7241. - In the "Client Name" field enter the service account's "Client ID" -
  7242. this can be found in the Developer Console under "IAM & Admin" ->
  7243. "Service Accounts", then "View Client ID" for the newly created
  7244. service account. It is a ~21 character numerical string.
  7245. - In the next field, "One or More API Scopes", enter
  7246. https://www.googleapis.com/auth/drive to grant access to Google
  7247. Drive specifically.
  7248. 3. Configure rclone, assuming a new install
  7249. rclone config
  7250. n/s/q> n # New
  7251. name>gdrive # Gdrive is an example name
  7252. Storage> # Select the number shown for Google Drive
  7253. client_id> # Can be left blank
  7254. client_secret> # Can be left blank
  7255. scope> # Select your scope, 1 for example
  7256. root_folder_id> # Can be left blank
  7257. service_account_file> /home/foo/myJSONfile.json # This is where the JSON file goes!
  7258. y/n> # Auto config, y
  7259. 4. Verify that it's working
  7260. - rclone -v --drive-impersonate foo@example.com lsf gdrive:backup
  7261. - The arguments do:
  7262. - -v - verbose logging
  7263. - --drive-impersonate foo@example.com - this is what does the
  7264. magic, pretending to be user foo.
  7265. - lsf - list files in a parsing friendly way
  7266. - gdrive:backup - use the remote called gdrive, work in the folder
  7267. named backup.
  7268. Team drives
  7269. If you want to configure the remote to point to a Google Team Drive then
  7270. answer y to the question Configure this as a team drive?.
  7271. This will fetch the list of Team Drives from google and allow you to
  7272. configure which one you want to use. You can also type in a team drive
  7273. ID if you prefer.
  7274. For example:
  7275. Configure this as a team drive?
  7276. y) Yes
  7277. n) No
  7278. y/n> y
  7279. Fetching team drive list...
  7280. Choose a number from below, or type in your own value
  7281. 1 / Rclone Test
  7282. \ "xxxxxxxxxxxxxxxxxxxx"
  7283. 2 / Rclone Test 2
  7284. \ "yyyyyyyyyyyyyyyyyyyy"
  7285. 3 / Rclone Test 3
  7286. \ "zzzzzzzzzzzzzzzzzzzz"
  7287. Enter a Team Drive ID> 1
  7288. --------------------
  7289. [remote]
  7290. client_id =
  7291. client_secret =
  7292. token = {"AccessToken":"xxxx.x.xxxxx_xxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","RefreshToken":"1/xxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxx","Expiry":"2014-03-16T13:57:58.955387075Z","Extra":null}
  7293. team_drive = xxxxxxxxxxxxxxxxxxxx
  7294. --------------------
  7295. y) Yes this is OK
  7296. e) Edit this remote
  7297. d) Delete this remote
  7298. y/e/d> y
  7299. --fast-list
  7300. This remote supports --fast-list which allows you to use fewer
  7301. transactions in exchange for more memory. See the rclone docs for more
  7302. details.
  7303. It does this by combining multiple list calls into a single API request.
  7304. This works by combining many '%s' in parents filters into one
  7305. expression. To list the contents of directories a, b and c, the the
  7306. following requests will be send by the regular List function:
  7307. trashed=false and 'a' in parents
  7308. trashed=false and 'b' in parents
  7309. trashed=false and 'c' in parents
  7310. These can now be combined into a single request:
  7311. trashed=false and ('a' in parents or 'b' in parents or 'c' in parents)
  7312. The implementation of ListR will put up to 50 parents filters into one
  7313. request. It will use the --checkers value to specify the number of
  7314. requests to run in parallel.
  7315. In tests, these batch requests were up to 20x faster than the regular
  7316. method. Running the following command against different sized folders
  7317. gives:
  7318. rclone lsjson -vv -R --checkers=6 gdrive:folder
  7319. small folder (220 directories, 700 files):
  7320. - without --fast-list: 38s
  7321. - with --fast-list: 10s
  7322. large folder (10600 directories, 39000 files):
  7323. - without --fast-list: 22:05 min
  7324. - with --fast-list: 58s
  7325. Modified time
  7326. Google drive stores modification times accurate to 1 ms.
  7327. Revisions
  7328. Google drive stores revisions of files. When you upload a change to an
  7329. existing file to google drive using rclone it will create a new revision
  7330. of that file.
  7331. Revisions follow the standard google policy which at time of writing was
  7332. - They are deleted after 30 days or 100 revisions (whatever comes
  7333. first).
  7334. - They do not count towards a user storage quota.
  7335. Deleting files
  7336. By default rclone will send all files to the trash when deleting files.
  7337. If deleting them permanently is required then use the
  7338. --drive-use-trash=false flag, or set the equivalent environment
  7339. variable.
  7340. Emptying trash
  7341. If you wish to empty your trash you can use the rclone cleanup remote:
  7342. command which will permanently delete all your trashed files. This
  7343. command does not take any path arguments.
  7344. Quota information
  7345. To view your current quota you can use the rclone about remote: command
  7346. which will display your usage limit (quota), the usage in Google Drive,
  7347. the size of all files in the Trash and the space used by other Google
  7348. services such as Gmail. This command does not take any path arguments.
  7349. Import/Export of google documents
  7350. Google documents can be exported from and uploaded to Google Drive.
  7351. When rclone downloads a Google doc it chooses a format to download
  7352. depending upon the --drive-export-formats setting. By default the export
  7353. formats are docx,xlsx,pptx,svg which are a sensible default for an
  7354. editable document.
  7355. When choosing a format, rclone runs down the list provided in order and
  7356. chooses the first file format the doc can be exported as from the list.
  7357. If the file can't be exported to a format on the formats list, then
  7358. rclone will choose a format from the default list.
  7359. If you prefer an archive copy then you might use
  7360. --drive-export-formats pdf, or if you prefer openoffice/libreoffice
  7361. formats you might use --drive-export-formats ods,odt,odp.
  7362. Note that rclone adds the extension to the google doc, so if it is
  7363. calles My Spreadsheet on google docs, it will be exported as
  7364. My Spreadsheet.xlsx or My Spreadsheet.pdf etc.
  7365. When importing files into Google Drive, rclone will conververt all files
  7366. with an extension in --drive-import-formats to their associated document
  7367. type. rclone will not convert any files by default, since the conversion
  7368. is lossy process.
  7369. The conversion must result in a file with the same extension when the
  7370. --drive-export-formats rules are applied to the uploded document.
  7371. Here are some examples for allowed and prohibited conversions.
  7372. export-formats import-formats Upload Ext Document Ext Allowed
  7373. ---------------- ---------------- ------------ -------------- ---------
  7374. odt odt odt odt Yes
  7375. odt docx,odt odt odt Yes
  7376. docx docx docx Yes
  7377. odt odt docx No
  7378. odt,docx docx,odt docx odt No
  7379. docx,odt docx,odt docx docx Yes
  7380. docx,odt docx,odt odt docx No
  7381. This limitation can be disabled by specifying
  7382. --drive-allow-import-name-change. When using this flag, rclone can
  7383. convert multiple files types resulting in the same document type at
  7384. once, eg with --drive-import-formats docx,odt,txt, all files having
  7385. these extension would result in a doument represented as a docx file.
  7386. This brings the additional risk of overwriting a document, if multiple
  7387. files have the same stem. Many rclone operations will not handle this
  7388. name change in any way. They assume an equal name when copying files and
  7389. might copy the file again or delete them when the name changes.
  7390. Here are the possible export extensions with their corresponding mime
  7391. types. Most of these can also be used for importing, but there more that
  7392. are not listed here. Some of these additional ones might only be
  7393. available when the operating system provides the correct MIME type
  7394. entries.
  7395. This list can be changed by Google Drive at any time and might not
  7396. represent the currently available converions.
  7397. Extension Mime Type Description
  7398. --------------------------------------------------------------------------- ------------------------------------------------------------------------------------------ -------------------------------------------------------------------------------------------------
  7399. csv text/csv Standard CSV format for Spreadsheets
  7400. docx application/vnd.openxmlformats-officedocument.wordprocessingml.document Microsoft Office Document
  7401. epub application/epub+zip E-book format
  7402. html text/html An HTML Document
  7403. jpg image/jpeg A JPEG Image File
  7404. json application/vnd.google-apps.script+json JSON Text Format
  7405. odp application/vnd.oasis.opendocument.presentation Openoffice Presentation
  7406. ods application/vnd.oasis.opendocument.spreadsheet Openoffice Spreadsheet
  7407. ods application/x-vnd.oasis.opendocument.spreadsheet Openoffice Spreadsheet
  7408. odt application/vnd.oasis.opendocument.text Openoffice Document
  7409. pdf application/pdf Adobe PDF Format
  7410. png image/png PNG Image Format
  7411. pptx application/vnd.openxmlformats-officedocument.presentationml.presentation Microsoft Office Powerpoint
  7412. rtf application/rtf Rich Text Format
  7413. svg image/svg+xml Scalable Vector Graphics Format
  7414. tsv text/tab-separated-values Standard TSV format for spreadsheets
  7415. txt text/plain Plain Text
  7416. xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet Microsoft Office Spreadsheet
  7417. zip application/zip A ZIP file of HTML, Images CSS
  7418. Google douments can also be exported as link files. These files will
  7419. open a browser window for the Google Docs website of that dument when
  7420. opened. The link file extension has to be specified as a
  7421. --drive-export-formats parameter. They will match all available Google
  7422. Documents.
  7423. Extension Description OS Support
  7424. ----------- ----------------------------------------- ----------------
  7425. desktop freedesktop.org specified desktop entry Linux
  7426. link.html An HTML Document with a redirect All
  7427. url INI style link file macOS, Windows
  7428. webloc macOS specific XML format macOS
  7429. Standard Options
  7430. Here are the standard options specific to drive (Google Drive).
  7431. --drive-client-id
  7432. Google Application Client Id Leave blank normally.
  7433. - Config: client_id
  7434. - Env Var: RCLONE_DRIVE_CLIENT_ID
  7435. - Type: string
  7436. - Default: ""
  7437. --drive-client-secret
  7438. Google Application Client Secret Leave blank normally.
  7439. - Config: client_secret
  7440. - Env Var: RCLONE_DRIVE_CLIENT_SECRET
  7441. - Type: string
  7442. - Default: ""
  7443. --drive-scope
  7444. Scope that rclone should use when requesting access from drive.
  7445. - Config: scope
  7446. - Env Var: RCLONE_DRIVE_SCOPE
  7447. - Type: string
  7448. - Default: ""
  7449. - Examples:
  7450. - "drive"
  7451. - Full access all files, excluding Application Data Folder.
  7452. - "drive.readonly"
  7453. - Read-only access to file metadata and file contents.
  7454. - "drive.file"
  7455. - Access to files created by rclone only.
  7456. - These are visible in the drive website.
  7457. - File authorization is revoked when the user deauthorizes the
  7458. app.
  7459. - "drive.appfolder"
  7460. - Allows read and write access to the Application Data folder.
  7461. - This is not visible in the drive website.
  7462. - "drive.metadata.readonly"
  7463. - Allows read-only access to file metadata but
  7464. - does not allow any access to read or download file content.
  7465. --drive-root-folder-id
  7466. ID of the root folder Leave blank normally. Fill in to access
  7467. "Computers" folders. (see docs).
  7468. - Config: root_folder_id
  7469. - Env Var: RCLONE_DRIVE_ROOT_FOLDER_ID
  7470. - Type: string
  7471. - Default: ""
  7472. --drive-service-account-file
  7473. Service Account Credentials JSON file path Leave blank normally. Needed
  7474. only if you want use SA instead of interactive login.
  7475. - Config: service_account_file
  7476. - Env Var: RCLONE_DRIVE_SERVICE_ACCOUNT_FILE
  7477. - Type: string
  7478. - Default: ""
  7479. Advanced Options
  7480. Here are the advanced options specific to drive (Google Drive).
  7481. --drive-service-account-credentials
  7482. Service Account Credentials JSON blob Leave blank normally. Needed only
  7483. if you want use SA instead of interactive login.
  7484. - Config: service_account_credentials
  7485. - Env Var: RCLONE_DRIVE_SERVICE_ACCOUNT_CREDENTIALS
  7486. - Type: string
  7487. - Default: ""
  7488. --drive-team-drive
  7489. ID of the Team Drive
  7490. - Config: team_drive
  7491. - Env Var: RCLONE_DRIVE_TEAM_DRIVE
  7492. - Type: string
  7493. - Default: ""
  7494. --drive-auth-owner-only
  7495. Only consider files owned by the authenticated user.
  7496. - Config: auth_owner_only
  7497. - Env Var: RCLONE_DRIVE_AUTH_OWNER_ONLY
  7498. - Type: bool
  7499. - Default: false
  7500. --drive-use-trash
  7501. Send files to the trash instead of deleting permanently. Defaults to
  7502. true, namely sending files to the trash. Use --drive-use-trash=false to
  7503. delete files permanently instead.
  7504. - Config: use_trash
  7505. - Env Var: RCLONE_DRIVE_USE_TRASH
  7506. - Type: bool
  7507. - Default: true
  7508. --drive-skip-gdocs
  7509. Skip google documents in all listings. If given, gdocs practically
  7510. become invisible to rclone.
  7511. - Config: skip_gdocs
  7512. - Env Var: RCLONE_DRIVE_SKIP_GDOCS
  7513. - Type: bool
  7514. - Default: false
  7515. --drive-shared-with-me
  7516. Only show files that are shared with me.
  7517. Instructs rclone to operate on your "Shared with me" folder (where
  7518. Google Drive lets you access the files and folders others have shared
  7519. with you).
  7520. This works both with the "list" (lsd, lsl, etc) and the "copy" commands
  7521. (copy, sync, etc), and with all other commands too.
  7522. - Config: shared_with_me
  7523. - Env Var: RCLONE_DRIVE_SHARED_WITH_ME
  7524. - Type: bool
  7525. - Default: false
  7526. --drive-trashed-only
  7527. Only show files that are in the trash. This will show trashed files in
  7528. their original directory structure.
  7529. - Config: trashed_only
  7530. - Env Var: RCLONE_DRIVE_TRASHED_ONLY
  7531. - Type: bool
  7532. - Default: false
  7533. --drive-formats
  7534. Deprecated: see export_formats
  7535. - Config: formats
  7536. - Env Var: RCLONE_DRIVE_FORMATS
  7537. - Type: string
  7538. - Default: ""
  7539. --drive-export-formats
  7540. Comma separated list of preferred formats for downloading Google docs.
  7541. - Config: export_formats
  7542. - Env Var: RCLONE_DRIVE_EXPORT_FORMATS
  7543. - Type: string
  7544. - Default: "docx,xlsx,pptx,svg"
  7545. --drive-import-formats
  7546. Comma separated list of preferred formats for uploading Google docs.
  7547. - Config: import_formats
  7548. - Env Var: RCLONE_DRIVE_IMPORT_FORMATS
  7549. - Type: string
  7550. - Default: ""
  7551. --drive-allow-import-name-change
  7552. Allow the filetype to change when uploading Google docs (e.g. file.doc
  7553. to file.docx). This will confuse sync and reupload every time.
  7554. - Config: allow_import_name_change
  7555. - Env Var: RCLONE_DRIVE_ALLOW_IMPORT_NAME_CHANGE
  7556. - Type: bool
  7557. - Default: false
  7558. --drive-use-created-date
  7559. Use file created date instead of modified date.,
  7560. Useful when downloading data and you want the creation date used in
  7561. place of the last modified date.
  7562. WARNING: This flag may have some unexpected consequences.
  7563. When uploading to your drive all files will be overwritten unless they
  7564. haven't been modified since their creation. And the inverse will occur
  7565. while downloading. This side effect can be avoided by using the
  7566. "--checksum" flag.
  7567. This feature was implemented to retain photos capture date as recorded
  7568. by google photos. You will first need to check the "Create a Google
  7569. Photos folder" option in your google drive settings. You can then copy
  7570. or move the photos locally and use the date the image was taken
  7571. (created) set as the modification date.
  7572. - Config: use_created_date
  7573. - Env Var: RCLONE_DRIVE_USE_CREATED_DATE
  7574. - Type: bool
  7575. - Default: false
  7576. --drive-list-chunk
  7577. Size of listing chunk 100-1000. 0 to disable.
  7578. - Config: list_chunk
  7579. - Env Var: RCLONE_DRIVE_LIST_CHUNK
  7580. - Type: int
  7581. - Default: 1000
  7582. --drive-impersonate
  7583. Impersonate this user when using a service account.
  7584. - Config: impersonate
  7585. - Env Var: RCLONE_DRIVE_IMPERSONATE
  7586. - Type: string
  7587. - Default: ""
  7588. --drive-alternate-export
  7589. Use alternate export URLs for google documents export.,
  7590. If this option is set this instructs rclone to use an alternate set of
  7591. export URLs for drive documents. Users have reported that the official
  7592. export URLs can't export large documents, whereas these unofficial ones
  7593. can.
  7594. See rclone issue #2243 for background, this google drive issue and this
  7595. helpful post.
  7596. - Config: alternate_export
  7597. - Env Var: RCLONE_DRIVE_ALTERNATE_EXPORT
  7598. - Type: bool
  7599. - Default: false
  7600. --drive-upload-cutoff
  7601. Cutoff for switching to chunked upload
  7602. - Config: upload_cutoff
  7603. - Env Var: RCLONE_DRIVE_UPLOAD_CUTOFF
  7604. - Type: SizeSuffix
  7605. - Default: 8M
  7606. --drive-chunk-size
  7607. Upload chunk size. Must a power of 2 >= 256k.
  7608. Making this larger will improve performance, but note that each chunk is
  7609. buffered in memory one per transfer.
  7610. Reducing this will reduce memory usage but decrease performance.
  7611. - Config: chunk_size
  7612. - Env Var: RCLONE_DRIVE_CHUNK_SIZE
  7613. - Type: SizeSuffix
  7614. - Default: 8M
  7615. --drive-acknowledge-abuse
  7616. Set to allow files which return cannotDownloadAbusiveFile to be
  7617. downloaded.
  7618. If downloading a file returns the error "This file has been identified
  7619. as malware or spam and cannot be downloaded" with the error code
  7620. "cannotDownloadAbusiveFile" then supply this flag to rclone to indicate
  7621. you acknowledge the risks of downloading the file and rclone will
  7622. download it anyway.
  7623. - Config: acknowledge_abuse
  7624. - Env Var: RCLONE_DRIVE_ACKNOWLEDGE_ABUSE
  7625. - Type: bool
  7626. - Default: false
  7627. --drive-keep-revision-forever
  7628. Keep new head revision of each file forever.
  7629. - Config: keep_revision_forever
  7630. - Env Var: RCLONE_DRIVE_KEEP_REVISION_FOREVER
  7631. - Type: bool
  7632. - Default: false
  7633. --drive-v2-download-min-size
  7634. If Object's are greater, use drive v2 API to download.
  7635. - Config: v2_download_min_size
  7636. - Env Var: RCLONE_DRIVE_V2_DOWNLOAD_MIN_SIZE
  7637. - Type: SizeSuffix
  7638. - Default: off
  7639. Limitations
  7640. Drive has quite a lot of rate limiting. This causes rclone to be limited
  7641. to transferring about 2 files per second only. Individual files may be
  7642. transferred much faster at 100s of MBytes/s but lots of small files can
  7643. take a long time.
  7644. Server side copies are also subject to a separate rate limit. If you see
  7645. User rate limit exceeded errors, wait at least 24 hours and retry. You
  7646. can disable server side copies with --disable copy to download and
  7647. upload the files if you prefer.
  7648. Limitations of Google Docs
  7649. Google docs will appear as size -1 in rclone ls and as size 0 in
  7650. anything which uses the VFS layer, eg rclone mount, rclone serve.
  7651. This is because rclone can't find out the size of the Google docs
  7652. without downloading them.
  7653. Google docs will transfer correctly with rclone sync, rclone copy etc as
  7654. rclone knows to ignore the size when doing the transfer.
  7655. However an unfortunate consequence of this is that you can't download
  7656. Google docs using rclone mount - you will get a 0 sized file. If you try
  7657. again the doc may gain its correct size and be downloadable.
  7658. Duplicated files
  7659. Sometimes, for no reason I've been able to track down, drive will
  7660. duplicate a file that rclone uploads. Drive unlike all the other remotes
  7661. can have duplicated files.
  7662. Duplicated files cause problems with the syncing and you will see
  7663. messages in the log about duplicates.
  7664. Use rclone dedupe to fix duplicated files.
  7665. Note that this isn't just a problem with rclone, even Google Photos on
  7666. Android duplicates files on drive sometimes.
  7667. Rclone appears to be re-copying files it shouldn't
  7668. The most likely cause of this is the duplicated file issue above - run
  7669. rclone dedupe and check your logs for duplicate object or directory
  7670. messages.
  7671. Making your own client_id
  7672. When you use rclone with Google drive in its default configuration you
  7673. are using rclone's client_id. This is shared between all the rclone
  7674. users. There is a global rate limit on the number of queries per second
  7675. that each client_id can do set by Google. rclone already has a high
  7676. quota and I will continue to make sure it is high enough by contacting
  7677. Google.
  7678. However you might find you get better performance making your own
  7679. client_id if you are a heavy user. Or you may not depending on exactly
  7680. how Google have been raising rclone's rate limit.
  7681. Here is how to create your own Google Drive client ID for rclone:
  7682. 1. Log into the Google API Console with your Google account. It doesn't
  7683. matter what Google account you use. (It need not be the same account
  7684. as the Google Drive you want to access)
  7685. 2. Select a project or create a new project.
  7686. 3. Under "ENABLE APIS AND SERVICES" search for "Drive", and enable the
  7687. then "Google Drive API".
  7688. 4. Click "Credentials" in the left-side panel (not "Create
  7689. credentials", which opens the wizard), then "Create credentials",
  7690. then "OAuth client ID". It will prompt you to set the OAuth consent
  7691. screen product name, if you haven't set one already.
  7692. 5. Choose an application type of "other", and click "Create". (the
  7693. default name is fine)
  7694. 6. It will show you a client ID and client secret. Use these values in
  7695. rclone config to add a new remote or edit an existing remote.
  7696. (Thanks to @balazer on github for these instructions.)
  7697. HTTP
  7698. The HTTP remote is a read only remote for reading files of a webserver.
  7699. The webserver should provide file listings which rclone will read and
  7700. turn into a remote. This has been tested with common webservers such as
  7701. Apache/Nginx/Caddy and will likely work with file listings from most web
  7702. servers. (If it doesn't then please file an issue, or send a pull
  7703. request!)
  7704. Paths are specified as remote: or remote:path/to/dir.
  7705. Here is an example of how to make a remote called remote. First run:
  7706. rclone config
  7707. This will guide you through an interactive setup process:
  7708. No remotes found - make a new one
  7709. n) New remote
  7710. s) Set configuration password
  7711. q) Quit config
  7712. n/s/q> n
  7713. name> remote
  7714. Type of storage to configure.
  7715. Choose a number from below, or type in your own value
  7716. 1 / Amazon Drive
  7717. \ "amazon cloud drive"
  7718. 2 / Amazon S3 (also Dreamhost, Ceph, Minio)
  7719. \ "s3"
  7720. 3 / Backblaze B2
  7721. \ "b2"
  7722. 4 / Dropbox
  7723. \ "dropbox"
  7724. 5 / Encrypt/Decrypt a remote
  7725. \ "crypt"
  7726. 6 / FTP Connection
  7727. \ "ftp"
  7728. 7 / Google Cloud Storage (this is not Google Drive)
  7729. \ "google cloud storage"
  7730. 8 / Google Drive
  7731. \ "drive"
  7732. 9 / Hubic
  7733. \ "hubic"
  7734. 10 / Local Disk
  7735. \ "local"
  7736. 11 / Microsoft OneDrive
  7737. \ "onedrive"
  7738. 12 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
  7739. \ "swift"
  7740. 13 / SSH/SFTP Connection
  7741. \ "sftp"
  7742. 14 / Yandex Disk
  7743. \ "yandex"
  7744. 15 / http Connection
  7745. \ "http"
  7746. Storage> http
  7747. URL of http host to connect to
  7748. Choose a number from below, or type in your own value
  7749. 1 / Connect to example.com
  7750. \ "https://example.com"
  7751. url> https://beta.rclone.org
  7752. Remote config
  7753. --------------------
  7754. [remote]
  7755. url = https://beta.rclone.org
  7756. --------------------
  7757. y) Yes this is OK
  7758. e) Edit this remote
  7759. d) Delete this remote
  7760. y/e/d> y
  7761. Current remotes:
  7762. Name Type
  7763. ==== ====
  7764. remote http
  7765. e) Edit existing remote
  7766. n) New remote
  7767. d) Delete remote
  7768. r) Rename remote
  7769. c) Copy remote
  7770. s) Set configuration password
  7771. q) Quit config
  7772. e/n/d/r/c/s/q> q
  7773. This remote is called remote and can now be used like this
  7774. See all the top level directories
  7775. rclone lsd remote:
  7776. List the contents of a directory
  7777. rclone ls remote:directory
  7778. Sync the remote directory to /home/local/directory, deleting any excess
  7779. files.
  7780. rclone sync remote:directory /home/local/directory
  7781. Read only
  7782. This remote is read only - you can't upload files to an HTTP server.
  7783. Modified time
  7784. Most HTTP servers store time accurate to 1 second.
  7785. Checksum
  7786. No checksums are stored.
  7787. Usage without a config file
  7788. Since the http remote only has one config parameter it is easy to use
  7789. without a config file:
  7790. rclone lsd --http-url https://beta.rclone.org :http:
  7791. Standard Options
  7792. Here are the standard options specific to http (http Connection).
  7793. --http-url
  7794. URL of http host to connect to
  7795. - Config: url
  7796. - Env Var: RCLONE_HTTP_URL
  7797. - Type: string
  7798. - Default: ""
  7799. - Examples:
  7800. - "https://example.com"
  7801. - Connect to example.com
  7802. Hubic
  7803. Paths are specified as remote:path
  7804. Paths are specified as remote:container (or remote: for the lsd
  7805. command.) You may put subdirectories in too, eg
  7806. remote:container/path/to/dir.
  7807. The initial setup for Hubic involves getting a token from Hubic which
  7808. you need to do in your browser. rclone config walks you through it.
  7809. Here is an example of how to make a remote called remote. First run:
  7810. rclone config
  7811. This will guide you through an interactive setup process:
  7812. n) New remote
  7813. s) Set configuration password
  7814. n/s> n
  7815. name> remote
  7816. Type of storage to configure.
  7817. Choose a number from below, or type in your own value
  7818. 1 / Amazon Drive
  7819. \ "amazon cloud drive"
  7820. 2 / Amazon S3 (also Dreamhost, Ceph, Minio)
  7821. \ "s3"
  7822. 3 / Backblaze B2
  7823. \ "b2"
  7824. 4 / Dropbox
  7825. \ "dropbox"
  7826. 5 / Encrypt/Decrypt a remote
  7827. \ "crypt"
  7828. 6 / Google Cloud Storage (this is not Google Drive)
  7829. \ "google cloud storage"
  7830. 7 / Google Drive
  7831. \ "drive"
  7832. 8 / Hubic
  7833. \ "hubic"
  7834. 9 / Local Disk
  7835. \ "local"
  7836. 10 / Microsoft OneDrive
  7837. \ "onedrive"
  7838. 11 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
  7839. \ "swift"
  7840. 12 / SSH/SFTP Connection
  7841. \ "sftp"
  7842. 13 / Yandex Disk
  7843. \ "yandex"
  7844. Storage> 8
  7845. Hubic Client Id - leave blank normally.
  7846. client_id>
  7847. Hubic Client Secret - leave blank normally.
  7848. client_secret>
  7849. Remote config
  7850. Use auto config?
  7851. * Say Y if not sure
  7852. * Say N if you are working on a remote or headless machine
  7853. y) Yes
  7854. n) No
  7855. y/n> y
  7856. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  7857. Log in and authorize rclone for access
  7858. Waiting for code...
  7859. Got code
  7860. --------------------
  7861. [remote]
  7862. client_id =
  7863. client_secret =
  7864. token = {"access_token":"XXXXXX"}
  7865. --------------------
  7866. y) Yes this is OK
  7867. e) Edit this remote
  7868. d) Delete this remote
  7869. y/e/d> y
  7870. See the remote setup docs for how to set it up on a machine with no
  7871. Internet browser available.
  7872. Note that rclone runs a webserver on your local machine to collect the
  7873. token as returned from Hubic. This only runs from the moment it opens
  7874. your browser to the moment you get back the verification code. This is
  7875. on http://127.0.0.1:53682/ and this it may require you to unblock it
  7876. temporarily if you are running a host firewall.
  7877. Once configured you can then use rclone like this,
  7878. List containers in the top level of your Hubic
  7879. rclone lsd remote:
  7880. List all the files in your Hubic
  7881. rclone ls remote:
  7882. To copy a local directory to an Hubic directory called backup
  7883. rclone copy /home/source remote:backup
  7884. If you want the directory to be visible in the official _Hubic browser_,
  7885. you need to copy your files to the default directory
  7886. rclone copy /home/source remote:default/backup
  7887. --fast-list
  7888. This remote supports --fast-list which allows you to use fewer
  7889. transactions in exchange for more memory. See the rclone docs for more
  7890. details.
  7891. Modified time
  7892. The modified time is stored as metadata on the object as
  7893. X-Object-Meta-Mtime as floating point since the epoch accurate to 1 ns.
  7894. This is a defacto standard (used in the official python-swiftclient
  7895. amongst others) for storing the modification time for an object.
  7896. Note that Hubic wraps the Swift backend, so most of the properties of
  7897. are the same.
  7898. Standard Options
  7899. Here are the standard options specific to hubic (Hubic).
  7900. --hubic-client-id
  7901. Hubic Client Id Leave blank normally.
  7902. - Config: client_id
  7903. - Env Var: RCLONE_HUBIC_CLIENT_ID
  7904. - Type: string
  7905. - Default: ""
  7906. --hubic-client-secret
  7907. Hubic Client Secret Leave blank normally.
  7908. - Config: client_secret
  7909. - Env Var: RCLONE_HUBIC_CLIENT_SECRET
  7910. - Type: string
  7911. - Default: ""
  7912. Advanced Options
  7913. Here are the advanced options specific to hubic (Hubic).
  7914. --hubic-chunk-size
  7915. Above this size files will be chunked into a _segments container.
  7916. Above this size files will be chunked into a _segments container. The
  7917. default for this is 5GB which is its maximum value.
  7918. - Config: chunk_size
  7919. - Env Var: RCLONE_HUBIC_CHUNK_SIZE
  7920. - Type: SizeSuffix
  7921. - Default: 5G
  7922. Limitations
  7923. This uses the normal OpenStack Swift mechanism to refresh the Swift API
  7924. credentials and ignores the expires field returned by the Hubic API.
  7925. The Swift API doesn't return a correct MD5SUM for segmented files
  7926. (Dynamic or Static Large Objects) so rclone won't check or use the
  7927. MD5SUM for these.
  7928. Jottacloud
  7929. Paths are specified as remote:path
  7930. Paths may be as deep as required, eg remote:directory/subdirectory.
  7931. To configure Jottacloud you will need to enter your username and
  7932. password and select a mountpoint.
  7933. Here is an example of how to make a remote called remote. First run:
  7934. rclone config
  7935. This will guide you through an interactive setup process:
  7936. No remotes found - make a new one
  7937. n) New remote
  7938. s) Set configuration password
  7939. q) Quit config
  7940. n/s/q> n
  7941. name> remote
  7942. Type of storage to configure.
  7943. Enter a string value. Press Enter for the default ("").
  7944. Choose a number from below, or type in your own value
  7945. [snip]
  7946. 13 / JottaCloud
  7947. \ "jottacloud"
  7948. [snip]
  7949. Storage> jottacloud
  7950. User Name
  7951. Enter a string value. Press Enter for the default ("").
  7952. user> user
  7953. Password.
  7954. y) Yes type in my own password
  7955. g) Generate random password
  7956. n) No leave this optional password blank
  7957. y/g/n> y
  7958. Enter the password:
  7959. password:
  7960. Confirm the password:
  7961. password:
  7962. The mountpoint to use.
  7963. Enter a string value. Press Enter for the default ("").
  7964. Choose a number from below, or type in your own value
  7965. 1 / Will be synced by the official client.
  7966. \ "Sync"
  7967. 2 / Archive
  7968. \ "Archive"
  7969. mountpoint> Archive
  7970. Remote config
  7971. --------------------
  7972. [remote]
  7973. type = jottacloud
  7974. user = user
  7975. pass = *** ENCRYPTED ***
  7976. mountpoint = Archive
  7977. --------------------
  7978. y) Yes this is OK
  7979. e) Edit this remote
  7980. d) Delete this remote
  7981. y/e/d> y
  7982. Once configured you can then use rclone like this,
  7983. List directories in top level of your Jottacloud
  7984. rclone lsd remote:
  7985. List all the files in your Jottacloud
  7986. rclone ls remote:
  7987. To copy a local directory to an Jottacloud directory called backup
  7988. rclone copy /home/source remote:backup
  7989. --fast-list
  7990. This remote supports --fast-list which allows you to use fewer
  7991. transactions in exchange for more memory. See the rclone docs for more
  7992. details.
  7993. Note that the implementation in Jottacloud always uses only a single API
  7994. request to get the entire list, so for large folders this could lead to
  7995. long wait time before the first results are shown.
  7996. Modified time and hashes
  7997. Jottacloud allows modification times to be set on objects accurate to 1
  7998. second. These will be used to detect whether objects need syncing or
  7999. not.
  8000. Jottacloud supports MD5 type hashes, so you can use the --checksum flag.
  8001. Note that Jottacloud requires the MD5 hash before upload so if the
  8002. source does not have an MD5 checksum then the file will be cached
  8003. temporarily on disk (wherever the TMPDIR environment variable points to)
  8004. before it is uploaded. Small files will be cached in memory - see the
  8005. --jottacloud-md5-memory-limit flag.
  8006. Deleting files
  8007. By default rclone will send all files to the trash when deleting files.
  8008. Due to a lack of API documentation emptying the trash is currently only
  8009. possible via the Jottacloud website. If deleting permanently is required
  8010. then use the --jottacloud-hard-delete flag, or set the equivalent
  8011. environment variable.
  8012. Versions
  8013. Jottacloud supports file versioning. When rclone uploads a new version
  8014. of a file it creates a new version of it. Currently rclone only supports
  8015. retrieving the current version but older versions can be accessed via
  8016. the Jottacloud Website.
  8017. Quota information
  8018. To view your current quota you can use the rclone about remote: command
  8019. which will display your usage limit (unless it is unlimited) and the
  8020. current usage.
  8021. Standard Options
  8022. Here are the standard options specific to jottacloud (JottaCloud).
  8023. --jottacloud-user
  8024. User Name
  8025. - Config: user
  8026. - Env Var: RCLONE_JOTTACLOUD_USER
  8027. - Type: string
  8028. - Default: ""
  8029. --jottacloud-pass
  8030. Password.
  8031. - Config: pass
  8032. - Env Var: RCLONE_JOTTACLOUD_PASS
  8033. - Type: string
  8034. - Default: ""
  8035. --jottacloud-mountpoint
  8036. The mountpoint to use.
  8037. - Config: mountpoint
  8038. - Env Var: RCLONE_JOTTACLOUD_MOUNTPOINT
  8039. - Type: string
  8040. - Default: ""
  8041. - Examples:
  8042. - "Sync"
  8043. - Will be synced by the official client.
  8044. - "Archive"
  8045. - Archive
  8046. Advanced Options
  8047. Here are the advanced options specific to jottacloud (JottaCloud).
  8048. --jottacloud-md5-memory-limit
  8049. Files bigger than this will be cached on disk to calculate the MD5 if
  8050. required.
  8051. - Config: md5_memory_limit
  8052. - Env Var: RCLONE_JOTTACLOUD_MD5_MEMORY_LIMIT
  8053. - Type: SizeSuffix
  8054. - Default: 10M
  8055. --jottacloud-hard-delete
  8056. Delete files permanently rather than putting them into the trash.
  8057. - Config: hard_delete
  8058. - Env Var: RCLONE_JOTTACLOUD_HARD_DELETE
  8059. - Type: bool
  8060. - Default: false
  8061. --jottacloud-unlink
  8062. Remove existing public link to file/folder with link command rather than
  8063. creating. Default is false, meaning link command will create or retrieve
  8064. public link.
  8065. - Config: unlink
  8066. - Env Var: RCLONE_JOTTACLOUD_UNLINK
  8067. - Type: bool
  8068. - Default: false
  8069. Limitations
  8070. Note that Jottacloud is case insensitive so you can't have a file called
  8071. "Hello.doc" and one called "hello.doc".
  8072. There are quite a few characters that can't be in Jottacloud file names.
  8073. Rclone will map these names to and from an identical looking unicode
  8074. equivalent. For example if a file has a ? in it will be mapped to ?
  8075. instead.
  8076. Jottacloud only supports filenames up to 255 characters in length.
  8077. Troubleshooting
  8078. Jottacloud exhibits some inconsistent behaviours regarding deleted files
  8079. and folders which may cause Copy, Move and DirMove operations to
  8080. previously deleted paths to fail. Emptying the trash should help in such
  8081. cases.
  8082. Mega
  8083. Mega is a cloud storage and file hosting service known for its security
  8084. feature where all files are encrypted locally before they are uploaded.
  8085. This prevents anyone (including employees of Mega) from accessing the
  8086. files without knowledge of the key used for encryption.
  8087. This is an rclone backend for Mega which supports the file transfer
  8088. features of Mega using the same client side encryption.
  8089. Paths are specified as remote:path
  8090. Paths may be as deep as required, eg remote:directory/subdirectory.
  8091. Here is an example of how to make a remote called remote. First run:
  8092. rclone config
  8093. This will guide you through an interactive setup process:
  8094. No remotes found - make a new one
  8095. n) New remote
  8096. s) Set configuration password
  8097. q) Quit config
  8098. n/s/q> n
  8099. name> remote
  8100. Type of storage to configure.
  8101. Choose a number from below, or type in your own value
  8102. 1 / Alias for a existing remote
  8103. \ "alias"
  8104. [snip]
  8105. 14 / Mega
  8106. \ "mega"
  8107. [snip]
  8108. 23 / http Connection
  8109. \ "http"
  8110. Storage> mega
  8111. User name
  8112. user> you@example.com
  8113. Password.
  8114. y) Yes type in my own password
  8115. g) Generate random password
  8116. n) No leave this optional password blank
  8117. y/g/n> y
  8118. Enter the password:
  8119. password:
  8120. Confirm the password:
  8121. password:
  8122. Remote config
  8123. --------------------
  8124. [remote]
  8125. type = mega
  8126. user = you@example.com
  8127. pass = *** ENCRYPTED ***
  8128. --------------------
  8129. y) Yes this is OK
  8130. e) Edit this remote
  8131. d) Delete this remote
  8132. y/e/d> y
  8133. Once configured you can then use rclone like this,
  8134. List directories in top level of your Mega
  8135. rclone lsd remote:
  8136. List all the files in your Mega
  8137. rclone ls remote:
  8138. To copy a local directory to an Mega directory called backup
  8139. rclone copy /home/source remote:backup
  8140. Modified time and hashes
  8141. Mega does not support modification times or hashes yet.
  8142. Duplicated files
  8143. Mega can have two files with exactly the same name and path (unlike a
  8144. normal file system).
  8145. Duplicated files cause problems with the syncing and you will see
  8146. messages in the log about duplicates.
  8147. Use rclone dedupe to fix duplicated files.
  8148. Standard Options
  8149. Here are the standard options specific to mega (Mega).
  8150. --mega-user
  8151. User name
  8152. - Config: user
  8153. - Env Var: RCLONE_MEGA_USER
  8154. - Type: string
  8155. - Default: ""
  8156. --mega-pass
  8157. Password.
  8158. - Config: pass
  8159. - Env Var: RCLONE_MEGA_PASS
  8160. - Type: string
  8161. - Default: ""
  8162. Advanced Options
  8163. Here are the advanced options specific to mega (Mega).
  8164. --mega-debug
  8165. Output more debug from Mega.
  8166. If this flag is set (along with -vv) it will print further debugging
  8167. information from the mega backend.
  8168. - Config: debug
  8169. - Env Var: RCLONE_MEGA_DEBUG
  8170. - Type: bool
  8171. - Default: false
  8172. --mega-hard-delete
  8173. Delete files permanently rather than putting them into the trash.
  8174. Normally the mega backend will put all deletions into the trash rather
  8175. than permanently deleting them. If you specify this then rclone will
  8176. permanently delete objects instead.
  8177. - Config: hard_delete
  8178. - Env Var: RCLONE_MEGA_HARD_DELETE
  8179. - Type: bool
  8180. - Default: false
  8181. Limitations
  8182. This backend uses the go-mega go library which is an opensource go
  8183. library implementing the Mega API. There doesn't appear to be any
  8184. documentation for the mega protocol beyond the mega C++ SDK source code
  8185. so there are likely quite a few errors still remaining in this library.
  8186. Mega allows duplicate files which may confuse rclone.
  8187. Microsoft Azure Blob Storage
  8188. Paths are specified as remote:container (or remote: for the lsd
  8189. command.) You may put subdirectories in too, eg
  8190. remote:container/path/to/dir.
  8191. Here is an example of making a Microsoft Azure Blob Storage
  8192. configuration. For a remote called remote. First run:
  8193. rclone config
  8194. This will guide you through an interactive setup process:
  8195. No remotes found - make a new one
  8196. n) New remote
  8197. s) Set configuration password
  8198. q) Quit config
  8199. n/s/q> n
  8200. name> remote
  8201. Type of storage to configure.
  8202. Choose a number from below, or type in your own value
  8203. 1 / Amazon Drive
  8204. \ "amazon cloud drive"
  8205. 2 / Amazon S3 (also Dreamhost, Ceph, Minio)
  8206. \ "s3"
  8207. 3 / Backblaze B2
  8208. \ "b2"
  8209. 4 / Box
  8210. \ "box"
  8211. 5 / Dropbox
  8212. \ "dropbox"
  8213. 6 / Encrypt/Decrypt a remote
  8214. \ "crypt"
  8215. 7 / FTP Connection
  8216. \ "ftp"
  8217. 8 / Google Cloud Storage (this is not Google Drive)
  8218. \ "google cloud storage"
  8219. 9 / Google Drive
  8220. \ "drive"
  8221. 10 / Hubic
  8222. \ "hubic"
  8223. 11 / Local Disk
  8224. \ "local"
  8225. 12 / Microsoft Azure Blob Storage
  8226. \ "azureblob"
  8227. 13 / Microsoft OneDrive
  8228. \ "onedrive"
  8229. 14 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
  8230. \ "swift"
  8231. 15 / SSH/SFTP Connection
  8232. \ "sftp"
  8233. 16 / Yandex Disk
  8234. \ "yandex"
  8235. 17 / http Connection
  8236. \ "http"
  8237. Storage> azureblob
  8238. Storage Account Name
  8239. account> account_name
  8240. Storage Account Key
  8241. key> base64encodedkey==
  8242. Endpoint for the service - leave blank normally.
  8243. endpoint>
  8244. Remote config
  8245. --------------------
  8246. [remote]
  8247. account = account_name
  8248. key = base64encodedkey==
  8249. endpoint =
  8250. --------------------
  8251. y) Yes this is OK
  8252. e) Edit this remote
  8253. d) Delete this remote
  8254. y/e/d> y
  8255. See all containers
  8256. rclone lsd remote:
  8257. Make a new container
  8258. rclone mkdir remote:container
  8259. List the contents of a container
  8260. rclone ls remote:container
  8261. Sync /home/local/directory to the remote container, deleting any excess
  8262. files in the container.
  8263. rclone sync /home/local/directory remote:container
  8264. --fast-list
  8265. This remote supports --fast-list which allows you to use fewer
  8266. transactions in exchange for more memory. See the rclone docs for more
  8267. details.
  8268. Modified time
  8269. The modified time is stored as metadata on the object with the mtime
  8270. key. It is stored using RFC3339 Format time with nanosecond precision.
  8271. The metadata is supplied during directory listings so there is no
  8272. overhead to using it.
  8273. Hashes
  8274. MD5 hashes are stored with blobs. However blobs that were uploaded in
  8275. chunks only have an MD5 if the source remote was capable of MD5 hashes,
  8276. eg the local disk.
  8277. Authenticating with Azure Blob Storage
  8278. Rclone has 3 ways of authenticating with Azure Blob Storage:
  8279. Account and Key
  8280. This is the most straight forward and least flexible way. Just fill in
  8281. the account and key lines and leave the rest blank.
  8282. SAS URL
  8283. This can be an account level SAS URL or container level SAS URL
  8284. To use it leave account, key blank and fill in sas_url.
  8285. Account level SAS URL or container level SAS URL can be obtained from
  8286. Azure portal or Azure Storage Explorer. To get a container level SAS URL
  8287. right click on a container in the Azure Blob explorer in the Azure
  8288. portal.
  8289. If You use container level SAS URL, rclone operations are permitted only
  8290. on particular container, eg
  8291. rclone ls azureblob:container or rclone ls azureblob:
  8292. Since container name already exists in SAS URL, you can leave it empty
  8293. as well.
  8294. However these will not work
  8295. rclone lsd azureblob:
  8296. rclone ls azureblob:othercontainer
  8297. This would be useful for temporarily allowing third parties access to a
  8298. single container or putting credentials into an untrusted environment.
  8299. Multipart uploads
  8300. Rclone supports multipart uploads with Azure Blob storage. Files bigger
  8301. than 256MB will be uploaded using chunked upload by default.
  8302. The files will be uploaded in parallel in 4MB chunks (by default). Note
  8303. that these chunks are buffered in memory and there may be up to
  8304. --transfers of them being uploaded at once.
  8305. Files can't be split into more than 50,000 chunks so by default, so the
  8306. largest file that can be uploaded with 4MB chunk size is 195GB. Above
  8307. this rclone will double the chunk size until it creates less than 50,000
  8308. chunks. By default this will mean a maximum file size of 3.2TB can be
  8309. uploaded. This can be raised to 5TB using --azureblob-chunk-size 100M.
  8310. Note that rclone doesn't commit the block list until the end of the
  8311. upload which means that there is a limit of 9.5TB of multipart uploads
  8312. in progress as Azure won't allow more than that amount of uncommitted
  8313. blocks.
  8314. Standard Options
  8315. Here are the standard options specific to azureblob (Microsoft Azure
  8316. Blob Storage).
  8317. --azureblob-account
  8318. Storage Account Name (leave blank to use connection string or SAS URL)
  8319. - Config: account
  8320. - Env Var: RCLONE_AZUREBLOB_ACCOUNT
  8321. - Type: string
  8322. - Default: ""
  8323. --azureblob-key
  8324. Storage Account Key (leave blank to use connection string or SAS URL)
  8325. - Config: key
  8326. - Env Var: RCLONE_AZUREBLOB_KEY
  8327. - Type: string
  8328. - Default: ""
  8329. --azureblob-sas-url
  8330. SAS URL for container level access only (leave blank if using
  8331. account/key or connection string)
  8332. - Config: sas_url
  8333. - Env Var: RCLONE_AZUREBLOB_SAS_URL
  8334. - Type: string
  8335. - Default: ""
  8336. Advanced Options
  8337. Here are the advanced options specific to azureblob (Microsoft Azure
  8338. Blob Storage).
  8339. --azureblob-endpoint
  8340. Endpoint for the service Leave blank normally.
  8341. - Config: endpoint
  8342. - Env Var: RCLONE_AZUREBLOB_ENDPOINT
  8343. - Type: string
  8344. - Default: ""
  8345. --azureblob-upload-cutoff
  8346. Cutoff for switching to chunked upload (<= 256MB).
  8347. - Config: upload_cutoff
  8348. - Env Var: RCLONE_AZUREBLOB_UPLOAD_CUTOFF
  8349. - Type: SizeSuffix
  8350. - Default: 256M
  8351. --azureblob-chunk-size
  8352. Upload chunk size (<= 100MB).
  8353. Note that this is stored in memory and there may be up to "--transfers"
  8354. chunks stored at once in memory.
  8355. - Config: chunk_size
  8356. - Env Var: RCLONE_AZUREBLOB_CHUNK_SIZE
  8357. - Type: SizeSuffix
  8358. - Default: 4M
  8359. --azureblob-list-chunk
  8360. Size of blob list.
  8361. This sets the number of blobs requested in each listing chunk. Default
  8362. is the maximum, 5000. "List blobs" requests are permitted 2 minutes per
  8363. megabyte to complete. If an operation is taking longer than 2 minutes
  8364. per megabyte on average, it will time out ( source ). This can be used
  8365. to limit the number of blobs items to return, to avoid the time out.
  8366. - Config: list_chunk
  8367. - Env Var: RCLONE_AZUREBLOB_LIST_CHUNK
  8368. - Type: int
  8369. - Default: 5000
  8370. --azureblob-access-tier
  8371. Access tier of blob: hot, cool or archive.
  8372. Archived blobs can be restored by setting access tier to hot or cool.
  8373. Leave blank if you intend to use default access tier, which is set at
  8374. account level
  8375. If there is no "access tier" specified, rclone doesn't apply any tier.
  8376. rclone performs "Set Tier" operation on blobs while uploading, if
  8377. objects are not modified, specifying "access tier" to new one will have
  8378. no effect. If blobs are in "archive tier" at remote, trying to perform
  8379. data transfer operations from remote will not be allowed. User should
  8380. first restore by tiering blob to "Hot" or "Cool".
  8381. - Config: access_tier
  8382. - Env Var: RCLONE_AZUREBLOB_ACCESS_TIER
  8383. - Type: string
  8384. - Default: ""
  8385. Limitations
  8386. MD5 sums are only uploaded with chunked files if the source has an MD5
  8387. sum. This will always be the case for a local to azure copy.
  8388. Microsoft OneDrive
  8389. Paths are specified as remote:path
  8390. Paths may be as deep as required, eg remote:directory/subdirectory.
  8391. The initial setup for OneDrive involves getting a token from Microsoft
  8392. which you need to do in your browser. rclone config walks you through
  8393. it.
  8394. Here is an example of how to make a remote called remote. First run:
  8395. rclone config
  8396. This will guide you through an interactive setup process:
  8397. e) Edit existing remote
  8398. n) New remote
  8399. d) Delete remote
  8400. r) Rename remote
  8401. c) Copy remote
  8402. s) Set configuration password
  8403. q) Quit config
  8404. e/n/d/r/c/s/q> n
  8405. name> remote
  8406. Type of storage to configure.
  8407. Enter a string value. Press Enter for the default ("").
  8408. Choose a number from below, or type in your own value
  8409. ...
  8410. 17 / Microsoft OneDrive
  8411. \ "onedrive"
  8412. ...
  8413. Storage> 17
  8414. Microsoft App Client Id
  8415. Leave blank normally.
  8416. Enter a string value. Press Enter for the default ("").
  8417. client_id>
  8418. Microsoft App Client Secret
  8419. Leave blank normally.
  8420. Enter a string value. Press Enter for the default ("").
  8421. client_secret>
  8422. Edit advanced config? (y/n)
  8423. y) Yes
  8424. n) No
  8425. y/n> n
  8426. Remote config
  8427. Use auto config?
  8428. * Say Y if not sure
  8429. * Say N if you are working on a remote or headless machine
  8430. y) Yes
  8431. n) No
  8432. y/n> y
  8433. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  8434. Log in and authorize rclone for access
  8435. Waiting for code...
  8436. Got code
  8437. Choose a number from below, or type in an existing value
  8438. 1 / OneDrive Personal or Business
  8439. \ "onedrive"
  8440. 2 / Sharepoint site
  8441. \ "sharepoint"
  8442. 3 / Type in driveID
  8443. \ "driveid"
  8444. 4 / Type in SiteID
  8445. \ "siteid"
  8446. 5 / Search a Sharepoint site
  8447. \ "search"
  8448. Your choice> 1
  8449. Found 1 drives, please select the one you want to use:
  8450. 0: OneDrive (business) id=b!Eqwertyuiopasdfghjklzxcvbnm-7mnbvcxzlkjhgfdsapoiuytrewqk
  8451. Chose drive to use:> 0
  8452. Found drive 'root' of type 'business', URL: https://org-my.sharepoint.com/personal/you/Documents
  8453. Is that okay?
  8454. y) Yes
  8455. n) No
  8456. y/n> y
  8457. --------------------
  8458. [remote]
  8459. type = onedrive
  8460. token = {"access_token":"youraccesstoken","token_type":"Bearer","refresh_token":"yourrefreshtoken","expiry":"2018-08-26T22:39:52.486512262+08:00"}
  8461. drive_id = b!Eqwertyuiopasdfghjklzxcvbnm-7mnbvcxzlkjhgfdsapoiuytrewqk
  8462. drive_type = business
  8463. --------------------
  8464. y) Yes this is OK
  8465. e) Edit this remote
  8466. d) Delete this remote
  8467. y/e/d> y
  8468. See the remote setup docs for how to set it up on a machine with no
  8469. Internet browser available.
  8470. Note that rclone runs a webserver on your local machine to collect the
  8471. token as returned from Microsoft. This only runs from the moment it
  8472. opens your browser to the moment you get back the verification code.
  8473. This is on http://127.0.0.1:53682/ and this it may require you to
  8474. unblock it temporarily if you are running a host firewall.
  8475. Once configured you can then use rclone like this,
  8476. List directories in top level of your OneDrive
  8477. rclone lsd remote:
  8478. List all the files in your OneDrive
  8479. rclone ls remote:
  8480. To copy a local directory to an OneDrive directory called backup
  8481. rclone copy /home/source remote:backup
  8482. Getting your own Client ID and Key
  8483. rclone uses a pair of Client ID and Key shared by all rclone users when
  8484. performing requests by default. If you are having problems with them
  8485. (E.g., seeing a lot of throttling), you can get your own Client ID and
  8486. Key by following the steps below:
  8487. 1. Open https://apps.dev.microsoft.com/#/appList, then click Add an app
  8488. (Choose Converged applications if applicable)
  8489. 2. Enter a name for your app, and click continue. Copy and keep the
  8490. Application Id under the app name for later use.
  8491. 3. Under section Application Secrets, click Generate New Password. Copy
  8492. and keep that password for later use.
  8493. 4. Under section Platforms, click Add platform, then Web. Enter
  8494. http://localhost:53682/ in Redirect URLs.
  8495. 5. Under section Microsoft Graph Permissions, Add these
  8496. delegated permissions: Files.Read, Files.ReadWrite, Files.Read.All,
  8497. Files.ReadWrite.All, offline_access, User.Read.
  8498. 6. Scroll to the bottom and click Save.
  8499. Now the application is complete. Run rclone config to create or edit a
  8500. OneDrive remote. Supply the app ID and password as Client ID and Secret,
  8501. respectively. rclone will walk you through the remaining steps.
  8502. Modified time and hashes
  8503. OneDrive allows modification times to be set on objects accurate to 1
  8504. second. These will be used to detect whether objects need syncing or
  8505. not.
  8506. OneDrive personal supports SHA1 type hashes. OneDrive for business and
  8507. Sharepoint Server support QuickXorHash.
  8508. For all types of OneDrive you can use the --checksum flag.
  8509. Deleting files
  8510. Any files you delete with rclone will end up in the trash. Microsoft
  8511. doesn't provide an API to permanently delete files, nor to empty the
  8512. trash, so you will have to do that with one of Microsoft's apps or via
  8513. the OneDrive website.
  8514. Standard Options
  8515. Here are the standard options specific to onedrive (Microsoft OneDrive).
  8516. --onedrive-client-id
  8517. Microsoft App Client Id Leave blank normally.
  8518. - Config: client_id
  8519. - Env Var: RCLONE_ONEDRIVE_CLIENT_ID
  8520. - Type: string
  8521. - Default: ""
  8522. --onedrive-client-secret
  8523. Microsoft App Client Secret Leave blank normally.
  8524. - Config: client_secret
  8525. - Env Var: RCLONE_ONEDRIVE_CLIENT_SECRET
  8526. - Type: string
  8527. - Default: ""
  8528. Advanced Options
  8529. Here are the advanced options specific to onedrive (Microsoft OneDrive).
  8530. --onedrive-chunk-size
  8531. Chunk size to upload files with - must be multiple of 320k.
  8532. Above this size files will be chunked - must be multiple of 320k. Note
  8533. that the chunks will be buffered into memory.
  8534. - Config: chunk_size
  8535. - Env Var: RCLONE_ONEDRIVE_CHUNK_SIZE
  8536. - Type: SizeSuffix
  8537. - Default: 10M
  8538. --onedrive-drive-id
  8539. The ID of the drive to use
  8540. - Config: drive_id
  8541. - Env Var: RCLONE_ONEDRIVE_DRIVE_ID
  8542. - Type: string
  8543. - Default: ""
  8544. --onedrive-drive-type
  8545. The type of the drive ( personal | business | documentLibrary )
  8546. - Config: drive_type
  8547. - Env Var: RCLONE_ONEDRIVE_DRIVE_TYPE
  8548. - Type: string
  8549. - Default: ""
  8550. --onedrive-expose-onenote-files
  8551. Set to make OneNote files show up in directory listings.
  8552. By default rclone will hide OneNote files in directory listings because
  8553. operations like "Open" and "Update" won't work on them. But this
  8554. behaviour may also prevent you from deleting them. If you want to delete
  8555. OneNote files or otherwise want them to show up in directory listing,
  8556. set this option.
  8557. - Config: expose_onenote_files
  8558. - Env Var: RCLONE_ONEDRIVE_EXPOSE_ONENOTE_FILES
  8559. - Type: bool
  8560. - Default: false
  8561. Limitations
  8562. Note that OneDrive is case insensitive so you can't have a file called
  8563. "Hello.doc" and one called "hello.doc".
  8564. There are quite a few characters that can't be in OneDrive file names.
  8565. These can't occur on Windows platforms, but on non-Windows platforms
  8566. they are common. Rclone will map these names to and from an identical
  8567. looking unicode equivalent. For example if a file has a ? in it will be
  8568. mapped to ? instead.
  8569. The largest allowed file size is 10GiB (10,737,418,240 bytes).
  8570. Versioning issue
  8571. Every change in OneDrive causes the service to create a new version.
  8572. This counts against a users quota. For example changing the modification
  8573. time of a file creates a second version, so the file is using twice the
  8574. space.
  8575. The copy is the only rclone command affected by this as we copy the file
  8576. and then afterwards set the modification time to match the source file.
  8577. User Weropol has found a method to disable versioning on OneDrive
  8578. 1. Open the settings menu by clicking on the gear symbol at the top of
  8579. the OneDrive Business page.
  8580. 2. Click Site settings.
  8581. 3. Once on the Site settings page, navigate to Site Administration >
  8582. Site libraries and lists.
  8583. 4. Click Customize "Documents".
  8584. 5. Click General Settings > Versioning Settings.
  8585. 6. Under Document Version History select the option No versioning.
  8586. Note: This will disable the creation of new file versions, but will
  8587. not remove any previous versions. Your documents are safe.
  8588. 7. Apply the changes by clicking OK.
  8589. 8. Use rclone to upload or modify files. (I also use the
  8590. --no-update-modtime flag)
  8591. 9. Restore the versioning settings after using rclone. (Optional)
  8592. Troubleshooting
  8593. Error: access_denied
  8594. Code: AADSTS65005
  8595. 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.
  8596. This means that rclone can't use the OneDrive for Business API with your
  8597. account. You can't do much about it, maybe write an email to your
  8598. admins.
  8599. However, there are other ways to interact with your OneDrive account.
  8600. Have a look at the webdav backend: https://rclone.org/webdav/#sharepoint
  8601. OpenDrive
  8602. Paths are specified as remote:path
  8603. Paths may be as deep as required, eg remote:directory/subdirectory.
  8604. Here is an example of how to make a remote called remote. First run:
  8605. rclone config
  8606. This will guide you through an interactive setup process:
  8607. n) New remote
  8608. d) Delete remote
  8609. q) Quit config
  8610. e/n/d/q> n
  8611. name> remote
  8612. Type of storage to configure.
  8613. Choose a number from below, or type in your own value
  8614. 1 / Amazon Drive
  8615. \ "amazon cloud drive"
  8616. 2 / Amazon S3 (also Dreamhost, Ceph, Minio)
  8617. \ "s3"
  8618. 3 / Backblaze B2
  8619. \ "b2"
  8620. 4 / Dropbox
  8621. \ "dropbox"
  8622. 5 / Encrypt/Decrypt a remote
  8623. \ "crypt"
  8624. 6 / Google Cloud Storage (this is not Google Drive)
  8625. \ "google cloud storage"
  8626. 7 / Google Drive
  8627. \ "drive"
  8628. 8 / Hubic
  8629. \ "hubic"
  8630. 9 / Local Disk
  8631. \ "local"
  8632. 10 / OpenDrive
  8633. \ "opendrive"
  8634. 11 / Microsoft OneDrive
  8635. \ "onedrive"
  8636. 12 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
  8637. \ "swift"
  8638. 13 / SSH/SFTP Connection
  8639. \ "sftp"
  8640. 14 / Yandex Disk
  8641. \ "yandex"
  8642. Storage> 10
  8643. Username
  8644. username>
  8645. Password
  8646. y) Yes type in my own password
  8647. g) Generate random password
  8648. y/g> y
  8649. Enter the password:
  8650. password:
  8651. Confirm the password:
  8652. password:
  8653. --------------------
  8654. [remote]
  8655. username =
  8656. password = *** ENCRYPTED ***
  8657. --------------------
  8658. y) Yes this is OK
  8659. e) Edit this remote
  8660. d) Delete this remote
  8661. y/e/d> y
  8662. List directories in top level of your OpenDrive
  8663. rclone lsd remote:
  8664. List all the files in your OpenDrive
  8665. rclone ls remote:
  8666. To copy a local directory to an OpenDrive directory called backup
  8667. rclone copy /home/source remote:backup
  8668. Modified time and MD5SUMs
  8669. OpenDrive allows modification times to be set on objects accurate to 1
  8670. second. These will be used to detect whether objects need syncing or
  8671. not.
  8672. Standard Options
  8673. Here are the standard options specific to opendrive (OpenDrive).
  8674. --opendrive-username
  8675. Username
  8676. - Config: username
  8677. - Env Var: RCLONE_OPENDRIVE_USERNAME
  8678. - Type: string
  8679. - Default: ""
  8680. --opendrive-password
  8681. Password.
  8682. - Config: password
  8683. - Env Var: RCLONE_OPENDRIVE_PASSWORD
  8684. - Type: string
  8685. - Default: ""
  8686. Limitations
  8687. Note that OpenDrive is case insensitive so you can't have a file called
  8688. "Hello.doc" and one called "hello.doc".
  8689. There are quite a few characters that can't be in OpenDrive file names.
  8690. These can't occur on Windows platforms, but on non-Windows platforms
  8691. they are common. Rclone will map these names to and from an identical
  8692. looking unicode equivalent. For example if a file has a ? in it will be
  8693. mapped to ? instead.
  8694. QingStor
  8695. Paths are specified as remote:bucket (or remote: for the lsd command.)
  8696. You may put subdirectories in too, eg remote:bucket/path/to/dir.
  8697. Here is an example of making an QingStor configuration. First run
  8698. rclone config
  8699. This will guide you through an interactive setup process.
  8700. No remotes found - make a new one
  8701. n) New remote
  8702. r) Rename remote
  8703. c) Copy remote
  8704. s) Set configuration password
  8705. q) Quit config
  8706. n/r/c/s/q> n
  8707. name> remote
  8708. Type of storage to configure.
  8709. Choose a number from below, or type in your own value
  8710. 1 / Amazon Drive
  8711. \ "amazon cloud drive"
  8712. 2 / Amazon S3 (also Dreamhost, Ceph, Minio)
  8713. \ "s3"
  8714. 3 / Backblaze B2
  8715. \ "b2"
  8716. 4 / Dropbox
  8717. \ "dropbox"
  8718. 5 / Encrypt/Decrypt a remote
  8719. \ "crypt"
  8720. 6 / FTP Connection
  8721. \ "ftp"
  8722. 7 / Google Cloud Storage (this is not Google Drive)
  8723. \ "google cloud storage"
  8724. 8 / Google Drive
  8725. \ "drive"
  8726. 9 / Hubic
  8727. \ "hubic"
  8728. 10 / Local Disk
  8729. \ "local"
  8730. 11 / Microsoft OneDrive
  8731. \ "onedrive"
  8732. 12 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
  8733. \ "swift"
  8734. 13 / QingStor Object Storage
  8735. \ "qingstor"
  8736. 14 / SSH/SFTP Connection
  8737. \ "sftp"
  8738. 15 / Yandex Disk
  8739. \ "yandex"
  8740. Storage> 13
  8741. Get QingStor credentials from runtime. Only applies if access_key_id and secret_access_key is blank.
  8742. Choose a number from below, or type in your own value
  8743. 1 / Enter QingStor credentials in the next step
  8744. \ "false"
  8745. 2 / Get QingStor credentials from the environment (env vars or IAM)
  8746. \ "true"
  8747. env_auth> 1
  8748. QingStor Access Key ID - leave blank for anonymous access or runtime credentials.
  8749. access_key_id> access_key
  8750. QingStor Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
  8751. secret_access_key> secret_key
  8752. Enter a endpoint URL to connection QingStor API.
  8753. Leave blank will use the default value "https://qingstor.com:443"
  8754. endpoint>
  8755. Zone connect to. Default is "pek3a".
  8756. Choose a number from below, or type in your own value
  8757. / The Beijing (China) Three Zone
  8758. 1 | Needs location constraint pek3a.
  8759. \ "pek3a"
  8760. / The Shanghai (China) First Zone
  8761. 2 | Needs location constraint sh1a.
  8762. \ "sh1a"
  8763. zone> 1
  8764. Number of connnection retry.
  8765. Leave blank will use the default value "3".
  8766. connection_retries>
  8767. Remote config
  8768. --------------------
  8769. [remote]
  8770. env_auth = false
  8771. access_key_id = access_key
  8772. secret_access_key = secret_key
  8773. endpoint =
  8774. zone = pek3a
  8775. connection_retries =
  8776. --------------------
  8777. y) Yes this is OK
  8778. e) Edit this remote
  8779. d) Delete this remote
  8780. y/e/d> y
  8781. This remote is called remote and can now be used like this
  8782. See all buckets
  8783. rclone lsd remote:
  8784. Make a new bucket
  8785. rclone mkdir remote:bucket
  8786. List the contents of a bucket
  8787. rclone ls remote:bucket
  8788. Sync /home/local/directory to the remote bucket, deleting any excess
  8789. files in the bucket.
  8790. rclone sync /home/local/directory remote:bucket
  8791. --fast-list
  8792. This remote supports --fast-list which allows you to use fewer
  8793. transactions in exchange for more memory. See the rclone docs for more
  8794. details.
  8795. Multipart uploads
  8796. rclone supports multipart uploads with QingStor which means that it can
  8797. upload files bigger than 5GB. Note that files uploaded with multipart
  8798. upload don't have an MD5SUM.
  8799. Buckets and Zone
  8800. With QingStor you can list buckets (rclone lsd) using any zone, but you
  8801. can only access the content of a bucket from the zone it was created in.
  8802. If you attempt to access a bucket from the wrong zone, you will get an
  8803. error, incorrect zone, the bucket is not in 'XXX' zone.
  8804. Authentication
  8805. There are two ways to supply rclone with a set of QingStor credentials.
  8806. In order of precedence:
  8807. - Directly in the rclone configuration file (as configured by
  8808. rclone config)
  8809. - set access_key_id and secret_access_key
  8810. - Runtime configuration:
  8811. - set env_auth to true in the config file
  8812. - Exporting the following environment variables before running rclone
  8813. - Access Key ID: QS_ACCESS_KEY_ID or QS_ACCESS_KEY
  8814. - Secret Access Key: QS_SECRET_ACCESS_KEY or QS_SECRET_KEY
  8815. Standard Options
  8816. Here are the standard options specific to qingstor (QingCloud Object
  8817. Storage).
  8818. --qingstor-env-auth
  8819. Get QingStor credentials from runtime. Only applies if access_key_id and
  8820. secret_access_key is blank.
  8821. - Config: env_auth
  8822. - Env Var: RCLONE_QINGSTOR_ENV_AUTH
  8823. - Type: bool
  8824. - Default: false
  8825. - Examples:
  8826. - "false"
  8827. - Enter QingStor credentials in the next step
  8828. - "true"
  8829. - Get QingStor credentials from the environment (env vars or
  8830. IAM)
  8831. --qingstor-access-key-id
  8832. QingStor Access Key ID Leave blank for anonymous access or runtime
  8833. credentials.
  8834. - Config: access_key_id
  8835. - Env Var: RCLONE_QINGSTOR_ACCESS_KEY_ID
  8836. - Type: string
  8837. - Default: ""
  8838. --qingstor-secret-access-key
  8839. QingStor Secret Access Key (password) Leave blank for anonymous access
  8840. or runtime credentials.
  8841. - Config: secret_access_key
  8842. - Env Var: RCLONE_QINGSTOR_SECRET_ACCESS_KEY
  8843. - Type: string
  8844. - Default: ""
  8845. --qingstor-endpoint
  8846. Enter a endpoint URL to connection QingStor API. Leave blank will use
  8847. the default value "https://qingstor.com:443"
  8848. - Config: endpoint
  8849. - Env Var: RCLONE_QINGSTOR_ENDPOINT
  8850. - Type: string
  8851. - Default: ""
  8852. --qingstor-zone
  8853. Zone to connect to. Default is "pek3a".
  8854. - Config: zone
  8855. - Env Var: RCLONE_QINGSTOR_ZONE
  8856. - Type: string
  8857. - Default: ""
  8858. - Examples:
  8859. - "pek3a"
  8860. - The Beijing (China) Three Zone
  8861. - Needs location constraint pek3a.
  8862. - "sh1a"
  8863. - The Shanghai (China) First Zone
  8864. - Needs location constraint sh1a.
  8865. - "gd2a"
  8866. - The Guangdong (China) Second Zone
  8867. - Needs location constraint gd2a.
  8868. Advanced Options
  8869. Here are the advanced options specific to qingstor (QingCloud Object
  8870. Storage).
  8871. --qingstor-connection-retries
  8872. Number of connnection retries.
  8873. - Config: connection_retries
  8874. - Env Var: RCLONE_QINGSTOR_CONNECTION_RETRIES
  8875. - Type: int
  8876. - Default: 3
  8877. Swift
  8878. Swift refers to Openstack Object Storage. Commercial implementations of
  8879. that being:
  8880. - Rackspace Cloud Files
  8881. - Memset Memstore
  8882. - OVH Object Storage
  8883. - Oracle Cloud Storage
  8884. - IBM Bluemix Cloud ObjectStorage Swift
  8885. Paths are specified as remote:container (or remote: for the lsd
  8886. command.) You may put subdirectories in too, eg
  8887. remote:container/path/to/dir.
  8888. Here is an example of making a swift configuration. First run
  8889. rclone config
  8890. This will guide you through an interactive setup process.
  8891. No remotes found - make a new one
  8892. n) New remote
  8893. s) Set configuration password
  8894. q) Quit config
  8895. n/s/q> n
  8896. name> remote
  8897. Type of storage to configure.
  8898. Choose a number from below, or type in your own value
  8899. 1 / Amazon Drive
  8900. \ "amazon cloud drive"
  8901. 2 / Amazon S3 (also Dreamhost, Ceph, Minio)
  8902. \ "s3"
  8903. 3 / Backblaze B2
  8904. \ "b2"
  8905. 4 / Box
  8906. \ "box"
  8907. 5 / Cache a remote
  8908. \ "cache"
  8909. 6 / Dropbox
  8910. \ "dropbox"
  8911. 7 / Encrypt/Decrypt a remote
  8912. \ "crypt"
  8913. 8 / FTP Connection
  8914. \ "ftp"
  8915. 9 / Google Cloud Storage (this is not Google Drive)
  8916. \ "google cloud storage"
  8917. 10 / Google Drive
  8918. \ "drive"
  8919. 11 / Hubic
  8920. \ "hubic"
  8921. 12 / Local Disk
  8922. \ "local"
  8923. 13 / Microsoft Azure Blob Storage
  8924. \ "azureblob"
  8925. 14 / Microsoft OneDrive
  8926. \ "onedrive"
  8927. 15 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
  8928. \ "swift"
  8929. 16 / Pcloud
  8930. \ "pcloud"
  8931. 17 / QingCloud Object Storage
  8932. \ "qingstor"
  8933. 18 / SSH/SFTP Connection
  8934. \ "sftp"
  8935. 19 / Webdav
  8936. \ "webdav"
  8937. 20 / Yandex Disk
  8938. \ "yandex"
  8939. 21 / http Connection
  8940. \ "http"
  8941. Storage> swift
  8942. Get swift credentials from environment variables in standard OpenStack form.
  8943. Choose a number from below, or type in your own value
  8944. 1 / Enter swift credentials in the next step
  8945. \ "false"
  8946. 2 / Get swift credentials from environment vars. Leave other fields blank if using this.
  8947. \ "true"
  8948. env_auth> true
  8949. User name to log in (OS_USERNAME).
  8950. user>
  8951. API key or password (OS_PASSWORD).
  8952. key>
  8953. Authentication URL for server (OS_AUTH_URL).
  8954. Choose a number from below, or type in your own value
  8955. 1 / Rackspace US
  8956. \ "https://auth.api.rackspacecloud.com/v1.0"
  8957. 2 / Rackspace UK
  8958. \ "https://lon.auth.api.rackspacecloud.com/v1.0"
  8959. 3 / Rackspace v2
  8960. \ "https://identity.api.rackspacecloud.com/v2.0"
  8961. 4 / Memset Memstore UK
  8962. \ "https://auth.storage.memset.com/v1.0"
  8963. 5 / Memset Memstore UK v2
  8964. \ "https://auth.storage.memset.com/v2.0"
  8965. 6 / OVH
  8966. \ "https://auth.cloud.ovh.net/v2.0"
  8967. auth>
  8968. User ID to log in - optional - most swift systems use user and leave this blank (v3 auth) (OS_USER_ID).
  8969. user_id>
  8970. User domain - optional (v3 auth) (OS_USER_DOMAIN_NAME)
  8971. domain>
  8972. Tenant name - optional for v1 auth, this or tenant_id required otherwise (OS_TENANT_NAME or OS_PROJECT_NAME)
  8973. tenant>
  8974. Tenant ID - optional for v1 auth, this or tenant required otherwise (OS_TENANT_ID)
  8975. tenant_id>
  8976. Tenant domain - optional (v3 auth) (OS_PROJECT_DOMAIN_NAME)
  8977. tenant_domain>
  8978. Region name - optional (OS_REGION_NAME)
  8979. region>
  8980. Storage URL - optional (OS_STORAGE_URL)
  8981. storage_url>
  8982. Auth Token from alternate authentication - optional (OS_AUTH_TOKEN)
  8983. auth_token>
  8984. AuthVersion - optional - set to (1,2,3) if your auth URL has no version (ST_AUTH_VERSION)
  8985. auth_version>
  8986. Endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE)
  8987. Choose a number from below, or type in your own value
  8988. 1 / Public (default, choose this if not sure)
  8989. \ "public"
  8990. 2 / Internal (use internal service net)
  8991. \ "internal"
  8992. 3 / Admin
  8993. \ "admin"
  8994. endpoint_type>
  8995. Remote config
  8996. --------------------
  8997. [test]
  8998. env_auth = true
  8999. user =
  9000. key =
  9001. auth =
  9002. user_id =
  9003. domain =
  9004. tenant =
  9005. tenant_id =
  9006. tenant_domain =
  9007. region =
  9008. storage_url =
  9009. auth_token =
  9010. auth_version =
  9011. endpoint_type =
  9012. --------------------
  9013. y) Yes this is OK
  9014. e) Edit this remote
  9015. d) Delete this remote
  9016. y/e/d> y
  9017. This remote is called remote and can now be used like this
  9018. See all containers
  9019. rclone lsd remote:
  9020. Make a new container
  9021. rclone mkdir remote:container
  9022. List the contents of a container
  9023. rclone ls remote:container
  9024. Sync /home/local/directory to the remote container, deleting any excess
  9025. files in the container.
  9026. rclone sync /home/local/directory remote:container
  9027. Configuration from an Openstack credentials file
  9028. An Opentstack credentials file typically looks something something like
  9029. this (without the comments)
  9030. export OS_AUTH_URL=https://a.provider.net/v2.0
  9031. export OS_TENANT_ID=ffffffffffffffffffffffffffffffff
  9032. export OS_TENANT_NAME="1234567890123456"
  9033. export OS_USERNAME="123abc567xy"
  9034. echo "Please enter your OpenStack Password: "
  9035. read -sr OS_PASSWORD_INPUT
  9036. export OS_PASSWORD=$OS_PASSWORD_INPUT
  9037. export OS_REGION_NAME="SBG1"
  9038. if [ -z "$OS_REGION_NAME" ]; then unset OS_REGION_NAME; fi
  9039. The config file needs to look something like this where $OS_USERNAME
  9040. represents the value of the OS_USERNAME variable - 123abc567xy in the
  9041. example above.
  9042. [remote]
  9043. type = swift
  9044. user = $OS_USERNAME
  9045. key = $OS_PASSWORD
  9046. auth = $OS_AUTH_URL
  9047. tenant = $OS_TENANT_NAME
  9048. Note that you may (or may not) need to set region too - try without
  9049. first.
  9050. Configuration from the environment
  9051. If you prefer you can configure rclone to use swift using a standard set
  9052. of OpenStack environment variables.
  9053. When you run through the config, make sure you choose true for env_auth
  9054. and leave everything else blank.
  9055. rclone will then set any empty config parameters from the environment
  9056. using standard OpenStack environment variables. There is a list of the
  9057. variables in the docs for the swift library.
  9058. Using an alternate authentication method
  9059. If your OpenStack installation uses a non-standard authentication method
  9060. that might not be yet supported by rclone or the underlying swift
  9061. library, you can authenticate externally (e.g. calling manually the
  9062. openstack commands to get a token). Then, you just need to pass the two
  9063. configuration variables auth_token and storage_url. If they are both
  9064. provided, the other variables are ignored. rclone will not try to
  9065. authenticate but instead assume it is already authenticated and use
  9066. these two variables to access the OpenStack installation.
  9067. Using rclone without a config file
  9068. You can use rclone with swift without a config file, if desired, like
  9069. this:
  9070. source openstack-credentials-file
  9071. export RCLONE_CONFIG_MYREMOTE_TYPE=swift
  9072. export RCLONE_CONFIG_MYREMOTE_ENV_AUTH=true
  9073. rclone lsd myremote:
  9074. --fast-list
  9075. This remote supports --fast-list which allows you to use fewer
  9076. transactions in exchange for more memory. See the rclone docs for more
  9077. details.
  9078. --update and --use-server-modtime
  9079. As noted below, the modified time is stored on metadata on the object.
  9080. It is used by default for all operations that require checking the time
  9081. a file was last updated. It allows rclone to treat the remote more like
  9082. a true filesystem, but it is inefficient because it requires an extra
  9083. API call to retrieve the metadata.
  9084. For many operations, the time the object was last uploaded to the remote
  9085. is sufficient to determine if it is "dirty". By using --update along
  9086. with --use-server-modtime, you can avoid the extra API call and simply
  9087. upload files whose local modtime is newer than the time it was last
  9088. uploaded.
  9089. Standard Options
  9090. Here are the standard options specific to swift (Openstack Swift
  9091. (Rackspace Cloud Files, Memset Memstore, OVH)).
  9092. --swift-env-auth
  9093. Get swift credentials from environment variables in standard OpenStack
  9094. form.
  9095. - Config: env_auth
  9096. - Env Var: RCLONE_SWIFT_ENV_AUTH
  9097. - Type: bool
  9098. - Default: false
  9099. - Examples:
  9100. - "false"
  9101. - Enter swift credentials in the next step
  9102. - "true"
  9103. - Get swift credentials from environment vars. Leave other
  9104. fields blank if using this.
  9105. --swift-user
  9106. User name to log in (OS_USERNAME).
  9107. - Config: user
  9108. - Env Var: RCLONE_SWIFT_USER
  9109. - Type: string
  9110. - Default: ""
  9111. --swift-key
  9112. API key or password (OS_PASSWORD).
  9113. - Config: key
  9114. - Env Var: RCLONE_SWIFT_KEY
  9115. - Type: string
  9116. - Default: ""
  9117. --swift-auth
  9118. Authentication URL for server (OS_AUTH_URL).
  9119. - Config: auth
  9120. - Env Var: RCLONE_SWIFT_AUTH
  9121. - Type: string
  9122. - Default: ""
  9123. - Examples:
  9124. - "https://auth.api.rackspacecloud.com/v1.0"
  9125. - Rackspace US
  9126. - "https://lon.auth.api.rackspacecloud.com/v1.0"
  9127. - Rackspace UK
  9128. - "https://identity.api.rackspacecloud.com/v2.0"
  9129. - Rackspace v2
  9130. - "https://auth.storage.memset.com/v1.0"
  9131. - Memset Memstore UK
  9132. - "https://auth.storage.memset.com/v2.0"
  9133. - Memset Memstore UK v2
  9134. - "https://auth.cloud.ovh.net/v2.0"
  9135. - OVH
  9136. --swift-user-id
  9137. User ID to log in - optional - most swift systems use user and leave
  9138. this blank (v3 auth) (OS_USER_ID).
  9139. - Config: user_id
  9140. - Env Var: RCLONE_SWIFT_USER_ID
  9141. - Type: string
  9142. - Default: ""
  9143. --swift-domain
  9144. User domain - optional (v3 auth) (OS_USER_DOMAIN_NAME)
  9145. - Config: domain
  9146. - Env Var: RCLONE_SWIFT_DOMAIN
  9147. - Type: string
  9148. - Default: ""
  9149. --swift-tenant
  9150. Tenant name - optional for v1 auth, this or tenant_id required otherwise
  9151. (OS_TENANT_NAME or OS_PROJECT_NAME)
  9152. - Config: tenant
  9153. - Env Var: RCLONE_SWIFT_TENANT
  9154. - Type: string
  9155. - Default: ""
  9156. --swift-tenant-id
  9157. Tenant ID - optional for v1 auth, this or tenant required otherwise
  9158. (OS_TENANT_ID)
  9159. - Config: tenant_id
  9160. - Env Var: RCLONE_SWIFT_TENANT_ID
  9161. - Type: string
  9162. - Default: ""
  9163. --swift-tenant-domain
  9164. Tenant domain - optional (v3 auth) (OS_PROJECT_DOMAIN_NAME)
  9165. - Config: tenant_domain
  9166. - Env Var: RCLONE_SWIFT_TENANT_DOMAIN
  9167. - Type: string
  9168. - Default: ""
  9169. --swift-region
  9170. Region name - optional (OS_REGION_NAME)
  9171. - Config: region
  9172. - Env Var: RCLONE_SWIFT_REGION
  9173. - Type: string
  9174. - Default: ""
  9175. --swift-storage-url
  9176. Storage URL - optional (OS_STORAGE_URL)
  9177. - Config: storage_url
  9178. - Env Var: RCLONE_SWIFT_STORAGE_URL
  9179. - Type: string
  9180. - Default: ""
  9181. --swift-auth-token
  9182. Auth Token from alternate authentication - optional (OS_AUTH_TOKEN)
  9183. - Config: auth_token
  9184. - Env Var: RCLONE_SWIFT_AUTH_TOKEN
  9185. - Type: string
  9186. - Default: ""
  9187. --swift-auth-version
  9188. AuthVersion - optional - set to (1,2,3) if your auth URL has no version
  9189. (ST_AUTH_VERSION)
  9190. - Config: auth_version
  9191. - Env Var: RCLONE_SWIFT_AUTH_VERSION
  9192. - Type: int
  9193. - Default: 0
  9194. --swift-endpoint-type
  9195. Endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE)
  9196. - Config: endpoint_type
  9197. - Env Var: RCLONE_SWIFT_ENDPOINT_TYPE
  9198. - Type: string
  9199. - Default: "public"
  9200. - Examples:
  9201. - "public"
  9202. - Public (default, choose this if not sure)
  9203. - "internal"
  9204. - Internal (use internal service net)
  9205. - "admin"
  9206. - Admin
  9207. --swift-storage-policy
  9208. The storage policy to use when creating a new container
  9209. This applies the specified storage policy when creating a new container.
  9210. The policy cannot be changed afterwards. The allowed configuration
  9211. values and their meaning depend on your Swift storage provider.
  9212. - Config: storage_policy
  9213. - Env Var: RCLONE_SWIFT_STORAGE_POLICY
  9214. - Type: string
  9215. - Default: ""
  9216. - Examples:
  9217. - ""
  9218. - Default
  9219. - "pcs"
  9220. - OVH Public Cloud Storage
  9221. - "pca"
  9222. - OVH Public Cloud Archive
  9223. Advanced Options
  9224. Here are the advanced options specific to swift (Openstack Swift
  9225. (Rackspace Cloud Files, Memset Memstore, OVH)).
  9226. --swift-chunk-size
  9227. Above this size files will be chunked into a _segments container.
  9228. Above this size files will be chunked into a _segments container. The
  9229. default for this is 5GB which is its maximum value.
  9230. - Config: chunk_size
  9231. - Env Var: RCLONE_SWIFT_CHUNK_SIZE
  9232. - Type: SizeSuffix
  9233. - Default: 5G
  9234. Modified time
  9235. The modified time is stored as metadata on the object as
  9236. X-Object-Meta-Mtime as floating point since the epoch accurate to 1 ns.
  9237. This is a defacto standard (used in the official python-swiftclient
  9238. amongst others) for storing the modification time for an object.
  9239. Limitations
  9240. The Swift API doesn't return a correct MD5SUM for segmented files
  9241. (Dynamic or Static Large Objects) so rclone won't check or use the
  9242. MD5SUM for these.
  9243. Troubleshooting
  9244. Rclone gives Failed to create file system for "remote:": Bad Request
  9245. Due to an oddity of the underlying swift library, it gives a "Bad
  9246. Request" error rather than a more sensible error when the authentication
  9247. fails for Swift.
  9248. So this most likely means your username / password is wrong. You can
  9249. investigate further with the --dump-bodies flag.
  9250. This may also be caused by specifying the region when you shouldn't have
  9251. (eg OVH).
  9252. Rclone gives Failed to create file system: Response didn't have storage storage url and auth token
  9253. This is most likely caused by forgetting to specify your tenant when
  9254. setting up a swift remote.
  9255. pCloud
  9256. Paths are specified as remote:path
  9257. Paths may be as deep as required, eg remote:directory/subdirectory.
  9258. The initial setup for pCloud involves getting a token from pCloud which
  9259. you need to do in your browser. rclone config walks you through it.
  9260. Here is an example of how to make a remote called remote. First run:
  9261. rclone config
  9262. This will guide you through an interactive setup process:
  9263. No remotes found - make a new one
  9264. n) New remote
  9265. s) Set configuration password
  9266. q) Quit config
  9267. n/s/q> n
  9268. name> remote
  9269. Type of storage to configure.
  9270. Choose a number from below, or type in your own value
  9271. 1 / Amazon Drive
  9272. \ "amazon cloud drive"
  9273. 2 / Amazon S3 (also Dreamhost, Ceph, Minio)
  9274. \ "s3"
  9275. 3 / Backblaze B2
  9276. \ "b2"
  9277. 4 / Box
  9278. \ "box"
  9279. 5 / Dropbox
  9280. \ "dropbox"
  9281. 6 / Encrypt/Decrypt a remote
  9282. \ "crypt"
  9283. 7 / FTP Connection
  9284. \ "ftp"
  9285. 8 / Google Cloud Storage (this is not Google Drive)
  9286. \ "google cloud storage"
  9287. 9 / Google Drive
  9288. \ "drive"
  9289. 10 / Hubic
  9290. \ "hubic"
  9291. 11 / Local Disk
  9292. \ "local"
  9293. 12 / Microsoft Azure Blob Storage
  9294. \ "azureblob"
  9295. 13 / Microsoft OneDrive
  9296. \ "onedrive"
  9297. 14 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
  9298. \ "swift"
  9299. 15 / Pcloud
  9300. \ "pcloud"
  9301. 16 / QingCloud Object Storage
  9302. \ "qingstor"
  9303. 17 / SSH/SFTP Connection
  9304. \ "sftp"
  9305. 18 / Yandex Disk
  9306. \ "yandex"
  9307. 19 / http Connection
  9308. \ "http"
  9309. Storage> pcloud
  9310. Pcloud App Client Id - leave blank normally.
  9311. client_id>
  9312. Pcloud App Client Secret - leave blank normally.
  9313. client_secret>
  9314. Remote config
  9315. Use auto config?
  9316. * Say Y if not sure
  9317. * Say N if you are working on a remote or headless machine
  9318. y) Yes
  9319. n) No
  9320. y/n> y
  9321. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  9322. Log in and authorize rclone for access
  9323. Waiting for code...
  9324. Got code
  9325. --------------------
  9326. [remote]
  9327. client_id =
  9328. client_secret =
  9329. token = {"access_token":"XXX","token_type":"bearer","expiry":"0001-01-01T00:00:00Z"}
  9330. --------------------
  9331. y) Yes this is OK
  9332. e) Edit this remote
  9333. d) Delete this remote
  9334. y/e/d> y
  9335. See the remote setup docs for how to set it up on a machine with no
  9336. Internet browser available.
  9337. Note that rclone runs a webserver on your local machine to collect the
  9338. token as returned from pCloud. This only runs from the moment it opens
  9339. your browser to the moment you get back the verification code. This is
  9340. on http://127.0.0.1:53682/ and this it may require you to unblock it
  9341. temporarily if you are running a host firewall.
  9342. Once configured you can then use rclone like this,
  9343. List directories in top level of your pCloud
  9344. rclone lsd remote:
  9345. List all the files in your pCloud
  9346. rclone ls remote:
  9347. To copy a local directory to an pCloud directory called backup
  9348. rclone copy /home/source remote:backup
  9349. Modified time and hashes
  9350. pCloud allows modification times to be set on objects accurate to 1
  9351. second. These will be used to detect whether objects need syncing or
  9352. not. In order to set a Modification time pCloud requires the object be
  9353. re-uploaded.
  9354. pCloud supports MD5 and SHA1 type hashes, so you can use the --checksum
  9355. flag.
  9356. Deleting files
  9357. Deleted files will be moved to the trash. Your subscription level will
  9358. determine how long items stay in the trash. rclone cleanup can be used
  9359. to empty the trash.
  9360. Standard Options
  9361. Here are the standard options specific to pcloud (Pcloud).
  9362. --pcloud-client-id
  9363. Pcloud App Client Id Leave blank normally.
  9364. - Config: client_id
  9365. - Env Var: RCLONE_PCLOUD_CLIENT_ID
  9366. - Type: string
  9367. - Default: ""
  9368. --pcloud-client-secret
  9369. Pcloud App Client Secret Leave blank normally.
  9370. - Config: client_secret
  9371. - Env Var: RCLONE_PCLOUD_CLIENT_SECRET
  9372. - Type: string
  9373. - Default: ""
  9374. SFTP
  9375. SFTP is the Secure (or SSH) File Transfer Protocol.
  9376. SFTP runs over SSH v2 and is installed as standard with most modern SSH
  9377. installations.
  9378. Paths are specified as remote:path. If the path does not begin with a /
  9379. it is relative to the home directory of the user. An empty path remote:
  9380. refers to the user's home directory.
  9381. Note that some SFTP servers will need the leading / - Synology is a good
  9382. example of this.
  9383. Here is an example of making an SFTP configuration. First run
  9384. rclone config
  9385. This will guide you through an interactive setup process.
  9386. No remotes found - make a new one
  9387. n) New remote
  9388. s) Set configuration password
  9389. q) Quit config
  9390. n/s/q> n
  9391. name> remote
  9392. Type of storage to configure.
  9393. Choose a number from below, or type in your own value
  9394. 1 / Amazon Drive
  9395. \ "amazon cloud drive"
  9396. 2 / Amazon S3 (also Dreamhost, Ceph, Minio)
  9397. \ "s3"
  9398. 3 / Backblaze B2
  9399. \ "b2"
  9400. 4 / Dropbox
  9401. \ "dropbox"
  9402. 5 / Encrypt/Decrypt a remote
  9403. \ "crypt"
  9404. 6 / FTP Connection
  9405. \ "ftp"
  9406. 7 / Google Cloud Storage (this is not Google Drive)
  9407. \ "google cloud storage"
  9408. 8 / Google Drive
  9409. \ "drive"
  9410. 9 / Hubic
  9411. \ "hubic"
  9412. 10 / Local Disk
  9413. \ "local"
  9414. 11 / Microsoft OneDrive
  9415. \ "onedrive"
  9416. 12 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
  9417. \ "swift"
  9418. 13 / SSH/SFTP Connection
  9419. \ "sftp"
  9420. 14 / Yandex Disk
  9421. \ "yandex"
  9422. 15 / http Connection
  9423. \ "http"
  9424. Storage> sftp
  9425. SSH host to connect to
  9426. Choose a number from below, or type in your own value
  9427. 1 / Connect to example.com
  9428. \ "example.com"
  9429. host> example.com
  9430. SSH username, leave blank for current username, ncw
  9431. user> sftpuser
  9432. SSH port, leave blank to use default (22)
  9433. port>
  9434. SSH password, leave blank to use ssh-agent.
  9435. y) Yes type in my own password
  9436. g) Generate random password
  9437. n) No leave this optional password blank
  9438. y/g/n> n
  9439. Path to unencrypted PEM-encoded private key file, leave blank to use ssh-agent.
  9440. key_file>
  9441. Remote config
  9442. --------------------
  9443. [remote]
  9444. host = example.com
  9445. user = sftpuser
  9446. port =
  9447. pass =
  9448. key_file =
  9449. --------------------
  9450. y) Yes this is OK
  9451. e) Edit this remote
  9452. d) Delete this remote
  9453. y/e/d> y
  9454. This remote is called remote and can now be used like this:
  9455. See all directories in the home directory
  9456. rclone lsd remote:
  9457. Make a new directory
  9458. rclone mkdir remote:path/to/directory
  9459. List the contents of a directory
  9460. rclone ls remote:path/to/directory
  9461. Sync /home/local/directory to the remote directory, deleting any excess
  9462. files in the directory.
  9463. rclone sync /home/local/directory remote:directory
  9464. SSH Authentication
  9465. The SFTP remote supports three authentication methods:
  9466. - Password
  9467. - Key file
  9468. - ssh-agent
  9469. Key files should be unencrypted PEM-encoded private key files. For
  9470. instance /home/$USER/.ssh/id_rsa.
  9471. If you don't specify pass or key_file then rclone will attempt to
  9472. contact an ssh-agent.
  9473. If you set the --sftp-ask-password option, rclone will prompt for a
  9474. password when needed and no password has been configured.
  9475. ssh-agent on macOS
  9476. Note that there seem to be various problems with using an ssh-agent on
  9477. macOS due to recent changes in the OS. The most effective work-around
  9478. seems to be to start an ssh-agent in each session, eg
  9479. eval `ssh-agent -s` && ssh-add -A
  9480. And then at the end of the session
  9481. eval `ssh-agent -k`
  9482. These commands can be used in scripts of course.
  9483. Modified time
  9484. Modified times are stored on the server to 1 second precision.
  9485. Modified times are used in syncing and are fully supported.
  9486. Some SFTP servers disable setting/modifying the file modification time
  9487. after upload (for example, certain configurations of ProFTPd with
  9488. mod_sftp). If you are using one of these servers, you can set the option
  9489. set_modtime = false in your RClone backend configuration to disable this
  9490. behaviour.
  9491. Standard Options
  9492. Here are the standard options specific to sftp (SSH/SFTP Connection).
  9493. --sftp-host
  9494. SSH host to connect to
  9495. - Config: host
  9496. - Env Var: RCLONE_SFTP_HOST
  9497. - Type: string
  9498. - Default: ""
  9499. - Examples:
  9500. - "example.com"
  9501. - Connect to example.com
  9502. --sftp-user
  9503. SSH username, leave blank for current username, ncw
  9504. - Config: user
  9505. - Env Var: RCLONE_SFTP_USER
  9506. - Type: string
  9507. - Default: ""
  9508. --sftp-port
  9509. SSH port, leave blank to use default (22)
  9510. - Config: port
  9511. - Env Var: RCLONE_SFTP_PORT
  9512. - Type: string
  9513. - Default: ""
  9514. --sftp-pass
  9515. SSH password, leave blank to use ssh-agent.
  9516. - Config: pass
  9517. - Env Var: RCLONE_SFTP_PASS
  9518. - Type: string
  9519. - Default: ""
  9520. --sftp-key-file
  9521. Path to unencrypted PEM-encoded private key file, leave blank to use
  9522. ssh-agent.
  9523. - Config: key_file
  9524. - Env Var: RCLONE_SFTP_KEY_FILE
  9525. - Type: string
  9526. - Default: ""
  9527. --sftp-use-insecure-cipher
  9528. Enable the use of the aes128-cbc cipher. This cipher is insecure and may
  9529. allow plaintext data to be recovered by an attacker.
  9530. - Config: use_insecure_cipher
  9531. - Env Var: RCLONE_SFTP_USE_INSECURE_CIPHER
  9532. - Type: bool
  9533. - Default: false
  9534. - Examples:
  9535. - "false"
  9536. - Use default Cipher list.
  9537. - "true"
  9538. - Enables the use of the aes128-cbc cipher.
  9539. --sftp-disable-hashcheck
  9540. Disable the execution of SSH commands to determine if remote file
  9541. hashing is available. Leave blank or set to false to enable hashing
  9542. (recommended), set to true to disable hashing.
  9543. - Config: disable_hashcheck
  9544. - Env Var: RCLONE_SFTP_DISABLE_HASHCHECK
  9545. - Type: bool
  9546. - Default: false
  9547. Advanced Options
  9548. Here are the advanced options specific to sftp (SSH/SFTP Connection).
  9549. --sftp-ask-password
  9550. Allow asking for SFTP password when needed.
  9551. - Config: ask_password
  9552. - Env Var: RCLONE_SFTP_ASK_PASSWORD
  9553. - Type: bool
  9554. - Default: false
  9555. --sftp-path-override
  9556. Override path used by SSH connection.
  9557. This allows checksum calculation when SFTP and SSH paths are different.
  9558. This issue affects among others Synology NAS boxes.
  9559. Shared folders can be found in directories representing volumes
  9560. rclone sync /home/local/directory remote:/directory --ssh-path-override /volume2/directory
  9561. Home directory can be found in a shared folder called "home"
  9562. rclone sync /home/local/directory remote:/home/directory --ssh-path-override /volume1/homes/USER/directory
  9563. - Config: path_override
  9564. - Env Var: RCLONE_SFTP_PATH_OVERRIDE
  9565. - Type: string
  9566. - Default: ""
  9567. --sftp-set-modtime
  9568. Set the modified time on the remote if set.
  9569. - Config: set_modtime
  9570. - Env Var: RCLONE_SFTP_SET_MODTIME
  9571. - Type: bool
  9572. - Default: true
  9573. Limitations
  9574. SFTP supports checksums if the same login has shell access and md5sum or
  9575. sha1sum as well as echo are in the remote's PATH. This remote
  9576. checksumming (file hashing) is recommended and enabled by default.
  9577. Disabling the checksumming may be required if you are connecting to SFTP
  9578. servers which are not under your control, and to which the execution of
  9579. remote commands is prohibited. Set the configuration option
  9580. disable_hashcheck to true to disable checksumming.
  9581. Note that some SFTP servers (eg Synology) the paths are different for
  9582. SSH and SFTP so the hashes can't be calculated properly. For them using
  9583. disable_hashcheck is a good idea.
  9584. The only ssh agent supported under Windows is Putty's pageant.
  9585. The Go SSH library disables the use of the aes128-cbc cipher by default,
  9586. due to security concerns. This can be re-enabled on a per-connection
  9587. basis by setting the use_insecure_cipher setting in the configuration
  9588. file to true. Further details on the insecurity of this cipher can be
  9589. found [in this paper] (http://www.isg.rhul.ac.uk/~kp/SandPfinal.pdf).
  9590. SFTP isn't supported under plan9 until this issue is fixed.
  9591. Note that since SFTP isn't HTTP based the following flags don't work
  9592. with it: --dump-headers, --dump-bodies, --dump-auth
  9593. Note that --timeout isn't supported (but --contimeout is).
  9594. Union
  9595. The union remote provides a unification similar to UnionFS using other
  9596. remotes.
  9597. Paths may be as deep as required or a local path, eg
  9598. remote:directory/subdirectory or /directory/subdirectory.
  9599. During the initial setup with rclone config you will specify the target
  9600. remotes as a space separated list. The target remotes can either be a
  9601. local paths or other remotes.
  9602. The order of the remotes is important as it defines which remotes take
  9603. precedence over others if there are files with the same name in the same
  9604. logical path. The last remote is the topmost remote and replaces files
  9605. with the same name from previous remotes.
  9606. Only the last remote is used to write to and delete from, all other
  9607. remotes are read-only.
  9608. Subfolders can be used in target remote. Asume a union remote named
  9609. backup with the remotes mydrive:private/backup mydrive2:/backup.
  9610. Invoking rclone mkdir backup:desktop is exactly the same as invoking
  9611. rclone mkdir mydrive2:/backup/desktop.
  9612. There will be no special handling of paths containing .. segments.
  9613. Invoking rclone mkdir backup:../desktop is exactly the same as invoking
  9614. rclone mkdir mydrive2:/backup/../desktop.
  9615. Here is an example of how to make a union called remote for local
  9616. folders. First run:
  9617. rclone config
  9618. This will guide you through an interactive setup process:
  9619. No remotes found - make a new one
  9620. n) New remote
  9621. s) Set configuration password
  9622. q) Quit config
  9623. n/s/q> n
  9624. name> remote
  9625. Type of storage to configure.
  9626. Choose a number from below, or type in your own value
  9627. 1 / Alias for a existing remote
  9628. \ "alias"
  9629. 2 / Amazon Drive
  9630. \ "amazon cloud drive"
  9631. 3 / Amazon S3 Compliant Storage Providers (AWS, Ceph, Dreamhost, IBM COS, Minio)
  9632. \ "s3"
  9633. 4 / Backblaze B2
  9634. \ "b2"
  9635. 5 / Box
  9636. \ "box"
  9637. 6 / Builds a stackable unification remote, which can appear to merge the contents of several remotes
  9638. \ "union"
  9639. 7 / Cache a remote
  9640. \ "cache"
  9641. 8 / Dropbox
  9642. \ "dropbox"
  9643. 9 / Encrypt/Decrypt a remote
  9644. \ "crypt"
  9645. 10 / FTP Connection
  9646. \ "ftp"
  9647. 11 / Google Cloud Storage (this is not Google Drive)
  9648. \ "google cloud storage"
  9649. 12 / Google Drive
  9650. \ "drive"
  9651. 13 / Hubic
  9652. \ "hubic"
  9653. 14 / JottaCloud
  9654. \ "jottacloud"
  9655. 15 / Local Disk
  9656. \ "local"
  9657. 16 / Mega
  9658. \ "mega"
  9659. 17 / Microsoft Azure Blob Storage
  9660. \ "azureblob"
  9661. 18 / Microsoft OneDrive
  9662. \ "onedrive"
  9663. 19 / OpenDrive
  9664. \ "opendrive"
  9665. 20 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
  9666. \ "swift"
  9667. 21 / Pcloud
  9668. \ "pcloud"
  9669. 22 / QingCloud Object Storage
  9670. \ "qingstor"
  9671. 23 / SSH/SFTP Connection
  9672. \ "sftp"
  9673. 24 / Webdav
  9674. \ "webdav"
  9675. 25 / Yandex Disk
  9676. \ "yandex"
  9677. 26 / http Connection
  9678. \ "http"
  9679. Storage> union
  9680. List of space separated remotes.
  9681. Can be 'remotea:test/dir remoteb:', '"remotea:test/space dir" remoteb:', etc.
  9682. The last remote is used to write to.
  9683. Enter a string value. Press Enter for the default ("").
  9684. remotes>
  9685. Remote config
  9686. --------------------
  9687. [remote]
  9688. type = union
  9689. remotes = C:\dir1 C:\dir2 C:\dir3
  9690. --------------------
  9691. y) Yes this is OK
  9692. e) Edit this remote
  9693. d) Delete this remote
  9694. y/e/d> y
  9695. Current remotes:
  9696. Name Type
  9697. ==== ====
  9698. remote union
  9699. e) Edit existing remote
  9700. n) New remote
  9701. d) Delete remote
  9702. r) Rename remote
  9703. c) Copy remote
  9704. s) Set configuration password
  9705. q) Quit config
  9706. e/n/d/r/c/s/q> q
  9707. Once configured you can then use rclone like this,
  9708. List directories in top level in C:\dir1, C:\dir2 and C:\dir3
  9709. rclone lsd remote:
  9710. List all the files in C:\dir1, C:\dir2 and C:\dir3
  9711. rclone ls remote:
  9712. Copy another local directory to the union directory called source, which
  9713. will be placed into C:\dir3
  9714. rclone copy C:\source remote:source
  9715. Standard Options
  9716. Here are the standard options specific to union (A stackable unification
  9717. remote, which can appear to merge the contents of several remotes).
  9718. --union-remotes
  9719. List of space separated remotes. Can be 'remotea:test/dir remoteb:',
  9720. '"remotea:test/space dir" remoteb:', etc. The last remote is used to
  9721. write to.
  9722. - Config: remotes
  9723. - Env Var: RCLONE_UNION_REMOTES
  9724. - Type: string
  9725. - Default: ""
  9726. WebDAV
  9727. Paths are specified as remote:path
  9728. Paths may be as deep as required, eg remote:directory/subdirectory.
  9729. To configure the WebDAV remote you will need to have a URL for it, and a
  9730. username and password. If you know what kind of system you are
  9731. connecting to then rclone can enable extra features.
  9732. Here is an example of how to make a remote called remote. First run:
  9733. rclone config
  9734. This will guide you through an interactive setup process:
  9735. No remotes found - make a new one
  9736. n) New remote
  9737. s) Set configuration password
  9738. q) Quit config
  9739. n/s/q> n
  9740. name> remote
  9741. Type of storage to configure.
  9742. Choose a number from below, or type in your own value
  9743. [snip]
  9744. 22 / Webdav
  9745. \ "webdav"
  9746. [snip]
  9747. Storage> webdav
  9748. URL of http host to connect to
  9749. Choose a number from below, or type in your own value
  9750. 1 / Connect to example.com
  9751. \ "https://example.com"
  9752. url> https://example.com/remote.php/webdav/
  9753. Name of the Webdav site/service/software you are using
  9754. Choose a number from below, or type in your own value
  9755. 1 / Nextcloud
  9756. \ "nextcloud"
  9757. 2 / Owncloud
  9758. \ "owncloud"
  9759. 3 / Sharepoint
  9760. \ "sharepoint"
  9761. 4 / Other site/service or software
  9762. \ "other"
  9763. vendor> 1
  9764. User name
  9765. user> user
  9766. Password.
  9767. y) Yes type in my own password
  9768. g) Generate random password
  9769. n) No leave this optional password blank
  9770. y/g/n> y
  9771. Enter the password:
  9772. password:
  9773. Confirm the password:
  9774. password:
  9775. Bearer token instead of user/pass (eg a Macaroon)
  9776. bearer_token>
  9777. Remote config
  9778. --------------------
  9779. [remote]
  9780. type = webdav
  9781. url = https://example.com/remote.php/webdav/
  9782. vendor = nextcloud
  9783. user = user
  9784. pass = *** ENCRYPTED ***
  9785. bearer_token =
  9786. --------------------
  9787. y) Yes this is OK
  9788. e) Edit this remote
  9789. d) Delete this remote
  9790. y/e/d> y
  9791. Once configured you can then use rclone like this,
  9792. List directories in top level of your WebDAV
  9793. rclone lsd remote:
  9794. List all the files in your WebDAV
  9795. rclone ls remote:
  9796. To copy a local directory to an WebDAV directory called backup
  9797. rclone copy /home/source remote:backup
  9798. Modified time and hashes
  9799. Plain WebDAV does not support modified times. However when used with
  9800. Owncloud or Nextcloud rclone will support modified times.
  9801. Hashes are not supported.
  9802. Standard Options
  9803. Here are the standard options specific to webdav (Webdav).
  9804. --webdav-url
  9805. URL of http host to connect to
  9806. - Config: url
  9807. - Env Var: RCLONE_WEBDAV_URL
  9808. - Type: string
  9809. - Default: ""
  9810. - Examples:
  9811. - "https://example.com"
  9812. - Connect to example.com
  9813. --webdav-vendor
  9814. Name of the Webdav site/service/software you are using
  9815. - Config: vendor
  9816. - Env Var: RCLONE_WEBDAV_VENDOR
  9817. - Type: string
  9818. - Default: ""
  9819. - Examples:
  9820. - "nextcloud"
  9821. - Nextcloud
  9822. - "owncloud"
  9823. - Owncloud
  9824. - "sharepoint"
  9825. - Sharepoint
  9826. - "other"
  9827. - Other site/service or software
  9828. --webdav-user
  9829. User name
  9830. - Config: user
  9831. - Env Var: RCLONE_WEBDAV_USER
  9832. - Type: string
  9833. - Default: ""
  9834. --webdav-pass
  9835. Password.
  9836. - Config: pass
  9837. - Env Var: RCLONE_WEBDAV_PASS
  9838. - Type: string
  9839. - Default: ""
  9840. --webdav-bearer-token
  9841. Bearer token instead of user/pass (eg a Macaroon)
  9842. - Config: bearer_token
  9843. - Env Var: RCLONE_WEBDAV_BEARER_TOKEN
  9844. - Type: string
  9845. - Default: ""
  9846. Provider notes
  9847. See below for notes on specific providers.
  9848. Owncloud
  9849. Click on the settings cog in the bottom right of the page and this will
  9850. show the WebDAV URL that rclone needs in the config step. It will look
  9851. something like https://example.com/remote.php/webdav/.
  9852. Owncloud supports modified times using the X-OC-Mtime header.
  9853. Nextcloud
  9854. This is configured in an identical way to Owncloud. Note that Nextcloud
  9855. does not support streaming of files (rcat) whereas Owncloud does. This
  9856. may be fixed in the future.
  9857. Put.io
  9858. put.io can be accessed in a read only way using webdav.
  9859. Configure the url as https://webdav.put.io and use your normal account
  9860. username and password for user and pass. Set the vendor to other.
  9861. Your config file should end up looking like this:
  9862. [putio]
  9863. type = webdav
  9864. url = https://webdav.put.io
  9865. vendor = other
  9866. user = YourUserName
  9867. pass = encryptedpassword
  9868. If you are using put.io with rclone mount then use the --read-only flag
  9869. to signal to the OS that it can't write to the mount.
  9870. For more help see the put.io webdav docs.
  9871. Sharepoint
  9872. Rclone can be used with Sharepoint provided by OneDrive for Business or
  9873. Office365 Education Accounts. This feature is only needed for a few of
  9874. these Accounts, mostly Office365 Education ones. These accounts are
  9875. sometimes not verified by the domain owner github#1975
  9876. This means that these accounts can't be added using the official API
  9877. (other Accounts should work with the "onedrive" option). However, it is
  9878. possible to access them using webdav.
  9879. To use a sharepoint remote with rclone, add it like this: First, you
  9880. need to get your remote's URL:
  9881. - Go here to open your OneDrive or to sign in
  9882. - Now take a look at your address bar, the URL should look like this:
  9883. https://[YOUR-DOMAIN]-my.sharepoint.com/personal/[YOUR-EMAIL]/_layouts/15/onedrive.aspx
  9884. You'll only need this URL upto the email address. After that, you'll
  9885. most likely want to add "/Documents". That subdirectory contains the
  9886. actual data stored on your OneDrive.
  9887. Add the remote to rclone like this: Configure the url as
  9888. https://[YOUR-DOMAIN]-my.sharepoint.com/personal/[YOUR-EMAIL]/Documents
  9889. and use your normal account email and password for user and pass. If you
  9890. have 2FA enabled, you have to generate an app password. Set the vendor
  9891. to sharepoint.
  9892. Your config file should look like this:
  9893. [sharepoint]
  9894. type = webdav
  9895. url = https://[YOUR-DOMAIN]-my.sharepoint.com/personal/[YOUR-EMAIL]/Documents
  9896. vendor = other
  9897. user = YourEmailAddress
  9898. pass = encryptedpassword
  9899. dCache
  9900. dCache is a storage system with WebDAV doors that support, beside basic
  9901. and x509, authentication with Macaroons (bearer tokens).
  9902. Configure as normal using the other type. Don't enter a username or
  9903. password, instead enter your Macaroon as the bearer_token.
  9904. The config will end up looking something like this.
  9905. [dcache]
  9906. type = webdav
  9907. url = https://dcache...
  9908. vendor = other
  9909. user =
  9910. pass =
  9911. bearer_token = your-macaroon
  9912. There is a script that obtains a Macaroon from a dCache WebDAV endpoint,
  9913. and creates an rclone config file.
  9914. Yandex Disk
  9915. Yandex Disk is a cloud storage solution created by Yandex.
  9916. Yandex paths may be as deep as required, eg
  9917. remote:directory/subdirectory.
  9918. Here is an example of making a yandex configuration. First run
  9919. rclone config
  9920. This will guide you through an interactive setup process:
  9921. No remotes found - make a new one
  9922. n) New remote
  9923. s) Set configuration password
  9924. n/s> n
  9925. name> remote
  9926. Type of storage to configure.
  9927. Choose a number from below, or type in your own value
  9928. 1 / Amazon Drive
  9929. \ "amazon cloud drive"
  9930. 2 / Amazon S3 (also Dreamhost, Ceph, Minio)
  9931. \ "s3"
  9932. 3 / Backblaze B2
  9933. \ "b2"
  9934. 4 / Dropbox
  9935. \ "dropbox"
  9936. 5 / Encrypt/Decrypt a remote
  9937. \ "crypt"
  9938. 6 / Google Cloud Storage (this is not Google Drive)
  9939. \ "google cloud storage"
  9940. 7 / Google Drive
  9941. \ "drive"
  9942. 8 / Hubic
  9943. \ "hubic"
  9944. 9 / Local Disk
  9945. \ "local"
  9946. 10 / Microsoft OneDrive
  9947. \ "onedrive"
  9948. 11 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
  9949. \ "swift"
  9950. 12 / SSH/SFTP Connection
  9951. \ "sftp"
  9952. 13 / Yandex Disk
  9953. \ "yandex"
  9954. Storage> 13
  9955. Yandex Client Id - leave blank normally.
  9956. client_id>
  9957. Yandex Client Secret - leave blank normally.
  9958. client_secret>
  9959. Remote config
  9960. Use auto config?
  9961. * Say Y if not sure
  9962. * Say N if you are working on a remote or headless machine
  9963. y) Yes
  9964. n) No
  9965. y/n> y
  9966. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  9967. Log in and authorize rclone for access
  9968. Waiting for code...
  9969. Got code
  9970. --------------------
  9971. [remote]
  9972. client_id =
  9973. client_secret =
  9974. token = {"access_token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","token_type":"bearer","expiry":"2016-12-29T12:27:11.362788025Z"}
  9975. --------------------
  9976. y) Yes this is OK
  9977. e) Edit this remote
  9978. d) Delete this remote
  9979. y/e/d> y
  9980. See the remote setup docs for how to set it up on a machine with no
  9981. Internet browser available.
  9982. Note that rclone runs a webserver on your local machine to collect the
  9983. token as returned from Yandex Disk. This only runs from the moment it
  9984. opens your browser to the moment you get back the verification code.
  9985. This is on http://127.0.0.1:53682/ and this it may require you to
  9986. unblock it temporarily if you are running a host firewall.
  9987. Once configured you can then use rclone like this,
  9988. See top level directories
  9989. rclone lsd remote:
  9990. Make a new directory
  9991. rclone mkdir remote:directory
  9992. List the contents of a directory
  9993. rclone ls remote:directory
  9994. Sync /home/local/directory to the remote path, deleting any excess files
  9995. in the path.
  9996. rclone sync /home/local/directory remote:directory
  9997. --fast-list
  9998. This remote supports --fast-list which allows you to use fewer
  9999. transactions in exchange for more memory. See the rclone docs for more
  10000. details.
  10001. Modified time
  10002. Modified times are supported and are stored accurate to 1 ns in custom
  10003. metadata called rclone_modified in RFC3339 with nanoseconds format.
  10004. MD5 checksums
  10005. MD5 checksums are natively supported by Yandex Disk.
  10006. Emptying Trash
  10007. If you wish to empty your trash you can use the rclone cleanup remote:
  10008. command which will permanently delete all your trashed files. This
  10009. command does not take any path arguments.
  10010. Standard Options
  10011. Here are the standard options specific to yandex (Yandex Disk).
  10012. --yandex-client-id
  10013. Yandex Client Id Leave blank normally.
  10014. - Config: client_id
  10015. - Env Var: RCLONE_YANDEX_CLIENT_ID
  10016. - Type: string
  10017. - Default: ""
  10018. --yandex-client-secret
  10019. Yandex Client Secret Leave blank normally.
  10020. - Config: client_secret
  10021. - Env Var: RCLONE_YANDEX_CLIENT_SECRET
  10022. - Type: string
  10023. - Default: ""
  10024. Local Filesystem
  10025. Local paths are specified as normal filesystem paths, eg
  10026. /path/to/wherever, so
  10027. rclone sync /home/source /tmp/destination
  10028. Will sync /home/source to /tmp/destination
  10029. These can be configured into the config file for consistencies sake, but
  10030. it is probably easier not to.
  10031. Modified time
  10032. Rclone reads and writes the modified time using an accuracy determined
  10033. by the OS. Typically this is 1ns on Linux, 10 ns on Windows and 1 Second
  10034. on OS X.
  10035. Filenames
  10036. Filenames are expected to be encoded in UTF-8 on disk. This is the
  10037. normal case for Windows and OS X.
  10038. There is a bit more uncertainty in the Linux world, but new
  10039. distributions will have UTF-8 encoded files names. If you are using an
  10040. old Linux filesystem with non UTF-8 file names (eg latin1) then you can
  10041. use the convmv tool to convert the filesystem to UTF-8. This tool is
  10042. available in most distributions' package managers.
  10043. If an invalid (non-UTF8) filename is read, the invalid characters will
  10044. be replaced with the unicode replacement character, '�'. rclone will
  10045. emit a debug message in this case (use -v to see), eg
  10046. Local file system at .: Replacing invalid UTF-8 characters in "gro\xdf"
  10047. Long paths on Windows
  10048. Rclone handles long paths automatically, by converting all paths to long
  10049. UNC paths which allows paths up to 32,767 characters.
  10050. This is why you will see that your paths, for instance c:\files is
  10051. converted to the UNC path \\?\c:\files in the output, and \\server\share
  10052. is converted to \\?\UNC\server\share.
  10053. However, in rare cases this may cause problems with buggy file system
  10054. drivers like EncFS. To disable UNC conversion globally, add this to your
  10055. .rclone.conf file:
  10056. [local]
  10057. nounc = true
  10058. If you want to selectively disable UNC, you can add it to a separate
  10059. entry like this:
  10060. [nounc]
  10061. type = local
  10062. nounc = true
  10063. And use rclone like this:
  10064. rclone copy c:\src nounc:z:\dst
  10065. This will use UNC paths on c:\src but not on z:\dst. Of course this will
  10066. cause problems if the absolute path length of a file exceeds 258
  10067. characters on z, so only use this option if you have to.
  10068. Symlinks / Junction points
  10069. Normally rclone will ignore symlinks or junction points (which behave
  10070. like symlinks under Windows).
  10071. If you supply --copy-links or -L then rclone will follow the symlink and
  10072. copy the pointed to file or directory.
  10073. This flag applies to all commands.
  10074. For example, supposing you have a directory structure like this
  10075. $ tree /tmp/a
  10076. /tmp/a
  10077. ├── b -> ../b
  10078. ├── expected -> ../expected
  10079. ├── one
  10080. └── two
  10081. └── three
  10082. Then you can see the difference with and without the flag like this
  10083. $ rclone ls /tmp/a
  10084. 6 one
  10085. 6 two/three
  10086. and
  10087. $ rclone -L ls /tmp/a
  10088. 4174 expected
  10089. 6 one
  10090. 6 two/three
  10091. 6 b/two
  10092. 6 b/one
  10093. Restricting filesystems with --one-file-system
  10094. Normally rclone will recurse through filesystems as mounted.
  10095. However if you set --one-file-system or -x this tells rclone to stay in
  10096. the filesystem specified by the root and not to recurse into different
  10097. file systems.
  10098. For example if you have a directory hierarchy like this
  10099. root
  10100. ├── disk1 - disk1 mounted on the root
  10101. │   └── file3 - stored on disk1
  10102. ├── disk2 - disk2 mounted on the root
  10103. │   └── file4 - stored on disk12
  10104. ├── file1 - stored on the root disk
  10105. └── file2 - stored on the root disk
  10106. Using rclone --one-file-system copy root remote: will only copy file1
  10107. and file2. Eg
  10108. $ rclone -q --one-file-system ls root
  10109. 0 file1
  10110. 0 file2
  10111. $ rclone -q ls root
  10112. 0 disk1/file3
  10113. 0 disk2/file4
  10114. 0 file1
  10115. 0 file2
  10116. NB Rclone (like most unix tools such as du, rsync and tar) treats a bind
  10117. mount to the same device as being on the same filesystem.
  10118. NB This flag is only available on Unix based systems. On systems where
  10119. it isn't supported (eg Windows) it will be ignored.
  10120. Standard Options
  10121. Here are the standard options specific to local (Local Disk).
  10122. --local-nounc
  10123. Disable UNC (long path names) conversion on Windows
  10124. - Config: nounc
  10125. - Env Var: RCLONE_LOCAL_NOUNC
  10126. - Type: string
  10127. - Default: ""
  10128. - Examples:
  10129. - "true"
  10130. - Disables long file names
  10131. Advanced Options
  10132. Here are the advanced options specific to local (Local Disk).
  10133. --copy-links
  10134. Follow symlinks and copy the pointed to item.
  10135. - Config: copy_links
  10136. - Env Var: RCLONE_LOCAL_COPY_LINKS
  10137. - Type: bool
  10138. - Default: false
  10139. --skip-links
  10140. Don't warn about skipped symlinks. This flag disables warning messages
  10141. on skipped symlinks or junction points, as you explicitly acknowledge
  10142. that they should be skipped.
  10143. - Config: skip_links
  10144. - Env Var: RCLONE_LOCAL_SKIP_LINKS
  10145. - Type: bool
  10146. - Default: false
  10147. --local-no-unicode-normalization
  10148. Don't apply unicode normalization to paths and filenames (Deprecated)
  10149. This flag is deprecated now. Rclone no longer normalizes unicode file
  10150. names, but it compares them with unicode normalization in the sync
  10151. routine instead.
  10152. - Config: no_unicode_normalization
  10153. - Env Var: RCLONE_LOCAL_NO_UNICODE_NORMALIZATION
  10154. - Type: bool
  10155. - Default: false
  10156. --local-no-check-updated
  10157. Don't check to see if the files change during upload
  10158. Normally rclone checks the size and modification time of files as they
  10159. are being uploaded and aborts with a message which starts "can't copy -
  10160. source file is being updated" if the file changes during upload.
  10161. However on some file systems this modification time check may fail (eg
  10162. Glusterfs #2206) so this check can be disabled with this flag.
  10163. - Config: no_check_updated
  10164. - Env Var: RCLONE_LOCAL_NO_CHECK_UPDATED
  10165. - Type: bool
  10166. - Default: false
  10167. --one-file-system
  10168. Don't cross filesystem boundaries (unix/macOS only).
  10169. - Config: one_file_system
  10170. - Env Var: RCLONE_LOCAL_ONE_FILE_SYSTEM
  10171. - Type: bool
  10172. - Default: false
  10173. CHANGELOG
  10174. v1.44 - 2018-10-15
  10175. - New commands
  10176. - serve ftp: Add ftp server (Antoine GIRARD)
  10177. - settier: perform storage tier changes on supported remotes
  10178. (sandeepkru)
  10179. - New Features
  10180. - Reworked command line help
  10181. - Make default help less verbose (Nick Craig-Wood)
  10182. - Split flags up into global and backend flags (Nick
  10183. Craig-Wood)
  10184. - Implement specialised help for flags and backends (Nick
  10185. Craig-Wood)
  10186. - Show URL of backend help page when starting config (Nick
  10187. Craig-Wood)
  10188. - stats: Long names now split in center (Joanna Marek)
  10189. - Add --log-format flag for more control over log output (dcpu)
  10190. - rc: Add support for OPTIONS and basic CORS (frenos)
  10191. - stats: show FatalErrors and NoRetryErrors in stats (Cédric
  10192. Connes)
  10193. - Bug Fixes
  10194. - Fix -P not ending with a new line (Nick Craig-Wood)
  10195. - config: don't create default config dir when user supplies
  10196. --config (albertony)
  10197. - Don't print non-ASCII characters with --progress on windows
  10198. (Nick Craig-Wood)
  10199. - Correct logs for excluded items (ssaqua)
  10200. - Mount
  10201. - Remove EXPERIMENTAL tags (Nick Craig-Wood)
  10202. - VFS
  10203. - Fix race condition detected by serve ftp tests (Nick Craig-Wood)
  10204. - Add vfs/poll-interval rc command (Fabian Möller)
  10205. - Enable rename for nearly all remotes using server side Move or
  10206. Copy (Nick Craig-Wood)
  10207. - Reduce directory cache cleared by poll-interval (Fabian Möller)
  10208. - Remove EXPERIMENTAL tags (Nick Craig-Wood)
  10209. - Local
  10210. - Skip bad symlinks in dir listing with -L enabled (Cédric Connes)
  10211. - Preallocate files on Windows to reduce fragmentation (Nick
  10212. Craig-Wood)
  10213. - Preallocate files on linux with fallocate(2) (Nick Craig-Wood)
  10214. - Cache
  10215. - Add cache/fetch rc function (Fabian Möller)
  10216. - Fix worker scale down (Fabian Möller)
  10217. - Improve performance by not sending info requests for cached
  10218. chunks (dcpu)
  10219. - Fix error return value of cache/fetch rc method (Fabian Möller)
  10220. - Documentation fix for cache-chunk-total-size (Anagh Kumar
  10221. Baranwal)
  10222. - Preserve leading / in wrapped remote path (Fabian Möller)
  10223. - Add plex_insecure option to skip certificate validation (Fabian
  10224. Möller)
  10225. - Remove entries that no longer exist in the source (dcpu)
  10226. - Crypt
  10227. - Preserve leading / in wrapped remote path (Fabian Möller)
  10228. - Alias
  10229. - Fix handling of Windows network paths (Nick Craig-Wood)
  10230. - Azure Blob
  10231. - Add --azureblob-list-chunk parameter (Santiago Rodríguez)
  10232. - Implemented settier command support on azureblob remote.
  10233. (sandeepkru)
  10234. - Work around SDK bug which causes errors for chunk-sized files
  10235. (Nick Craig-Wood)
  10236. - Box
  10237. - Implement link sharing. (Sebastian Bünger)
  10238. - Drive
  10239. - Add --drive-import-formats - google docs can now be imported
  10240. (Fabian Möller)
  10241. - Rewrite mime type and extension handling (Fabian Möller)
  10242. - Add document links (Fabian Möller)
  10243. - Add support for multipart document extensions (Fabian
  10244. Möller)
  10245. - Add support for apps-script to json export (Fabian Möller)
  10246. - Fix escaped chars in documents during list (Fabian Möller)
  10247. - Add --drive-v2-download-min-size a workaround for slow downloads
  10248. (Fabian Möller)
  10249. - Improve directory notifications in ChangeNotify (Fabian Möller)
  10250. - When listing team drives in config, continue on failure (Nick
  10251. Craig-Wood)
  10252. - FTP
  10253. - Add a small pause after failed upload before deleting file (Nick
  10254. Craig-Wood)
  10255. - Google Cloud Storage
  10256. - Fix service_account_file being ignored (Fabian Möller)
  10257. - Jottacloud
  10258. - Minor improvement in quota info (omit if unlimited) (albertony)
  10259. - Add --fast-list support (albertony)
  10260. - Add permanent delete support: --jottacloud-hard-delete
  10261. (albertony)
  10262. - Add link sharing support (albertony)
  10263. - Fix handling of reserved characters. (Sebastian Bünger)
  10264. - Fix socket leak on Object.Remove (Nick Craig-Wood)
  10265. - Onedrive
  10266. - Rework to support Microsoft Graph (Cnly)
  10267. - NB this will require re-authenticating the remote
  10268. - Removed upload cutoff and always do session uploads (Oliver
  10269. Heyme)
  10270. - Use single-part upload for empty files (Cnly)
  10271. - Fix new fields not saved when editing old config (Alex Chen)
  10272. - Fix sometimes special chars in filenames not replaced (Alex
  10273. Chen)
  10274. - Ignore OneNote files by default (Alex Chen)
  10275. - Add link sharing support (jackyzy823)
  10276. - S3
  10277. - Use custom pacer, to retry operations when reasonable (Craig
  10278. Miskell)
  10279. - Use configured server-side-encryption and storace class options
  10280. when calling CopyObject() (Paul Kohout)
  10281. - Make --s3-v2-auth flag (Nick Craig-Wood)
  10282. - Fix v2 auth on files with spaces (Nick Craig-Wood)
  10283. - Union
  10284. - Implement union backend which reads from multiple backends
  10285. (Felix Brucker)
  10286. - Implement optional interfaces (Move, DirMove, Copy etc) (Nick
  10287. Craig-Wood)
  10288. - Fix ChangeNotify to support multiple remotes (Fabian Möller)
  10289. - Fix --backup-dir on union backend (Nick Craig-Wood)
  10290. - WebDAV
  10291. - Add another time format (Nick Craig-Wood)
  10292. - Add a small pause after failed upload before deleting file (Nick
  10293. Craig-Wood)
  10294. - Add workaround for missing mtime (buergi)
  10295. - Sharepoint: Renew cookies after 12hrs (Henning Surmeier)
  10296. - Yandex
  10297. - Remove redundant nil checks (teresy)
  10298. v1.43.1 - 2018-09-07
  10299. Point release to fix hubic and azureblob backends.
  10300. - Bug Fixes
  10301. - ncdu: Return error instead of log.Fatal in Show (Fabian Möller)
  10302. - cmd: Fix crash with --progress and --stats 0 (Nick Craig-Wood)
  10303. - docs: Tidy website display (Anagh Kumar Baranwal)
  10304. - Azure Blob:
  10305. - Fix multi-part uploads. (sandeepkru)
  10306. - Hubic
  10307. - Fix uploads (Nick Craig-Wood)
  10308. - Retry auth fetching if it fails to make hubic more reliable
  10309. (Nick Craig-Wood)
  10310. v1.43 - 2018-09-01
  10311. - New backends
  10312. - Jottacloud (Sebastian Bünger)
  10313. - New commands
  10314. - copyurl: copies a URL to a remote (Denis)
  10315. - New Features
  10316. - Reworked config for backends (Nick Craig-Wood)
  10317. - All backend config can now be supplied by command line, env
  10318. var or config file
  10319. - Advanced section in the config wizard for the optional items
  10320. - A large step towards rclone backends being usable in other
  10321. go software
  10322. - Allow on the fly remotes with :backend: syntax
  10323. - Stats revamp
  10324. - Add --progress/-P flag to show interactive progress (Nick
  10325. Craig-Wood)
  10326. - Show the total progress of the sync in the stats (Nick
  10327. Craig-Wood)
  10328. - Add --stats-one-line flag for single line stats (Nick
  10329. Craig-Wood)
  10330. - Added weekday schedule into --bwlimit (Mateusz)
  10331. - lsjson: Add option to show the original object IDs (Fabian
  10332. Möller)
  10333. - serve webdav: Make Content-Type without reading the file and add
  10334. --etag-hash (Nick Craig-Wood)
  10335. - build
  10336. - Build macOS with native compiler (Nick Craig-Wood)
  10337. - Update to use go1.11 for the build (Nick Craig-Wood)
  10338. - rc
  10339. - Added core/stats to return the stats (reddi1)
  10340. - version --check: Prints the current release and beta versions
  10341. (Nick Craig-Wood)
  10342. - Bug Fixes
  10343. - accounting
  10344. - Fix time to completion estimates (Nick Craig-Wood)
  10345. - Fix moving average speed for file stats (Nick Craig-Wood)
  10346. - config: Fix error reading password from piped input (Nick
  10347. Craig-Wood)
  10348. - move: Fix --delete-empty-src-dirs flag to delete all empty dirs
  10349. on move (ishuah)
  10350. - Mount
  10351. - Implement --daemon-timeout flag for OSXFUSE (Nick Craig-Wood)
  10352. - Fix mount --daemon not working with encrypted config (Alex Chen)
  10353. - Clip the number of blocks to 2^32-1 on macOS - fixes borg backup
  10354. (Nick Craig-Wood)
  10355. - VFS
  10356. - Enable vfs-read-chunk-size by default (Fabian Möller)
  10357. - Add the vfs/refresh rc command (Fabian Möller)
  10358. - Add non recursive mode to vfs/refresh rc command (Fabian Möller)
  10359. - Try to seek buffer on read only files (Fabian Möller)
  10360. - Local
  10361. - Fix crash when deprecated --local-no-unicode-normalization is
  10362. supplied (Nick Craig-Wood)
  10363. - Fix mkdir error when trying to copy files to the root of a drive
  10364. on windows (Nick Craig-Wood)
  10365. - Cache
  10366. - Fix nil pointer deref when using lsjson on cached directory
  10367. (Nick Craig-Wood)
  10368. - Fix nil pointer deref for occasional crash on playback (Nick
  10369. Craig-Wood)
  10370. - Crypt
  10371. - Fix accounting when checking hashes on upload (Nick Craig-Wood)
  10372. - Amazon Cloud Drive
  10373. - Make very clear in the docs that rclone has no ACD keys (Nick
  10374. Craig-Wood)
  10375. - Azure Blob
  10376. - Add connection string and SAS URL auth (Nick Craig-Wood)
  10377. - List the container to see if it exists (Nick Craig-Wood)
  10378. - Port new Azure Blob Storage SDK (sandeepkru)
  10379. - Added blob tier, tier between Hot, Cool and Archive.
  10380. (sandeepkru)
  10381. - Remove leading / from paths (Nick Craig-Wood)
  10382. - B2
  10383. - Support Application Keys (Nick Craig-Wood)
  10384. - Remove leading / from paths (Nick Craig-Wood)
  10385. - Box
  10386. - Fix upload of > 2GB files on 32 bit platforms (Nick Craig-Wood)
  10387. - Make --box-commit-retries flag defaulting to 100 to fix large
  10388. uploads (Nick Craig-Wood)
  10389. - Drive
  10390. - Add --drive-keep-revision-forever flag (lewapm)
  10391. - Handle gdocs when filtering file names in list (Fabian Möller)
  10392. - Support using --fast-list for large speedups (Fabian Möller)
  10393. - FTP
  10394. - Fix Put mkParentDir failed: 521 for BunnyCDN (Nick Craig-Wood)
  10395. - Google Cloud Storage
  10396. - Fix index out of range error with --fast-list (Nick Craig-Wood)
  10397. - Jottacloud
  10398. - Fix MD5 error check (Oliver Heyme)
  10399. - Handle empty time values (Martin Polden)
  10400. - Calculate missing MD5s (Oliver Heyme)
  10401. - Docs, fixes and tests for MD5 calculation (Nick Craig-Wood)
  10402. - Add optional MimeTyper interface. (Sebastian Bünger)
  10403. - Implement optional About interface (for df support). (Sebastian
  10404. Bünger)
  10405. - Mega
  10406. - Wait for events instead of arbitrary sleeping (Nick Craig-Wood)
  10407. - Add --mega-hard-delete flag (Nick Craig-Wood)
  10408. - Fix failed logins with upper case chars in email (Nick
  10409. Craig-Wood)
  10410. - Onedrive
  10411. - Shared folder support (Yoni Jah)
  10412. - Implement DirMove (Cnly)
  10413. - Fix rmdir sometimes deleting directories with contents (Nick
  10414. Craig-Wood)
  10415. - Pcloud
  10416. - Delete half uploaded files on upload error (Nick Craig-Wood)
  10417. - Qingstor
  10418. - Remove leading / from paths (Nick Craig-Wood)
  10419. - S3
  10420. - Fix index out of range error with --fast-list (Nick Craig-Wood)
  10421. - Add --s3-force-path-style (Nick Craig-Wood)
  10422. - Add support for KMS Key ID (bsteiss)
  10423. - Remove leading / from paths (Nick Craig-Wood)
  10424. - Swift
  10425. - Add storage_policy (Ruben Vandamme)
  10426. - Make it so just storage_url or auth_token can be overidden (Nick
  10427. Craig-Wood)
  10428. - Fix server side copy bug for unusal file names (Nick Craig-Wood)
  10429. - Remove leading / from paths (Nick Craig-Wood)
  10430. - WebDAV
  10431. - Ensure we call MKCOL with a URL with a trailing / for QNAP
  10432. interop (Nick Craig-Wood)
  10433. - If root ends with / then don't check if it is a file (Nick
  10434. Craig-Wood)
  10435. - Don't accept redirects when reading metadata (Nick Craig-Wood)
  10436. - Add bearer token (Macaroon) support for dCache (Nick Craig-Wood)
  10437. - Document dCache and Macaroons (Onno Zweers)
  10438. - Sharepoint recursion with different depth (Henning)
  10439. - Attempt to remove failed uploads (Nick Craig-Wood)
  10440. - Yandex
  10441. - Fix listing/deleting files in the root (Nick Craig-Wood)
  10442. v1.42 - 2018-06-16
  10443. - New backends
  10444. - OpenDrive (Oliver Heyme, Jakub Karlicek, ncw)
  10445. - New commands
  10446. - deletefile command (Filip Bartodziej)
  10447. - New Features
  10448. - copy, move: Copy single files directly, don't use --files-from
  10449. work-around
  10450. - this makes them much more efficient
  10451. - Implement --max-transfer flag to quit transferring at a limit
  10452. - make exit code 8 for --max-transfer exceeded
  10453. - copy: copy empty source directories to destination (Ishuah
  10454. Kariuki)
  10455. - check: Add --one-way flag (Kasper Byrdal Nielsen)
  10456. - Add siginfo handler for macOS for ctrl-T stats (kubatasiemski)
  10457. - rc
  10458. - add core/gc to run a garbage collection on demand
  10459. - enable go profiling by default on the --rc port
  10460. - return error from remote on failure
  10461. - lsf
  10462. - Add --absolute flag to add a leading / onto path names
  10463. - Add --csv flag for compliant CSV output
  10464. - Add 'm' format specifier to show the MimeType
  10465. - Implement 'i' format for showing object ID
  10466. - lsjson
  10467. - Add MimeType to the output
  10468. - Add ID field to output to show Object ID
  10469. - Add --retries-sleep flag (Benjamin Joseph Dag)
  10470. - Oauth tidy up web page and error handling (Henning Surmeier)
  10471. - Bug Fixes
  10472. - Password prompt output with --log-file fixed for unix (Filip
  10473. Bartodziej)
  10474. - Calculate ModifyWindow each time on the fly to fix various
  10475. problems (Stefan Breunig)
  10476. - Mount
  10477. - Only print "File.rename error" if there actually is an error
  10478. (Stefan Breunig)
  10479. - Delay rename if file has open writers instead of failing
  10480. outright (Stefan Breunig)
  10481. - Ensure atexit gets run on interrupt
  10482. - macOS enhancements
  10483. - Make --noappledouble --noapplexattr
  10484. - Add --volname flag and remove special chars from it
  10485. - Make Get/List/Set/Remove xattr return ENOSYS for efficiency
  10486. - Make --daemon work for macOS without CGO
  10487. - VFS
  10488. - Add --vfs-read-chunk-size and --vfs-read-chunk-size-limit
  10489. (Fabian Möller)
  10490. - Fix ChangeNotify for new or changed folders (Fabian Möller)
  10491. - Local
  10492. - Fix symlink/junction point directory handling under Windows
  10493. - NB you will need to add -L to your command line to copy
  10494. files with reparse points
  10495. - Cache
  10496. - Add non cached dirs on notifications (Remus Bunduc)
  10497. - Allow root to be expired from rc (Remus Bunduc)
  10498. - Clean remaining empty folders from temp upload path (Remus
  10499. Bunduc)
  10500. - Cache lists using batch writes (Remus Bunduc)
  10501. - Use secure websockets for HTTPS Plex addresses (John Clayton)
  10502. - Reconnect plex websocket on failures (Remus Bunduc)
  10503. - Fix panic when running without plex configs (Remus Bunduc)
  10504. - Fix root folder caching (Remus Bunduc)
  10505. - Crypt
  10506. - Check the crypted hash of files when uploading for extra data
  10507. security
  10508. - Dropbox
  10509. - Make Dropbox for business folders accessible using an initial /
  10510. in the path
  10511. - Google Cloud Storage
  10512. - Low level retry all operations if necessary
  10513. - Google Drive
  10514. - Add --drive-acknowledge-abuse to download flagged files
  10515. - Add --drive-alternate-export to fix large doc export
  10516. - Don't attempt to choose Team Drives when using rclone config
  10517. create
  10518. - Fix change list polling with team drives
  10519. - Fix ChangeNotify for folders (Fabian Möller)
  10520. - Fix about (and df on a mount) for team drives
  10521. - Onedrive
  10522. - Errorhandler for onedrive for business requests (Henning
  10523. Surmeier)
  10524. - S3
  10525. - Adjust upload concurrency with --s3-upload-concurrency
  10526. (themylogin)
  10527. - Fix --s3-chunk-size which was always using the minimum
  10528. - SFTP
  10529. - Add --ssh-path-override flag (Piotr Oleszczyk)
  10530. - Fix slow downloads for long latency connections
  10531. - Webdav
  10532. - Add workarounds for biz.mail.ru
  10533. - Ignore Reason-Phrase in status line to fix 4shared (Rodrigo)
  10534. - Better error message generation
  10535. v1.41 - 2018-04-28
  10536. - New backends
  10537. - Mega support added
  10538. - Webdav now supports SharePoint cookie authentication (hensur)
  10539. - New commands
  10540. - link: create public link to files and folders (Stefan Breunig)
  10541. - about: gets quota info from a remote (a-roussos, ncw)
  10542. - hashsum: a generic tool for any hash to produce md5sum like
  10543. output
  10544. - New Features
  10545. - lsd: Add -R flag and fix and update docs for all ls commands
  10546. - ncdu: added a "refresh" key - CTRL-L (Keith Goldfarb)
  10547. - serve restic: Add append-only mode (Steve Kriss)
  10548. - serve restic: Disallow overwriting files in append-only mode
  10549. (Alexander Neumann)
  10550. - serve restic: Print actual listener address (Matt Holt)
  10551. - size: Add --json flag (Matthew Holt)
  10552. - sync: implement --ignore-errors (Mateusz Pabian)
  10553. - dedupe: Add dedupe largest functionality (Richard Yang)
  10554. - fs: Extend SizeSuffix to include TB and PB for rclone about
  10555. - fs: add --dump goroutines and --dump openfiles for debugging
  10556. - rc: implement core/memstats to print internal memory usage info
  10557. - rc: new call rc/pid (Michael P. Dubner)
  10558. - Compile
  10559. - Drop support for go1.6
  10560. - Release
  10561. - Fix make tarball (Chih-Hsuan Yen)
  10562. - Bug Fixes
  10563. - filter: fix --min-age and --max-age together check
  10564. - fs: limit MaxIdleConns and MaxIdleConnsPerHost in transport
  10565. - lsd,lsf: make sure all times we output are in local time
  10566. - rc: fix setting bwlimit to unlimited
  10567. - rc: take note of the --rc-addr flag too as per the docs
  10568. - Mount
  10569. - Use About to return the correct disk total/used/free (eg in df)
  10570. - Set --attr-timeout default to 1s - fixes:
  10571. - rclone using too much memory
  10572. - rclone not serving files to samba
  10573. - excessive time listing directories
  10574. - Fix df -i (upstream fix)
  10575. - VFS
  10576. - Filter files . and .. from directory listing
  10577. - Only make the VFS cache if --vfs-cache-mode > Off
  10578. - Local
  10579. - Add --local-no-check-updated to disable updated file checks
  10580. - Retry remove on Windows sharing violation error
  10581. - Cache
  10582. - Flush the memory cache after close
  10583. - Purge file data on notification
  10584. - Always forget parent dir for notifications
  10585. - Integrate with Plex websocket
  10586. - Add rc cache/stats (seuffert)
  10587. - Add info log on notification
  10588. - Box
  10589. - Fix failure reading large directories - parse file/directory
  10590. size as float
  10591. - Dropbox
  10592. - Fix crypt+obfuscate on dropbox
  10593. - Fix repeatedly uploading the same files
  10594. - FTP
  10595. - Work around strange response from box FTP server
  10596. - More workarounds for FTP servers to fix mkParentDir error
  10597. - Fix no error on listing non-existent directory
  10598. - Google Cloud Storage
  10599. - Add service_account_credentials (Matt Holt)
  10600. - Detect bucket presence by listing it - minimises permissions
  10601. needed
  10602. - Ignore zero length directory markers
  10603. - Google Drive
  10604. - Add service_account_credentials (Matt Holt)
  10605. - Fix directory move leaving a hardlinked directory behind
  10606. - Return proper google errors when Opening files
  10607. - When initialized with a filepath, optional features used
  10608. incorrect root path (Stefan Breunig)
  10609. - HTTP
  10610. - Fix sync for servers which don't return Content-Length in HEAD
  10611. - Onedrive
  10612. - Add QuickXorHash support for OneDrive for business
  10613. - Fix socket leak in multipart session upload
  10614. - S3
  10615. - Look in S3 named profile files for credentials
  10616. - Add --s3-disable-checksum to disable checksum uploading (Chris
  10617. Redekop)
  10618. - Hierarchical configuration support (Giri Badanahatti)
  10619. - Add in config for all the supported S3 providers
  10620. - Add One Zone Infrequent Access storage class (Craig Rachel)
  10621. - Add --use-server-modtime support (Peter Baumgartner)
  10622. - Add --s3-chunk-size option to control multipart uploads
  10623. - Ignore zero length directory markers
  10624. - SFTP
  10625. - Update docs to match code, fix typos and clarify
  10626. disable_hashcheck prompt (Michael G. Noll)
  10627. - Update docs with Synology quirks
  10628. - Fail soft with a debug on hash failure
  10629. - Swift
  10630. - Add --use-server-modtime support (Peter Baumgartner)
  10631. - Webdav
  10632. - Support SharePoint cookie authentication (hensur)
  10633. - Strip leading and trailing / off root
  10634. v1.40 - 2018-03-19
  10635. - New backends
  10636. - Alias backend to create aliases for existing remote names
  10637. (Fabian Möller)
  10638. - New commands
  10639. - lsf: list for parsing purposes (Jakub Tasiemski)
  10640. - by default this is a simple non recursive list of files and
  10641. directories
  10642. - it can be configured to add more info in an easy to parse
  10643. way
  10644. - serve restic: for serving a remote as a Restic REST endpoint
  10645. - This enables restic to use any backends that rclone can
  10646. access
  10647. - Thanks Alexander Neumann for help, patches and review
  10648. - rc: enable the remote control of a running rclone
  10649. - The running rclone must be started with --rc and related
  10650. flags.
  10651. - Currently there is support for bwlimit, and flushing for
  10652. mount and cache.
  10653. - New Features
  10654. - --max-delete flag to add a delete threshold (Bjørn Erik
  10655. Pedersen)
  10656. - All backends now support RangeOption for ranged Open
  10657. - cat: Use RangeOption for limited fetches to make more
  10658. efficient
  10659. - cryptcheck: make reading of nonce more efficient with
  10660. RangeOption
  10661. - serve http/webdav/restic
  10662. - support SSL/TLS
  10663. - add --user --pass and --htpasswd for authentication
  10664. - copy/move: detect file size change during copy/move and abort
  10665. transfer (ishuah)
  10666. - cryptdecode: added option to return encrypted file names.
  10667. (ishuah)
  10668. - lsjson: add --encrypted to show encrypted name (Jakub Tasiemski)
  10669. - Add --stats-file-name-length to specify the printed file name
  10670. length for stats (Will Gunn)
  10671. - Compile
  10672. - Code base was shuffled and factored
  10673. - backends moved into a backend directory
  10674. - large packages split up
  10675. - See the CONTRIBUTING.md doc for info as to what lives where
  10676. now
  10677. - Update to using go1.10 as the default go version
  10678. - Implement daily full integration tests
  10679. - Release
  10680. - Include a source tarball and sign it and the binaries
  10681. - Sign the git tags as part of the release process
  10682. - Add .deb and .rpm packages as part of the build
  10683. - Make a beta release for all branches on the main repo (but not
  10684. pull requests)
  10685. - Bug Fixes
  10686. - config: fixes errors on non existing config by loading config
  10687. file only on first access
  10688. - config: retry saving the config after failure (Mateusz)
  10689. - sync: when using --backup-dir don't delete files if we can't set
  10690. their modtime
  10691. - this fixes odd behaviour with Dropbox and --backup-dir
  10692. - fshttp: fix idle timeouts for HTTP connections
  10693. - serve http: fix serving files with : in - fixes
  10694. - Fix --exclude-if-present to ignore directories which it doesn't
  10695. have permission for (Iakov Davydov)
  10696. - Make accounting work properly with crypt and b2
  10697. - remove --no-traverse flag because it is obsolete
  10698. - Mount
  10699. - Add --attr-timeout flag to control attribute caching in kernel
  10700. - this now defaults to 0 which is correct but less efficient
  10701. - see the mount docs for more info
  10702. - Add --daemon flag to allow mount to run in the background
  10703. (ishuah)
  10704. - Fix: Return ENOSYS rather than EIO on attempted link
  10705. - This fixes FileZilla accessing an rclone mount served over
  10706. sftp.
  10707. - Fix setting modtime twice
  10708. - Mount tests now run on CI for Linux (mount & cmount)/Mac/Windows
  10709. - Many bugs fixed in the VFS layer - see below
  10710. - VFS
  10711. - Many fixes for --vfs-cache-mode writes and above
  10712. - Update cached copy if we know it has changed (fixes stale
  10713. data)
  10714. - Clean path names before using them in the cache
  10715. - Disable cache cleaner if --vfs-cache-poll-interval=0
  10716. - Fill and clean the cache immediately on startup
  10717. - Fix Windows opening every file when it stats the file
  10718. - Fix applying modtime for an open Write Handle
  10719. - Fix creation of files when truncating
  10720. - Write 0 bytes when flushing unwritten handles to avoid race
  10721. conditions in FUSE
  10722. - Downgrade "poll-interval is not supported" message to Info
  10723. - Make OpenFile and friends return EINVAL if O_RDONLY and O_TRUNC
  10724. - Local
  10725. - Downgrade "invalid cross-device link: trying copy" to debug
  10726. - Make DirMove return fs.ErrorCantDirMove to allow fallback to
  10727. Copy for cross device
  10728. - Fix race conditions updating the hashes
  10729. - Cache
  10730. - Add support for polling - cache will update when remote changes
  10731. on supported backends
  10732. - Reduce log level for Plex api
  10733. - Fix dir cache issue
  10734. - Implement --cache-db-wait-time flag
  10735. - Improve efficiency with RangeOption and RangeSeek
  10736. - Fix dirmove with temp fs enabled
  10737. - Notify vfs when using temp fs
  10738. - Offline uploading
  10739. - Remote control support for path flushing
  10740. - Amazon cloud drive
  10741. - Rclone no longer has any working keys - disable integration
  10742. tests
  10743. - Implement DirChangeNotify to notify cache/vfs/mount of changes
  10744. - Azureblob
  10745. - Don't check for bucket/container presense if listing was OK
  10746. - this makes rclone do one less request per invocation
  10747. - Improve accounting for chunked uploads
  10748. - Backblaze B2
  10749. - Don't check for bucket/container presense if listing was OK
  10750. - this makes rclone do one less request per invocation
  10751. - Box
  10752. - Improve accounting for chunked uploads
  10753. - Dropbox
  10754. - Fix custom oauth client parameters
  10755. - Google Cloud Storage
  10756. - Don't check for bucket/container presense if listing was OK
  10757. - this makes rclone do one less request per invocation
  10758. - Google Drive
  10759. - Migrate to api v3 (Fabian Möller)
  10760. - Add scope configuration and root folder selection
  10761. - Add --drive-impersonate for service accounts
  10762. - thanks to everyone who tested, explored and contributed docs
  10763. - Add --drive-use-created-date to use created date as modified
  10764. date (nbuchanan)
  10765. - Request the export formats only when required
  10766. - This makes rclone quicker when there are no google docs
  10767. - Fix finding paths with latin1 chars (a workaround for a drive
  10768. bug)
  10769. - Fix copying of a single Google doc file
  10770. - Fix --drive-auth-owner-only to look in all directories
  10771. - HTTP
  10772. - Fix handling of directories with & in
  10773. - Onedrive
  10774. - Removed upload cutoff and always do session uploads
  10775. - this stops the creation of multiple versions on business
  10776. onedrive
  10777. - Overwrite object size value with real size when reading file.
  10778. (Victor)
  10779. - this fixes oddities when onedrive misreports the size of
  10780. images
  10781. - Pcloud
  10782. - Remove unused chunked upload flag and code
  10783. - Qingstor
  10784. - Don't check for bucket/container presense if listing was OK
  10785. - this makes rclone do one less request per invocation
  10786. - S3
  10787. - Support hashes for multipart files (Chris Redekop)
  10788. - Initial support for IBM COS (S3) (Giri Badanahatti)
  10789. - Update docs to discourage use of v2 auth with CEPH and others
  10790. - Don't check for bucket/container presense if listing was OK
  10791. - this makes rclone do one less request per invocation
  10792. - Fix server side copy and set modtime on files with + in
  10793. - SFTP
  10794. - Add option to disable remote hash check command execution (Jon
  10795. Fautley)
  10796. - Add --sftp-ask-password flag to prompt for password when needed
  10797. (Leo R. Lundgren)
  10798. - Add set_modtime configuration option
  10799. - Fix following of symlinks
  10800. - Fix reading config file outside of Fs setup
  10801. - Fix reading $USER in username fallback not $HOME
  10802. - Fix running under crontab - Use correct OS way of reading
  10803. username
  10804. - Swift
  10805. - Fix refresh of authentication token
  10806. - in v1.39 a bug was introduced which ignored new tokens -
  10807. this fixes it
  10808. - Fix extra HEAD transaction when uploading a new file
  10809. - Don't check for bucket/container presense if listing was OK
  10810. - this makes rclone do one less request per invocation
  10811. - Webdav
  10812. - Add new time formats to support mydrive.ch and others
  10813. v1.39 - 2017-12-23
  10814. - New backends
  10815. - WebDAV
  10816. - tested with nextcloud, owncloud, put.io and others!
  10817. - Pcloud
  10818. - cache - wraps a cache around other backends (Remus Bunduc)
  10819. - useful in combination with mount
  10820. - NB this feature is in beta so use with care
  10821. - New commands
  10822. - serve command with subcommands:
  10823. - serve webdav: this implements a webdav server for any rclone
  10824. remote.
  10825. - serve http: command to serve a remote over HTTP
  10826. - config: add sub commands for full config file management
  10827. - create/delete/dump/edit/file/password/providers/show/update
  10828. - touch: to create or update the timestamp of a file (Jakub
  10829. Tasiemski)
  10830. - New Features
  10831. - curl install for rclone (Filip Bartodziej)
  10832. - --stats now shows percentage, size, rate and ETA in condensed
  10833. form (Ishuah Kariuki)
  10834. - --exclude-if-present to exclude a directory if a file is present
  10835. (Iakov Davydov)
  10836. - rmdirs: add --leave-root flag (lewpam)
  10837. - move: add --delete-empty-src-dirs flag to remove dirs after move
  10838. (Ishuah Kariuki)
  10839. - Add --dump flag, introduce --dump requests, responses and remove
  10840. --dump-auth, --dump-filters
  10841. - Obscure X-Auth-Token: from headers when dumping too
  10842. - Document and implement exit codes for different failure modes
  10843. (Ishuah Kariuki)
  10844. - Compile
  10845. - Bug Fixes
  10846. - Retry lots more different types of errors to make multipart
  10847. transfers more reliable
  10848. - Save the config before asking for a token, fixes disappearing
  10849. oauth config
  10850. - Warn the user if --include and --exclude are used together
  10851. (Ernest Borowski)
  10852. - Fix duplicate files (eg on Google drive) causing spurious copies
  10853. - Allow trailing and leading whitespace for passwords (Jason Rose)
  10854. - ncdu: fix crashes on empty directories
  10855. - rcat: fix goroutine leak
  10856. - moveto/copyto: Fix to allow copying to the same name
  10857. - Mount
  10858. - --vfs-cache mode to make writes into mounts more reliable.
  10859. - this requires caching files on the disk (see --cache-dir)
  10860. - As this is a new feature, use with care
  10861. - Use sdnotify to signal systemd the mount is ready (Fabian
  10862. Möller)
  10863. - Check if directory is not empty before mounting (Ernest
  10864. Borowski)
  10865. - Local
  10866. - Add error message for cross file system moves
  10867. - Fix equality check for times
  10868. - Dropbox
  10869. - Rework multipart upload
  10870. - buffer the chunks when uploading large files so they can be
  10871. retried
  10872. - change default chunk size to 48MB now we are buffering them
  10873. in memory
  10874. - retry every error after the first chunk is done successfully
  10875. - Fix error when renaming directories
  10876. - Swift
  10877. - Fix crash on bad authentication
  10878. - Google Drive
  10879. - Add service account support (Tim Cooijmans)
  10880. - S3
  10881. - Make it work properly with Digital Ocean Spaces (Andrew
  10882. Starr-Bochicchio)
  10883. - Fix crash if a bad listing is received
  10884. - Add support for ECS task IAM roles (David Minor)
  10885. - Backblaze B2
  10886. - Fix multipart upload retries
  10887. - Fix --hard-delete to make it work 100% of the time
  10888. - Swift
  10889. - Allow authentication with storage URL and auth key (Giovanni
  10890. Pizzi)
  10891. - Add new fields for swift configuration to support IBM Bluemix
  10892. Swift (Pierre Carlson)
  10893. - Add OS_TENANT_ID and OS_USER_ID to config
  10894. - Allow configs with user id instead of user name
  10895. - Check if swift segments container exists before creating (John
  10896. Leach)
  10897. - Fix memory leak in swift transfers (upstream fix)
  10898. - SFTP
  10899. - Add option to enable the use of aes128-cbc cipher (Jon Fautley)
  10900. - Amazon cloud drive
  10901. - Fix download of large files failing with "Only one auth
  10902. mechanism allowed"
  10903. - crypt
  10904. - Option to encrypt directory names or leave them intact
  10905. - Implement DirChangeNotify (Fabian Möller)
  10906. - onedrive
  10907. - Add option to choose resourceURL during setup of OneDrive
  10908. Business account if more than one is available for user
  10909. v1.38 - 2017-09-30
  10910. - New backends
  10911. - Azure Blob Storage (thanks Andrei Dragomir)
  10912. - Box
  10913. - Onedrive for Business (thanks Oliver Heyme)
  10914. - QingStor from QingCloud (thanks wuyu)
  10915. - New commands
  10916. - rcat - read from standard input and stream upload
  10917. - tree - shows a nicely formatted recursive listing
  10918. - cryptdecode - decode crypted file names (thanks ishuah)
  10919. - config show - print the config file
  10920. - config file - print the config file location
  10921. - New Features
  10922. - Empty directories are deleted on sync
  10923. - dedupe - implement merging of duplicate directories
  10924. - check and cryptcheck made more consistent and use less memory
  10925. - cleanup for remaining remotes (thanks ishuah)
  10926. - --immutable for ensuring that files don't change (thanks Jacob
  10927. McNamee)
  10928. - --user-agent option (thanks Alex McGrath Kraak)
  10929. - --disable flag to disable optional features
  10930. - --bind flag for choosing the local addr on outgoing connections
  10931. - Support for zsh auto-completion (thanks bpicode)
  10932. - Stop normalizing file names but do a normalized compare in sync
  10933. - Compile
  10934. - Update to using go1.9 as the default go version
  10935. - Remove snapd build due to maintenance problems
  10936. - Bug Fixes
  10937. - Improve retriable error detection which makes multipart uploads
  10938. better
  10939. - Make check obey --ignore-size
  10940. - Fix bwlimit toggle in conjunction with schedules (thanks
  10941. cbruegg)
  10942. - config ensures newly written config is on the same mount
  10943. - Local
  10944. - Revert to copy when moving file across file system boundaries
  10945. - --skip-links to suppress symlink warnings (thanks Zhiming Wang)
  10946. - Mount
  10947. - Re-use rcat internals to support uploads from all remotes
  10948. - Dropbox
  10949. - Fix "entry doesn't belong in directory" error
  10950. - Stop using deprecated API methods
  10951. - Swift
  10952. - Fix server side copy to empty container with --fast-list
  10953. - Google Drive
  10954. - Change the default for --drive-use-trash to true
  10955. - S3
  10956. - Set session token when using STS (thanks Girish Ramakrishnan)
  10957. - Glacier docs and error messages (thanks Jan Varho)
  10958. - Read 1000 (not 1024) items in dir listings to fix Wasabi
  10959. - Backblaze B2
  10960. - Fix SHA1 mismatch when downloading files with no SHA1
  10961. - Calculate missing hashes on the fly instead of spooling
  10962. - --b2-hard-delete to permanently delete (not hide) files (thanks
  10963. John Papandriopoulos)
  10964. - Hubic
  10965. - Fix creating containers - no longer have to use the default
  10966. container
  10967. - Swift
  10968. - Optionally configure from a standard set of OpenStack
  10969. environment vars
  10970. - Add endpoint_type config
  10971. - Google Cloud Storage
  10972. - Fix bucket creation to work with limited permission users
  10973. - SFTP
  10974. - Implement connection pooling for multiple ssh connections
  10975. - Limit new connections per second
  10976. - Add support for MD5 and SHA1 hashes where available (thanks
  10977. Christian Brüggemann)
  10978. - HTTP
  10979. - Fix URL encoding issues
  10980. - Fix directories with : in
  10981. - Fix panic with URL encoded content
  10982. v1.37 - 2017-07-22
  10983. - New backends
  10984. - FTP - thanks to Antonio Messina
  10985. - HTTP - thanks to Vasiliy Tolstov
  10986. - New commands
  10987. - rclone ncdu - for exploring a remote with a text based user
  10988. interface.
  10989. - rclone lsjson - for listing with a machine readable output
  10990. - rclone dbhashsum - to show Dropbox style hashes of files (local
  10991. or Dropbox)
  10992. - New Features
  10993. - Implement --fast-list flag
  10994. - This allows remotes to list recursively if they can
  10995. - This uses less transactions (important if you pay for them)
  10996. - This may or may not be quicker
  10997. - This will use more memory as it has to hold the listing in
  10998. memory
  10999. - --old-sync-method deprecated - the remaining uses are
  11000. covered by --fast-list
  11001. - This involved a major re-write of all the listing code
  11002. - Add --tpslimit and --tpslimit-burst to limit transactions per
  11003. second
  11004. - this is useful in conjuction with rclone mount to limit
  11005. external apps
  11006. - Add --stats-log-level so can see --stats without -v
  11007. - Print password prompts to stderr - Hraban Luyat
  11008. - Warn about duplicate files when syncing
  11009. - Oauth improvements
  11010. - allow auth_url and token_url to be set in the config file
  11011. - Print redirection URI if using own credentials.
  11012. - Don't Mkdir at the start of sync to save transactions
  11013. - Compile
  11014. - Update build to go1.8.3
  11015. - Require go1.6 for building rclone
  11016. - Compile 386 builds with "GO386=387" for maximum compatibility
  11017. - Bug Fixes
  11018. - Fix menu selection when no remotes
  11019. - Config saving reworked to not kill the file if disk gets full
  11020. - Don't delete remote if name does not change while renaming
  11021. - moveto, copyto: report transfers and checks as per move and copy
  11022. - Local
  11023. - Add --local-no-unicode-normalization flag - Bob Potter
  11024. - Mount
  11025. - Now supported on Windows using cgofuse and WinFsp - thanks to
  11026. Bill Zissimopoulos for much help
  11027. - Compare checksums on upload/download via FUSE
  11028. - Unmount when program ends with SIGINT (Ctrl+C) or SIGTERM -
  11029. Jérôme Vizcaino
  11030. - On read only open of file, make open pending until first read
  11031. - Make --read-only reject modify operations
  11032. - Implement ModTime via FUSE for remotes that support it
  11033. - Allow modTime to be changed even before all writers are closed
  11034. - Fix panic on renames
  11035. - Fix hang on errored upload
  11036. - Crypt
  11037. - Report the name:root as specified by the user
  11038. - Add an "obfuscate" option for filename encryption - Stephen
  11039. Harris
  11040. - Amazon Drive
  11041. - Fix initialization order for token renewer
  11042. - Remove revoked credentials, allow oauth proxy config and update
  11043. docs
  11044. - B2
  11045. - Reduce minimum chunk size to 5MB
  11046. - Drive
  11047. - Add team drive support
  11048. - Reduce bandwidth by adding fields for partial responses - Martin
  11049. Kristensen
  11050. - Implement --drive-shared-with-me flag to view shared with me
  11051. files - Danny Tsai
  11052. - Add --drive-trashed-only to read only the files in the trash
  11053. - Remove obsolete --drive-full-list
  11054. - Add missing seek to start on retries of chunked uploads
  11055. - Fix stats accounting for upload
  11056. - Convert / in names to a unicode equivalent (/)
  11057. - Poll for Google Drive changes when mounted
  11058. - OneDrive
  11059. - Fix the uploading of files with spaces
  11060. - Fix initialization order for token renewer
  11061. - Display speeds accurately when uploading - Yoni Jah
  11062. - Swap to using http://localhost:53682/ as redirect URL - Michael
  11063. Ledin
  11064. - Retry on token expired error, reset upload body on retry - Yoni
  11065. Jah
  11066. - Google Cloud Storage
  11067. - Add ability to specify location and storage class via config and
  11068. command line - thanks gdm85
  11069. - Create container if necessary on server side copy
  11070. - Increase directory listing chunk to 1000 to increase performance
  11071. - Obtain a refresh token for GCS - Steven Lu
  11072. - Yandex
  11073. - Fix the name reported in log messages (was empty)
  11074. - Correct error return for listing empty directory
  11075. - Dropbox
  11076. - Rewritten to use the v2 API
  11077. - Now supports ModTime
  11078. - Can only set by uploading the file again
  11079. - If you uploaded with an old rclone, rclone may upload
  11080. everything again
  11081. - Use --size-only or --checksum to avoid this
  11082. - Now supports the Dropbox content hashing scheme
  11083. - Now supports low level retries
  11084. - S3
  11085. - Work around eventual consistency in bucket creation
  11086. - Create container if necessary on server side copy
  11087. - Add us-east-2 (Ohio) and eu-west-2 (London) S3 regions - Zahiar
  11088. Ahmed
  11089. - Swift, Hubic
  11090. - Fix zero length directory markers showing in the subdirectory
  11091. listing
  11092. - this caused lots of duplicate transfers
  11093. - Fix paged directory listings
  11094. - this caused duplicate directory errors
  11095. - Create container if necessary on server side copy
  11096. - Increase directory listing chunk to 1000 to increase performance
  11097. - Make sensible error if the user forgets the container
  11098. - SFTP
  11099. - Add support for using ssh key files
  11100. - Fix under Windows
  11101. - Fix ssh agent on Windows
  11102. - Adapt to latest version of library - Igor Kharin
  11103. v1.36 - 2017-03-18
  11104. - New Features
  11105. - SFTP remote (Jack Schmidt)
  11106. - Re-implement sync routine to work a directory at a time reducing
  11107. memory usage
  11108. - Logging revamped to be more inline with rsync - now much
  11109. quieter * -v only shows transfers * -vv is for full debug *
  11110. --syslog to log to syslog on capable platforms
  11111. - Implement --backup-dir and --suffix
  11112. - Implement --track-renames (initial implementation by Bjørn Erik
  11113. Pedersen)
  11114. - Add time-based bandwidth limits (Lukas Loesche)
  11115. - rclone cryptcheck: checks integrity of crypt remotes
  11116. - Allow all config file variables and options to be set from
  11117. environment variables
  11118. - Add --buffer-size parameter to control buffer size for copy
  11119. - Make --delete-after the default
  11120. - Add --ignore-checksum flag (fixed by Hisham Zarka)
  11121. - rclone check: Add --download flag to check all the data, not
  11122. just hashes
  11123. - rclone cat: add --head, --tail, --offset, --count and --discard
  11124. - rclone config: when choosing from a list, allow the value to be
  11125. entered too
  11126. - rclone config: allow rename and copy of remotes
  11127. - rclone obscure: for generating encrypted passwords for rclone's
  11128. config (T.C. Ferguson)
  11129. - Comply with XDG Base Directory specification (Dario Giovannetti)
  11130. - this moves the default location of the config file in a
  11131. backwards compatible way
  11132. - Release changes
  11133. - Ubuntu snap support (Dedsec1)
  11134. - Compile with go 1.8
  11135. - MIPS/Linux big and little endian support
  11136. - Bug Fixes
  11137. - Fix copyto copying things to the wrong place if the destination
  11138. dir didn't exist
  11139. - Fix parsing of remotes in moveto and copyto
  11140. - Fix --delete-before deleting files on copy
  11141. - Fix --files-from with an empty file copying everything
  11142. - Fix sync: don't update mod times if --dry-run set
  11143. - Fix MimeType propagation
  11144. - Fix filters to add ** rules to directory rules
  11145. - Local
  11146. - Implement -L, --copy-links flag to allow rclone to follow
  11147. symlinks
  11148. - Open files in write only mode so rclone can write to an rclone
  11149. mount
  11150. - Fix unnormalised unicode causing problems reading directories
  11151. - Fix interaction between -x flag and --max-depth
  11152. - Mount
  11153. - Implement proper directory handling (mkdir, rmdir, renaming)
  11154. - Make include and exclude filters apply to mount
  11155. - Implement read and write async buffers - control with
  11156. --buffer-size
  11157. - Fix fsync on for directories
  11158. - Fix retry on network failure when reading off crypt
  11159. - Crypt
  11160. - Add --crypt-show-mapping to show encrypted file mapping
  11161. - Fix crypt writer getting stuck in a loop
  11162. - IMPORTANT this bug had the potential to cause data
  11163. corruption when
  11164. - reading data from a network based remote and
  11165. - writing to a crypt on Google Drive
  11166. - Use the cryptcheck command to validate your data if you are
  11167. concerned
  11168. - If syncing two crypt remotes, sync the unencrypted remote
  11169. - Amazon Drive
  11170. - Fix panics on Move (rename)
  11171. - Fix panic on token expiry
  11172. - B2
  11173. - Fix inconsistent listings and rclone check
  11174. - Fix uploading empty files with go1.8
  11175. - Constrain memory usage when doing multipart uploads
  11176. - Fix upload url not being refreshed properly
  11177. - Drive
  11178. - Fix Rmdir on directories with trashed files
  11179. - Fix "Ignoring unknown object" when downloading
  11180. - Add --drive-list-chunk
  11181. - Add --drive-skip-gdocs (Károly Oláh)
  11182. - OneDrive
  11183. - Implement Move
  11184. - Fix Copy
  11185. - Fix overwrite detection in Copy
  11186. - Fix waitForJob to parse errors correctly
  11187. - Use token renewer to stop auth errors on long uploads
  11188. - Fix uploading empty files with go1.8
  11189. - Google Cloud Storage
  11190. - Fix depth 1 directory listings
  11191. - Yandex
  11192. - Fix single level directory listing
  11193. - Dropbox
  11194. - Normalise the case for single level directory listings
  11195. - Fix depth 1 listing
  11196. - S3
  11197. - Added ca-central-1 region (Jon Yergatian)
  11198. v1.35 - 2017-01-02
  11199. - New Features
  11200. - moveto and copyto commands for choosing a destination name on
  11201. copy/move
  11202. - rmdirs command to recursively delete empty directories
  11203. - Allow repeated --include/--exclude/--filter options
  11204. - Only show transfer stats on commands which transfer stuff
  11205. - show stats on any command using the --stats flag
  11206. - Allow overlapping directories in move when server side dir move
  11207. is supported
  11208. - Add --stats-unit option - thanks Scott McGillivray
  11209. - Bug Fixes
  11210. - Fix the config file being overwritten when two rclones are
  11211. running
  11212. - Make rclone lsd obey the filters properly
  11213. - Fix compilation on mips
  11214. - Fix not transferring files that don't differ in size
  11215. - Fix panic on nil retry/fatal error
  11216. - Mount
  11217. - Retry reads on error - should help with reliability a lot
  11218. - Report the modification times for directories from the remote
  11219. - Add bandwidth accounting and limiting (fixes --bwlimit)
  11220. - If --stats provided will show stats and which files are
  11221. transferring
  11222. - Support R/W files if truncate is set.
  11223. - Implement statfs interface so df works
  11224. - Note that write is now supported on Amazon Drive
  11225. - Report number of blocks in a file - thanks Stefan Breunig
  11226. - Crypt
  11227. - Prevent the user pointing crypt at itself
  11228. - Fix failed to authenticate decrypted block errors
  11229. - these will now return the underlying unexpected EOF instead
  11230. - Amazon Drive
  11231. - Add support for server side move and directory move - thanks
  11232. Stefan Breunig
  11233. - Fix nil pointer deref on size attribute
  11234. - B2
  11235. - Use new prefix and delimiter parameters in directory listings
  11236. - This makes --max-depth 1 dir listings as used in mount much
  11237. faster
  11238. - Reauth the account while doing uploads too - should help with
  11239. token expiry
  11240. - Drive
  11241. - Make DirMove more efficient and complain about moving the root
  11242. - Create destination directory on Move()
  11243. v1.34 - 2016-11-06
  11244. - New Features
  11245. - Stop single file and --files-from operations iterating through
  11246. the source bucket.
  11247. - Stop removing failed upload to cloud storage remotes
  11248. - Make ContentType be preserved for cloud to cloud copies
  11249. - Add support to toggle bandwidth limits via SIGUSR2 - thanks
  11250. Marco Paganini
  11251. - rclone check shows count of hashes that couldn't be checked
  11252. - rclone listremotes command
  11253. - Support linux/arm64 build - thanks Fredrik Fornwall
  11254. - Remove Authorization: lines from --dump-headers output
  11255. - Bug Fixes
  11256. - Ignore files with control characters in the names
  11257. - Fix rclone move command
  11258. - Delete src files which already existed in dst
  11259. - Fix deletion of src file when dst file older
  11260. - Fix rclone check on crypted file systems
  11261. - Make failed uploads not count as "Transferred"
  11262. - Make sure high level retries show with -q
  11263. - Use a vendor directory with godep for repeatable builds
  11264. - rclone mount - FUSE
  11265. - Implement FUSE mount options
  11266. - --no-modtime, --debug-fuse, --read-only, --allow-non-empty,
  11267. --allow-root, --allow-other
  11268. - --default-permissions, --write-back-cache, --max-read-ahead,
  11269. --umask, --uid, --gid
  11270. - Add --dir-cache-time to control caching of directory entries
  11271. - Implement seek for files opened for read (useful for video
  11272. players)
  11273. - with -no-seek flag to disable
  11274. - Fix crash on 32 bit ARM (alignment of 64 bit counter)
  11275. - ...and many more internal fixes and improvements!
  11276. - Crypt
  11277. - Don't show encrypted password in configurator to stop confusion
  11278. - Amazon Drive
  11279. - New wait for upload option --acd-upload-wait-per-gb
  11280. - upload timeouts scale by file size and can be disabled
  11281. - Add 502 Bad Gateway to list of errors we retry
  11282. - Fix overwriting a file with a zero length file
  11283. - Fix ACD file size warning limit - thanks Felix Bünemann
  11284. - Local
  11285. - Unix: implement -x/--one-file-system to stay on a single file
  11286. system
  11287. - thanks Durval Menezes and Luiz Carlos Rumbelsperger Viana
  11288. - Windows: ignore the symlink bit on files
  11289. - Windows: Ignore directory based junction points
  11290. - B2
  11291. - Make sure each upload has at least one upload slot - fixes
  11292. strange upload stats
  11293. - Fix uploads when using crypt
  11294. - Fix download of large files (sha1 mismatch)
  11295. - Return error when we try to create a bucket which someone else
  11296. owns
  11297. - Update B2 docs with Data usage, and Crypt section - thanks
  11298. Tomasz Mazur
  11299. - S3
  11300. - Command line and config file support for
  11301. - Setting/overriding ACL - thanks Radek Senfeld
  11302. - Setting storage class - thanks Asko Tamm
  11303. - Drive
  11304. - Make exponential backoff work exactly as per Google
  11305. specification
  11306. - add .epub, .odp and .tsv as export formats.
  11307. - Swift
  11308. - Don't read metadata for directory marker objects
  11309. v1.33 - 2016-08-24
  11310. - New Features
  11311. - Implement encryption
  11312. - data encrypted in NACL secretbox format
  11313. - with optional file name encryption
  11314. - New commands
  11315. - rclone mount - implements FUSE mounting of remotes
  11316. (EXPERIMENTAL)
  11317. - works on Linux, FreeBSD and OS X (need testers for the
  11318. last 2!)
  11319. - rclone cat - outputs remote file or files to the terminal
  11320. - rclone genautocomplete - command to make a bash completion
  11321. script for rclone
  11322. - Editing a remote using rclone config now goes through the wizard
  11323. - Compile with go 1.7 - this fixes rclone on macOS Sierra and on
  11324. 386 processors
  11325. - Use cobra for sub commands and docs generation
  11326. - drive
  11327. - Document how to make your own client_id
  11328. - s3
  11329. - User-configurable Amazon S3 ACL (thanks Radek Šenfeld)
  11330. - b2
  11331. - Fix stats accounting for upload - no more jumping to 100% done
  11332. - On cleanup delete hide marker if it is the current file
  11333. - New B2 API endpoint (thanks Per Cederberg)
  11334. - Set maximum backoff to 5 Minutes
  11335. - onedrive
  11336. - Fix URL escaping in file names - eg uploading files with + in
  11337. them.
  11338. - amazon cloud drive
  11339. - Fix token expiry during large uploads
  11340. - Work around 408 REQUEST_TIMEOUT and 504 GATEWAY_TIMEOUT errors
  11341. - local
  11342. - Fix filenames with invalid UTF-8 not being uploaded
  11343. - Fix problem with some UTF-8 characters on OS X
  11344. v1.32 - 2016-07-13
  11345. - Backblaze B2
  11346. - Fix upload of files large files not in root
  11347. v1.31 - 2016-07-13
  11348. - New Features
  11349. - Reduce memory on sync by about 50%
  11350. - Implement --no-traverse flag to stop copy traversing the
  11351. destination remote.
  11352. - This can be used to reduce memory usage down to the smallest
  11353. possible.
  11354. - Useful to copy a small number of files into a large
  11355. destination folder.
  11356. - Implement cleanup command for emptying trash / removing old
  11357. versions of files
  11358. - Currently B2 only
  11359. - Single file handling improved
  11360. - Now copied with --files-from
  11361. - Automatically sets --no-traverse when copying a single file
  11362. - Info on using installing with ansible - thanks Stefan Weichinger
  11363. - Implement --no-update-modtime flag to stop rclone fixing the
  11364. remote modified times.
  11365. - Bug Fixes
  11366. - Fix move command - stop it running for overlapping Fses - this
  11367. was causing data loss.
  11368. - Local
  11369. - Fix incomplete hashes - this was causing problems for B2.
  11370. - Amazon Drive
  11371. - Rename Amazon Cloud Drive to Amazon Drive - no changes to config
  11372. file needed.
  11373. - Swift
  11374. - Add support for non-default project domain - thanks Antonio
  11375. Messina.
  11376. - S3
  11377. - Add instructions on how to use rclone with minio.
  11378. - Add ap-northeast-2 (Seoul) and ap-south-1 (Mumbai) regions.
  11379. - Skip setting the modified time for objects > 5GB as it isn't
  11380. possible.
  11381. - Backblaze B2
  11382. - Add --b2-versions flag so old versions can be listed and
  11383. retreived.
  11384. - Treat 403 errors (eg cap exceeded) as fatal.
  11385. - Implement cleanup command for deleting old file versions.
  11386. - Make error handling compliant with B2 integrations notes.
  11387. - Fix handling of token expiry.
  11388. - Implement --b2-test-mode to set X-Bz-Test-Mode header.
  11389. - Set cutoff for chunked upload to 200MB as per B2 guidelines.
  11390. - Make upload multi-threaded.
  11391. - Dropbox
  11392. - Don't retry 461 errors.
  11393. v1.30 - 2016-06-18
  11394. - New Features
  11395. - Directory listing code reworked for more features and better
  11396. error reporting (thanks to Klaus Post for help). This enables
  11397. - Directory include filtering for efficiency
  11398. - --max-depth parameter
  11399. - Better error reporting
  11400. - More to come
  11401. - Retry more errors
  11402. - Add --ignore-size flag - for uploading images to onedrive
  11403. - Log -v output to stdout by default
  11404. - Display the transfer stats in more human readable form
  11405. - Make 0 size files specifiable with --max-size 0b
  11406. - Add b suffix so we can specify bytes in --bwlimit, --min-size
  11407. etc
  11408. - Use "password:" instead of "password>" prompt - thanks Klaus
  11409. Post and Leigh Klotz
  11410. - Bug Fixes
  11411. - Fix retry doing one too many retries
  11412. - Local
  11413. - Fix problems with OS X and UTF-8 characters
  11414. - Amazon Drive
  11415. - Check a file exists before uploading to help with 408 Conflict
  11416. errors
  11417. - Reauth on 401 errors - this has been causing a lot of problems
  11418. - Work around spurious 403 errors
  11419. - Restart directory listings on error
  11420. - Google Drive
  11421. - Check a file exists before uploading to help with duplicates
  11422. - Fix retry of multipart uploads
  11423. - Backblaze B2
  11424. - Implement large file uploading
  11425. - S3
  11426. - Add AES256 server-side encryption for - thanks Justin R. Wilson
  11427. - Google Cloud Storage
  11428. - Make sure we don't use conflicting content types on upload
  11429. - Add service account support - thanks Michal Witkowski
  11430. - Swift
  11431. - Add auth version parameter
  11432. - Add domain option for openstack (v3 auth) - thanks Fabian Ruff
  11433. v1.29 - 2016-04-18
  11434. - New Features
  11435. - Implement -I, --ignore-times for unconditional upload
  11436. - Improve dedupecommand
  11437. - Now removes identical copies without asking
  11438. - Now obeys --dry-run
  11439. - Implement --dedupe-mode for non interactive running
  11440. - --dedupe-mode interactive - interactive the default.
  11441. - --dedupe-mode skip - removes identical files then skips
  11442. anything left.
  11443. - --dedupe-mode first - removes identical files then keeps
  11444. the first one.
  11445. - --dedupe-mode newest - removes identical files then
  11446. keeps the newest one.
  11447. - --dedupe-mode oldest - removes identical files then
  11448. keeps the oldest one.
  11449. - --dedupe-mode rename - removes identical files then
  11450. renames the rest to be different.
  11451. - Bug fixes
  11452. - Make rclone check obey the --size-only flag.
  11453. - Use "application/octet-stream" if discovered mime type is
  11454. invalid.
  11455. - Fix missing "quit" option when there are no remotes.
  11456. - Google Drive
  11457. - Increase default chunk size to 8 MB - increases upload speed of
  11458. big files
  11459. - Speed up directory listings and make more reliable
  11460. - Add missing retries for Move and DirMove - increases reliability
  11461. - Preserve mime type on file update
  11462. - Backblaze B2
  11463. - Enable mod time syncing
  11464. - This means that B2 will now check modification times
  11465. - It will upload new files to update the modification times
  11466. - (there isn't an API to just set the mod time.)
  11467. - If you want the old behaviour use --size-only.
  11468. - Update API to new version
  11469. - Fix parsing of mod time when not in metadata
  11470. - Swift/Hubic
  11471. - Don't return an MD5SUM for static large objects
  11472. - S3
  11473. - Fix uploading files bigger than 50GB
  11474. v1.28 - 2016-03-01
  11475. - New Features
  11476. - Configuration file encryption - thanks Klaus Post
  11477. - Improve rclone config adding more help and making it easier to
  11478. understand
  11479. - Implement -u/--update so creation times can be used on all
  11480. remotes
  11481. - Implement --low-level-retries flag
  11482. - Optionally disable gzip compression on downloads with
  11483. --no-gzip-encoding
  11484. - Bug fixes
  11485. - Don't make directories if --dry-run set
  11486. - Fix and document the move command
  11487. - Fix redirecting stderr on unix-like OSes when using --log-file
  11488. - Fix delete command to wait until all finished - fixes missing
  11489. deletes.
  11490. - Backblaze B2
  11491. - Use one upload URL per go routine fixes
  11492. more than one upload using auth token
  11493. - Add pacing, retries and reauthentication - fixes token expiry
  11494. problems
  11495. - Upload without using a temporary file from local (and remotes
  11496. which support SHA1)
  11497. - Fix reading metadata for all files when it shouldn't have been
  11498. - Drive
  11499. - Fix listing drive documents at root
  11500. - Disable copy and move for Google docs
  11501. - Swift
  11502. - Fix uploading of chunked files with non ASCII characters
  11503. - Allow setting of storage_url in the config - thanks Xavier Lucas
  11504. - S3
  11505. - Allow IAM role and credentials from environment variables -
  11506. thanks Brian Stengaard
  11507. - Allow low privilege users to use S3 (check if directory exists
  11508. during Mkdir) - thanks Jakub Gedeon
  11509. - Amazon Drive
  11510. - Retry on more things to make directory listings more reliable
  11511. v1.27 - 2016-01-31
  11512. - New Features
  11513. - Easier headless configuration with rclone authorize
  11514. - Add support for multiple hash types - we now check SHA1 as well
  11515. as MD5 hashes.
  11516. - delete command which does obey the filters (unlike purge)
  11517. - dedupe command to deduplicate a remote. Useful with Google
  11518. Drive.
  11519. - Add --ignore-existing flag to skip all files that exist on
  11520. destination.
  11521. - Add --delete-before, --delete-during, --delete-after flags.
  11522. - Add --memprofile flag to debug memory use.
  11523. - Warn the user about files with same name but different case
  11524. - Make --include rules add their implict exclude * at the end of
  11525. the filter list
  11526. - Deprecate compiling with go1.3
  11527. - Amazon Drive
  11528. - Fix download of files > 10 GB
  11529. - Fix directory traversal ("Next token is expired") for large
  11530. directory listings
  11531. - Remove 409 conflict from error codes we will retry - stops very
  11532. long pauses
  11533. - Backblaze B2
  11534. - SHA1 hashes now checked by rclone core
  11535. - Drive
  11536. - Add --drive-auth-owner-only to only consider files owned by the
  11537. user - thanks Björn Harrtell
  11538. - Export Google documents
  11539. - Dropbox
  11540. - Make file exclusion error controllable with -q
  11541. - Swift
  11542. - Fix upload from unprivileged user.
  11543. - S3
  11544. - Fix updating of mod times of files with + in.
  11545. - Local
  11546. - Add local file system option to disable UNC on Windows.
  11547. v1.26 - 2016-01-02
  11548. - New Features
  11549. - Yandex storage backend - thank you Dmitry Burdeev ("dibu")
  11550. - Implement Backblaze B2 storage backend
  11551. - Add --min-age and --max-age flags - thank you Adriano Aurélio
  11552. Meirelles
  11553. - Make ls/lsl/md5sum/size/check obey includes and excludes
  11554. - Fixes
  11555. - Fix crash in http logging
  11556. - Upload releases to github too
  11557. - Swift
  11558. - Fix sync for chunked files
  11559. - OneDrive
  11560. - Re-enable server side copy
  11561. - Don't mask HTTP error codes with JSON decode error
  11562. - S3
  11563. - Fix corrupting Content-Type on mod time update (thanks Joseph
  11564. Spurrier)
  11565. v1.25 - 2015-11-14
  11566. - New features
  11567. - Implement Hubic storage system
  11568. - Fixes
  11569. - Fix deletion of some excluded files without --delete-excluded
  11570. - This could have deleted files unexpectedly on sync
  11571. - Always check first with --dry-run!
  11572. - Swift
  11573. - Stop SetModTime losing metadata (eg X-Object-Manifest)
  11574. - This could have caused data loss for files > 5GB in size
  11575. - Use ContentType from Object to avoid lookups in listings
  11576. - OneDrive
  11577. - disable server side copy as it seems to be broken at Microsoft
  11578. v1.24 - 2015-11-07
  11579. - New features
  11580. - Add support for Microsoft OneDrive
  11581. - Add --no-check-certificate option to disable server certificate
  11582. verification
  11583. - Add async readahead buffer for faster transfer of big files
  11584. - Fixes
  11585. - Allow spaces in remotes and check remote names for validity at
  11586. creation time
  11587. - Allow '&' and disallow ':' in Windows filenames.
  11588. - Swift
  11589. - Ignore directory marker objects where appropriate - allows
  11590. working with Hubic
  11591. - Don't delete the container if fs wasn't at root
  11592. - S3
  11593. - Don't delete the bucket if fs wasn't at root
  11594. - Google Cloud Storage
  11595. - Don't delete the bucket if fs wasn't at root
  11596. v1.23 - 2015-10-03
  11597. - New features
  11598. - Implement rclone size for measuring remotes
  11599. - Fixes
  11600. - Fix headless config for drive and gcs
  11601. - Tell the user they should try again if the webserver method
  11602. failed
  11603. - Improve output of --dump-headers
  11604. - S3
  11605. - Allow anonymous access to public buckets
  11606. - Swift
  11607. - Stop chunked operations logging "Failed to read info: Object Not
  11608. Found"
  11609. - Use Content-Length on uploads for extra reliability
  11610. v1.22 - 2015-09-28
  11611. - Implement rsync like include and exclude flags
  11612. - swift
  11613. - Support files > 5GB - thanks Sergey Tolmachev
  11614. v1.21 - 2015-09-22
  11615. - New features
  11616. - Display individual transfer progress
  11617. - Make lsl output times in localtime
  11618. - Fixes
  11619. - Fix allowing user to override credentials again in Drive, GCS
  11620. and ACD
  11621. - Amazon Drive
  11622. - Implement compliant pacing scheme
  11623. - Google Drive
  11624. - Make directory reads concurrent for increased speed.
  11625. v1.20 - 2015-09-15
  11626. - New features
  11627. - Amazon Drive support
  11628. - Oauth support redone - fix many bugs and improve usability
  11629. - Use "golang.org/x/oauth2" as oauth libary of choice
  11630. - Improve oauth usability for smoother initial signup
  11631. - drive, googlecloudstorage: optionally use auto config for
  11632. the oauth token
  11633. - Implement --dump-headers and --dump-bodies debug flags
  11634. - Show multiple matched commands if abbreviation too short
  11635. - Implement server side move where possible
  11636. - local
  11637. - Always use UNC paths internally on Windows - fixes a lot of bugs
  11638. - dropbox
  11639. - force use of our custom transport which makes timeouts work
  11640. - Thanks to Klaus Post for lots of help with this release
  11641. v1.19 - 2015-08-28
  11642. - New features
  11643. - Server side copies for s3/swift/drive/dropbox/gcs
  11644. - Move command - uses server side copies if it can
  11645. - Implement --retries flag - tries 3 times by default
  11646. - Build for plan9/amd64 and solaris/amd64 too
  11647. - Fixes
  11648. - Make a current version download with a fixed URL for scripting
  11649. - Ignore rmdir in limited fs rather than throwing error
  11650. - dropbox
  11651. - Increase chunk size to improve upload speeds massively
  11652. - Issue an error message when trying to upload bad file name
  11653. v1.18 - 2015-08-17
  11654. - drive
  11655. - Add --drive-use-trash flag so rclone trashes instead of deletes
  11656. - Add "Forbidden to download" message for files with no
  11657. downloadURL
  11658. - dropbox
  11659. - Remove datastore
  11660. - This was deprecated and it caused a lot of problems
  11661. - Modification times and MD5SUMs no longer stored
  11662. - Fix uploading files > 2GB
  11663. - s3
  11664. - use official AWS SDK from github.com/aws/aws-sdk-go
  11665. - NB will most likely require you to delete and recreate remote
  11666. - enable multipart upload which enables files > 5GB
  11667. - tested with Ceph / RadosGW / S3 emulation
  11668. - many thanks to Sam Liston and Brian Haymore at the Utah Center
  11669. for High Performance Computing for a Ceph test account
  11670. - misc
  11671. - Show errors when reading the config file
  11672. - Do not print stats in quiet mode - thanks Leonid Shalupov
  11673. - Add FAQ
  11674. - Fix created directories not obeying umask
  11675. - Linux installation instructions - thanks Shimon Doodkin
  11676. v1.17 - 2015-06-14
  11677. - dropbox: fix case insensitivity issues - thanks Leonid Shalupov
  11678. v1.16 - 2015-06-09
  11679. - Fix uploading big files which was causing timeouts or panics
  11680. - Don't check md5sum after download with --size-only
  11681. v1.15 - 2015-06-06
  11682. - Add --checksum flag to only discard transfers by MD5SUM - thanks
  11683. Alex Couper
  11684. - Implement --size-only flag to sync on size not checksum & modtime
  11685. - Expand docs and remove duplicated information
  11686. - Document rclone's limitations with directories
  11687. - dropbox: update docs about case insensitivity
  11688. v1.14 - 2015-05-21
  11689. - local: fix encoding of non utf-8 file names - fixes a duplicate file
  11690. problem
  11691. - drive: docs about rate limiting
  11692. - google cloud storage: Fix compile after API change in
  11693. "google.golang.org/api/storage/v1"
  11694. v1.13 - 2015-05-10
  11695. - Revise documentation (especially sync)
  11696. - Implement --timeout and --conntimeout
  11697. - s3: ignore etags from multipart uploads which aren't md5sums
  11698. v1.12 - 2015-03-15
  11699. - drive: Use chunked upload for files above a certain size
  11700. - drive: add --drive-chunk-size and --drive-upload-cutoff parameters
  11701. - drive: switch to insert from update when a failed copy deletes the
  11702. upload
  11703. - core: Log duplicate files if they are detected
  11704. v1.11 - 2015-03-04
  11705. - swift: add region parameter
  11706. - drive: fix crash on failed to update remote mtime
  11707. - In remote paths, change native directory separators to /
  11708. - Add synchronization to ls/lsl/lsd output to stop corruptions
  11709. - Ensure all stats/log messages to go stderr
  11710. - Add --log-file flag to log everything (including panics) to file
  11711. - Make it possible to disable stats printing with --stats=0
  11712. - Implement --bwlimit to limit data transfer bandwidth
  11713. v1.10 - 2015-02-12
  11714. - s3: list an unlimited number of items
  11715. - Fix getting stuck in the configurator
  11716. v1.09 - 2015-02-07
  11717. - windows: Stop drive letters (eg C:) getting mixed up with remotes
  11718. (eg drive:)
  11719. - local: Fix directory separators on Windows
  11720. - drive: fix rate limit exceeded errors
  11721. v1.08 - 2015-02-04
  11722. - drive: fix subdirectory listing to not list entire drive
  11723. - drive: Fix SetModTime
  11724. - dropbox: adapt code to recent library changes
  11725. v1.07 - 2014-12-23
  11726. - google cloud storage: fix memory leak
  11727. v1.06 - 2014-12-12
  11728. - Fix "Couldn't find home directory" on OSX
  11729. - swift: Add tenant parameter
  11730. - Use new location of Google API packages
  11731. v1.05 - 2014-08-09
  11732. - Improved tests and consequently lots of minor fixes
  11733. - core: Fix race detected by go race detector
  11734. - core: Fixes after running errcheck
  11735. - drive: reset root directory on Rmdir and Purge
  11736. - fs: Document that Purger returns error on empty directory, test and
  11737. fix
  11738. - google cloud storage: fix ListDir on subdirectory
  11739. - google cloud storage: re-read metadata in SetModTime
  11740. - s3: make reading metadata more reliable to work around eventual
  11741. consistency problems
  11742. - s3: strip trailing / from ListDir()
  11743. - swift: return directories without / in ListDir
  11744. v1.04 - 2014-07-21
  11745. - google cloud storage: Fix crash on Update
  11746. v1.03 - 2014-07-20
  11747. - swift, s3, dropbox: fix updated files being marked as corrupted
  11748. - Make compile with go 1.1 again
  11749. v1.02 - 2014-07-19
  11750. - Implement Dropbox remote
  11751. - Implement Google Cloud Storage remote
  11752. - Verify Md5sums and Sizes after copies
  11753. - Remove times from "ls" command - lists sizes only
  11754. - Add add "lsl" - lists times and sizes
  11755. - Add "md5sum" command
  11756. v1.01 - 2014-07-04
  11757. - drive: fix transfer of big files using up lots of memory
  11758. v1.00 - 2014-07-03
  11759. - drive: fix whole second dates
  11760. v0.99 - 2014-06-26
  11761. - Fix --dry-run not working
  11762. - Make compatible with go 1.1
  11763. v0.98 - 2014-05-30
  11764. - s3: Treat missing Content-Length as 0 for some ceph installations
  11765. - rclonetest: add file with a space in
  11766. v0.97 - 2014-05-05
  11767. - Implement copying of single files
  11768. - s3 & swift: support paths inside containers/buckets
  11769. v0.96 - 2014-04-24
  11770. - drive: Fix multiple files of same name being created
  11771. - drive: Use o.Update and fs.Put to optimise transfers
  11772. - Add version number, -V and --version
  11773. v0.95 - 2014-03-28
  11774. - rclone.org: website, docs and graphics
  11775. - drive: fix path parsing
  11776. v0.94 - 2014-03-27
  11777. - Change remote format one last time
  11778. - GNU style flags
  11779. v0.93 - 2014-03-16
  11780. - drive: store token in config file
  11781. - cross compile other versions
  11782. - set strict permissions on config file
  11783. v0.92 - 2014-03-15
  11784. - Config fixes and --config option
  11785. v0.91 - 2014-03-15
  11786. - Make config file
  11787. v0.90 - 2013-06-27
  11788. - Project named rclone
  11789. v0.00 - 2012-11-18
  11790. - Project started
  11791. Bugs and Limitations
  11792. Empty directories are left behind / not created
  11793. With remotes that have a concept of directory, eg Local and Drive, empty
  11794. directories may be left behind, or not created when one was expected.
  11795. This is because rclone doesn't have a concept of a directory - it only
  11796. works on objects. Most of the object storage systems can't actually
  11797. store a directory so there is nowhere for rclone to store anything about
  11798. directories.
  11799. You can work round this to some extent with thepurge command which will
  11800. delete everything under the path, INLUDING empty directories.
  11801. This may be fixed at some point in Issue #100
  11802. Directory timestamps aren't preserved
  11803. For the same reason as the above, rclone doesn't have a concept of a
  11804. directory - it only works on objects, therefore it can't preserve the
  11805. timestamps of directories.
  11806. Frequently Asked Questions
  11807. Do all cloud storage systems support all rclone commands
  11808. Yes they do. All the rclone commands (eg sync, copy etc) will work on
  11809. all the remote storage systems.
  11810. Can I copy the config from one machine to another
  11811. Sure! Rclone stores all of its config in a single file. If you want to
  11812. find this file, the simplest way is to run rclone -h and look at the
  11813. help for the --config flag which will tell you where it is.
  11814. See the remote setup docs for more info.
  11815. How do I configure rclone on a remote / headless box with no browser?
  11816. This has now been documented in its own remote setup page.
  11817. Can rclone sync directly from drive to s3
  11818. Rclone can sync between two remote cloud storage systems just fine.
  11819. Note that it effectively downloads the file and uploads it again, so the
  11820. node running rclone would need to have lots of bandwidth.
  11821. The syncs would be incremental (on a file by file basis).
  11822. Eg
  11823. rclone sync drive:Folder s3:bucket
  11824. Using rclone from multiple locations at the same time
  11825. You can use rclone from multiple places at the same time if you choose
  11826. different subdirectory for the output, eg
  11827. Server A> rclone sync /tmp/whatever remote:ServerA
  11828. Server B> rclone sync /tmp/whatever remote:ServerB
  11829. If you sync to the same directory then you should use rclone copy
  11830. otherwise the two rclones may delete each others files, eg
  11831. Server A> rclone copy /tmp/whatever remote:Backup
  11832. Server B> rclone copy /tmp/whatever remote:Backup
  11833. The file names you upload from Server A and Server B should be different
  11834. in this case, otherwise some file systems (eg Drive) may make
  11835. duplicates.
  11836. Why doesn't rclone support partial transfers / binary diffs like rsync?
  11837. Rclone stores each file you transfer as a native object on the remote
  11838. cloud storage system. This means that you can see the files you upload
  11839. as expected using alternative access methods (eg using the Google Drive
  11840. web interface). There is a 1:1 mapping between files on your hard disk
  11841. and objects created in the cloud storage system.
  11842. Cloud storage systems (at least none I've come across yet) don't support
  11843. partially uploading an object. You can't take an existing object, and
  11844. change some bytes in the middle of it.
  11845. It would be possible to make a sync system which stored binary diffs
  11846. instead of whole objects like rclone does, but that would break the 1:1
  11847. mapping of files on your hard disk to objects in the remote cloud
  11848. storage system.
  11849. All the cloud storage systems support partial downloads of content, so
  11850. it would be possible to make partial downloads work. However to make
  11851. this work efficiently this would require storing a significant amount of
  11852. metadata, which breaks the desired 1:1 mapping of files to objects.
  11853. Can rclone do bi-directional sync?
  11854. No, not at present. rclone only does uni-directional sync from A -> B.
  11855. It may do in the future though since it has all the primitives - it just
  11856. requires writing the algorithm to do it.
  11857. Can I use rclone with an HTTP proxy?
  11858. Yes. rclone will use the environment variables HTTP_PROXY, HTTPS_PROXY
  11859. and NO_PROXY, similar to cURL and other programs.
  11860. HTTPS_PROXY takes precedence over HTTP_PROXY for https requests.
  11861. The environment values may be either a complete URL or a "host[:port]",
  11862. in which case the "http" scheme is assumed.
  11863. The NO_PROXY allows you to disable the proxy for specific hosts. Hosts
  11864. must be comma separated, and can contain domains or parts. For instance
  11865. "foo.com" also matches "bar.foo.com".
  11866. Rclone gives x509: failed to load system roots and no roots provided error
  11867. This means that rclone can't file the SSL root certificates. Likely you
  11868. are running rclone on a NAS with a cut-down Linux OS, or possibly on
  11869. Solaris.
  11870. Rclone (via the Go runtime) tries to load the root certificates from
  11871. these places on Linux.
  11872. "/etc/ssl/certs/ca-certificates.crt", // Debian/Ubuntu/Gentoo etc.
  11873. "/etc/pki/tls/certs/ca-bundle.crt", // Fedora/RHEL
  11874. "/etc/ssl/ca-bundle.pem", // OpenSUSE
  11875. "/etc/pki/tls/cacert.pem", // OpenELEC
  11876. So doing something like this should fix the problem. It also sets the
  11877. time which is important for SSL to work properly.
  11878. mkdir -p /etc/ssl/certs/
  11879. curl -o /etc/ssl/certs/ca-certificates.crt https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt
  11880. ntpclient -s -h pool.ntp.org
  11881. The two environment variables SSL_CERT_FILE and SSL_CERT_DIR, mentioned
  11882. in the x509 pacakge, provide an additional way to provide the SSL root
  11883. certificates.
  11884. Note that you may need to add the --insecure option to the curl command
  11885. line if it doesn't work without.
  11886. curl --insecure -o /etc/ssl/certs/ca-certificates.crt https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt
  11887. Rclone gives Failed to load config file: function not implemented error
  11888. Likely this means that you are running rclone on Linux version not
  11889. supported by the go runtime, ie earlier than version 2.6.23.
  11890. See the system requirements section in the go install docs for full
  11891. details.
  11892. All my uploaded docx/xlsx/pptx files appear as archive/zip
  11893. This is caused by uploading these files from a Windows computer which
  11894. hasn't got the Microsoft Office suite installed. The easiest way to fix
  11895. is to install the Word viewer and the Microsoft Office Compatibility
  11896. Pack for Word, Excel, and PowerPoint 2007 and later versions' file
  11897. formats
  11898. tcp lookup some.domain.com no such host
  11899. This happens when rclone cannot resolve a domain. Please check that your
  11900. DNS setup is generally working, e.g.
  11901. # both should print a long list of possible IP addresses
  11902. dig www.googleapis.com # resolve using your default DNS
  11903. dig www.googleapis.com @8.8.8.8 # resolve with Google's DNS server
  11904. If you are using systemd-resolved (default on Arch Linux), ensure it is
  11905. at version 233 or higher. Previous releases contain a bug which causes
  11906. not all domains to be resolved properly.
  11907. Additionally with the GODEBUG=netdns= environment variable the Go
  11908. resolver decision can be influenced. This also allows to resolve certain
  11909. issues with DNS resolution. See the name resolution section in the go
  11910. docs.
  11911. License
  11912. This is free software under the terms of MIT the license (check the
  11913. COPYING file included with the source code).
  11914. Copyright (C) 2012 by Nick Craig-Wood https://www.craig-wood.com/nick/
  11915. Permission is hereby granted, free of charge, to any person obtaining a copy
  11916. of this software and associated documentation files (the "Software"), to deal
  11917. in the Software without restriction, including without limitation the rights
  11918. to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  11919. copies of the Software, and to permit persons to whom the Software is
  11920. furnished to do so, subject to the following conditions:
  11921. The above copyright notice and this permission notice shall be included in
  11922. all copies or substantial portions of the Software.
  11923. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  11924. IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  11925. FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  11926. AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  11927. LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  11928. OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  11929. THE SOFTWARE.
  11930. Authors
  11931. - Nick Craig-Wood nick@craig-wood.com
  11932. Contributors
  11933. - Alex Couper amcouper@gmail.com
  11934. - Leonid Shalupov leonid@shalupov.com shalupov@diverse.org.ru
  11935. - Shimon Doodkin helpmepro1@gmail.com
  11936. - Colin Nicholson colin@colinn.com
  11937. - Klaus Post klauspost@gmail.com
  11938. - Sergey Tolmachev tolsi.ru@gmail.com
  11939. - Adriano Aurélio Meirelles adriano@atinge.com
  11940. - C. Bess cbess@users.noreply.github.com
  11941. - Dmitry Burdeev dibu28@gmail.com
  11942. - Joseph Spurrier github@josephspurrier.com
  11943. - Björn Harrtell bjorn@wololo.org
  11944. - Xavier Lucas xavier.lucas@corp.ovh.com
  11945. - Werner Beroux werner@beroux.com
  11946. - Brian Stengaard brian@stengaard.eu
  11947. - Jakub Gedeon jgedeon@sofi.com
  11948. - Jim Tittsler jwt@onjapan.net
  11949. - Michal Witkowski michal@improbable.io
  11950. - Fabian Ruff fabian.ruff@sap.com
  11951. - Leigh Klotz klotz@quixey.com
  11952. - Romain Lapray lapray.romain@gmail.com
  11953. - Justin R. Wilson jrw972@gmail.com
  11954. - Antonio Messina antonio.s.messina@gmail.com
  11955. - Stefan G. Weichinger office@oops.co.at
  11956. - Per Cederberg cederberg@gmail.com
  11957. - Radek Šenfeld rush@logic.cz
  11958. - Fredrik Fornwall fredrik@fornwall.net
  11959. - Asko Tamm asko@deekit.net
  11960. - xor-zz xor@gstocco.com
  11961. - Tomasz Mazur tmazur90@gmail.com
  11962. - Marco Paganini paganini@paganini.net
  11963. - Felix Bünemann buenemann@louis.info
  11964. - Durval Menezes jmrclone@durval.com
  11965. - Luiz Carlos Rumbelsperger Viana maxd13_luiz_carlos@hotmail.com
  11966. - Stefan Breunig stefan-github@yrden.de
  11967. - Alishan Ladhani ali-l@users.noreply.github.com
  11968. - 0xJAKE 0xJAKE@users.noreply.github.com
  11969. - Thibault Molleman thibaultmol@users.noreply.github.com
  11970. - Scott McGillivray scott.mcgillivray@gmail.com
  11971. - Bjørn Erik Pedersen bjorn.erik.pedersen@gmail.com
  11972. - Lukas Loesche lukas@mesosphere.io
  11973. - emyarod allllaboutyou@gmail.com
  11974. - T.C. Ferguson tcf909@gmail.com
  11975. - Brandur brandur@mutelight.org
  11976. - Dario Giovannetti dev@dariogiovannetti.net
  11977. - Károly Oláh okaresz@aol.com
  11978. - Jon Yergatian jon@macfanatic.ca
  11979. - Jack Schmidt github@mowsey.org
  11980. - Dedsec1 Dedsec1@users.noreply.github.com
  11981. - Hisham Zarka hzarka@gmail.com
  11982. - Jérôme Vizcaino jerome.vizcaino@gmail.com
  11983. - Mike Tesch mjt6129@rit.edu
  11984. - Marvin Watson marvwatson@users.noreply.github.com
  11985. - Danny Tsai danny8376@gmail.com
  11986. - Yoni Jah yonjah+git@gmail.com yonjah+github@gmail.com
  11987. - Stephen Harris github@spuddy.org
  11988. - Ihor Dvoretskyi ihor.dvoretskyi@gmail.com
  11989. - Jon Craton jncraton@gmail.com
  11990. - Hraban Luyat hraban@0brg.net
  11991. - Michael Ledin mledin89@gmail.com
  11992. - Martin Kristensen me@azgul.com
  11993. - Too Much IO toomuchio@users.noreply.github.com
  11994. - Anisse Astier anisse@astier.eu
  11995. - Zahiar Ahmed zahiar@live.com
  11996. - Igor Kharin igorkharin@gmail.com
  11997. - Bill Zissimopoulos billziss@navimatics.com
  11998. - Bob Potter bobby.potter@gmail.com
  11999. - Steven Lu tacticalazn@gmail.com
  12000. - Sjur Fredriksen sjurtf@ifi.uio.no
  12001. - Ruwbin hubus12345@gmail.com
  12002. - Fabian Möller fabianm88@gmail.com f.moeller@nynex.de
  12003. - Edward Q. Bridges github@eqbridges.com
  12004. - Vasiliy Tolstov v.tolstov@selfip.ru
  12005. - Harshavardhana harsha@minio.io
  12006. - sainaen sainaen@gmail.com
  12007. - gdm85 gdm85@users.noreply.github.com
  12008. - Yaroslav Halchenko debian@onerussian.com
  12009. - John Papandriopoulos jpap@users.noreply.github.com
  12010. - Zhiming Wang zmwangx@gmail.com
  12011. - Andy Pilate cubox@cubox.me
  12012. - Oliver Heyme olihey@googlemail.com olihey@users.noreply.github.com
  12013. de8olihe@lego.com
  12014. - wuyu wuyu@yunify.com
  12015. - Andrei Dragomir adragomi@adobe.com
  12016. - Christian Brüggemann mail@cbruegg.com
  12017. - Alex McGrath Kraak amkdude@gmail.com
  12018. - bpicode bjoern.pirnay@googlemail.com
  12019. - Daniel Jagszent daniel@jagszent.de
  12020. - Josiah White thegenius2009@gmail.com
  12021. - Ishuah Kariuki kariuki@ishuah.com ishuah91@gmail.com
  12022. - Jan Varho jan@varho.org
  12023. - Girish Ramakrishnan girish@cloudron.io
  12024. - LingMan LingMan@users.noreply.github.com
  12025. - Jacob McNamee jacobmcnamee@gmail.com
  12026. - jersou jertux@gmail.com
  12027. - thierry thierry@substantiel.fr
  12028. - Simon Leinen simon.leinen@gmail.com ubuntu@s3-test.novalocal
  12029. - Dan Dascalescu ddascalescu+github@gmail.com
  12030. - Jason Rose jason@jro.io
  12031. - Andrew Starr-Bochicchio a.starr.b@gmail.com
  12032. - John Leach john@johnleach.co.uk
  12033. - Corban Raun craun@instructure.com
  12034. - Pierre Carlson mpcarl@us.ibm.com
  12035. - Ernest Borowski er.borowski@gmail.com
  12036. - Remus Bunduc remus.bunduc@gmail.com
  12037. - Iakov Davydov iakov.davydov@unil.ch dav05.gith@myths.ru
  12038. - Jakub Tasiemski tasiemski@gmail.com
  12039. - David Minor dminor@saymedia.com
  12040. - Tim Cooijmans cooijmans.tim@gmail.com
  12041. - Laurence liuxy6@gmail.com
  12042. - Giovanni Pizzi gio.piz@gmail.com
  12043. - Filip Bartodziej filipbartodziej@gmail.com
  12044. - Jon Fautley jon@dead.li
  12045. - lewapm 32110057+lewapm@users.noreply.github.com
  12046. - Yassine Imounachen yassine256@gmail.com
  12047. - Chris Redekop chris-redekop@users.noreply.github.com
  12048. chris.redekop@gmail.com
  12049. - Jon Fautley jon@adenoid.appstal.co.uk
  12050. - Will Gunn WillGunn@users.noreply.github.com
  12051. - Lucas Bremgartner lucas@bremis.ch
  12052. - Jody Frankowski jody.frankowski@gmail.com
  12053. - Andreas Roussos arouss1980@gmail.com
  12054. - nbuchanan nbuchanan@utah.gov
  12055. - Durval Menezes rclone@durval.com
  12056. - Victor vb-github@viblo.se
  12057. - Mateusz pabian.mateusz@gmail.com
  12058. - Daniel Loader spicypixel@gmail.com
  12059. - David0rk davidork@gmail.com
  12060. - Alexander Neumann alexander@bumpern.de
  12061. - Giri Badanahatti gbadanahatti@us.ibm.com@Giris-MacBook-Pro.local
  12062. - Leo R. Lundgren leo@finalresort.org
  12063. - wolfv wolfv6@users.noreply.github.com
  12064. - Dave Pedu dave@davepedu.com
  12065. - Stefan Lindblom lindblom@spotify.com
  12066. - seuffert oliver@seuffert.biz
  12067. - gbadanahatti 37121690+gbadanahatti@users.noreply.github.com
  12068. - Keith Goldfarb barkofdelight@gmail.com
  12069. - Steve Kriss steve@heptio.com
  12070. - Chih-Hsuan Yen yan12125@gmail.com
  12071. - Alexander Neumann fd0@users.noreply.github.com
  12072. - Matt Holt mholt@users.noreply.github.com
  12073. - Eri Bastos bastos.eri@gmail.com
  12074. - Michael P. Dubner pywebmail@list.ru
  12075. - Antoine GIRARD sapk@users.noreply.github.com
  12076. - Mateusz Piotrowski mpp302@gmail.com
  12077. - Animosity022 animosity22@users.noreply.github.com
  12078. - Peter Baumgartner pete@lincolnloop.com
  12079. - Craig Rachel craig@craigrachel.com
  12080. - Michael G. Noll miguno@users.noreply.github.com
  12081. - hensur me@hensur.de
  12082. - Oliver Heyme de8olihe@lego.com
  12083. - Richard Yang richard@yenforyang.com
  12084. - Piotr Oleszczyk piotr.oleszczyk@gmail.com
  12085. - Rodrigo rodarima@gmail.com
  12086. - NoLooseEnds NoLooseEnds@users.noreply.github.com
  12087. - Jakub Karlicek jakub@karlicek.me
  12088. - John Clayton john@codemonkeylabs.com
  12089. - Kasper Byrdal Nielsen byrdal76@gmail.com
  12090. - Benjamin Joseph Dag bjdag1234@users.noreply.github.com
  12091. - themylogin themylogin@gmail.com
  12092. - Onno Zweers onno.zweers@surfsara.nl
  12093. - Jasper Lievisse Adriaanse jasper@humppa.nl
  12094. - sandeepkru sandeep.ummadi@gmail.com
  12095. sandeepkru@users.noreply.github.com
  12096. - HerrH atomtigerzoo@users.noreply.github.com
  12097. - Andrew 4030760+sparkyman215@users.noreply.github.com
  12098. - dan smith XX1011@gmail.com
  12099. - Oleg Kovalov iamolegkovalov@gmail.com
  12100. - Ruben Vandamme github-com-00ff86@vandamme.email
  12101. - Cnly minecnly@gmail.com
  12102. - Andres Alvarez 1671935+kir4h@users.noreply.github.com
  12103. - reddi1 xreddi@gmail.com
  12104. - Matt Tucker matthewtckr@gmail.com
  12105. - Sebastian Bünger buengese@gmail.com
  12106. - Martin Polden mpolden@mpolden.no
  12107. - Alex Chen Cnly@users.noreply.github.com
  12108. - Denis deniskovpen@gmail.com
  12109. - bsteiss 35940619+bsteiss@users.noreply.github.com
  12110. - Cédric Connes cedric.connes@gmail.com
  12111. - Dr. Tobias Quathamer toddy15@users.noreply.github.com
  12112. - dcpu 42736967+dcpu@users.noreply.github.com
  12113. - Sheldon Rupp me@shel.io
  12114. - albertony 12441419+albertony@users.noreply.github.com
  12115. - cron410 cron410@gmail.com
  12116. - Anagh Kumar Baranwal anaghk.dos@gmail.com
  12117. - Felix Brucker felix@felixbrucker.com
  12118. - Santiago Rodríguez scollazo@users.noreply.github.com
  12119. - Craig Miskell craig.miskell@fluxfederation.com
  12120. - Antoine GIRARD sapk@sapk.fr
  12121. - Joanna Marek joanna.marek@u2i.com
  12122. - frenos frenos@users.noreply.github.com
  12123. - ssaqua ssaqua@users.noreply.github.com
  12124. - xnaas me@xnaas.info
  12125. - Frantisek Fuka fuka@fuxoft.cz
  12126. - Paul Kohout pauljkohout@yahoo.com
  12127. - dcpu 43330287+dcpu@users.noreply.github.com
  12128. - jackyzy823 jackyzy823@gmail.com
  12129. - David Haguenauer ml@kurokatta.org
  12130. - teresy hi.teresy@gmail.com
  12131. - buergi patbuergi@gmx.de
  12132. CONTACT THE RCLONE PROJECT
  12133. Forum
  12134. Forum for general discussions and questions:
  12135. - https://forum.rclone.org
  12136. Gitub project
  12137. The project website is at:
  12138. - https://github.com/ncw/rclone
  12139. There you can file bug reports, ask for help or contribute pull
  12140. requests.
  12141. Google+
  12142. Rclone has a Google+ page which announcements are posted to
  12143. - Google+ page for general comments
  12144. Twitter
  12145. You can also follow me on twitter for rclone announcements
  12146. - [@njcw](https://twitter.com/njcw)
  12147. Email
  12148. Or if all else fails or you want to ask something private or
  12149. confidential email Nick Craig-Wood