rcloneãåªå
ããŠããã¹ãŠã®ãªããžããªããã¯ãšã³ãã段éçã«å»æ¢ããããšããå§ãããŸããããã«ããã
ãã®è¡åã®ãã€ãã¹é¢ã¯ãããŸããïŒ
ããã¯æå³ããããŸããã Rcloneã¯è»¢éãŠãŒãã£ãªãã£ã§ãããããã¯ã¢ãããŠãŒãã£ãªãã£ã§ã¯ãããŸããã Resticãªããžããªã眮ãæããããšã¯ã§ããŸããã
圌ã¯ãããããrcloneã®ã³ãŒããé€ããŠãresticèªèº«ã®ããã¯ãšã³ãã³ãŒããæšãŠãããšãæå³ããŠããã®ã§ãrcloneçµ±åã¯ãã¹ãŠã®ããã¯ãšã³ããééãããã®ã«ãªããŸãã
@jtagcat ããªããžããªãã§ã¯ãªããããã¯ãšã³ãããæå³ããŠãããšæããŸãã
ç§ã¯ãã®ææ¡ã«ç²Ÿç¥çã«åæããŸãã
å®éã«ã¯ãä»ã®ãã¹ãŠã®ããã¯ãšã³ããåé€ããã®ã¯æ··ä¹±ãæãå¯èœæ§ããããŸãããå°ãªããšãããã¥ã¡ã³ãã§ã¯ãrcloneãåªå
ããã¯ãšã³ããšããŠåŒ·èª¿è¡šç€ºããä»ã®ãªã¢ãŒãããã¯ãšã³ãã«ãã¬ã¬ã·ãŒãã®ã©ãã«ãä»ããããšãã§ããŸãã
å®éãããã¯ãšã³ããã¬ã¬ã·ãŒãšããŠããŒã¯ããããšã§ããã£ãšããŸãããããšæããŸãã
ããã¥ã¡ã³ãã§ã¯ãããããã¬ã¬ã·ãŒãšããŠããŒã¯ããŸãããå
éšã®äœæ¥ã§ã¯ãã¬ã¬ã·ãŒããªã³ã¶ãã©ã€ã§rcloneã«å€æããŸãã äžéšã®rcloneããã¯ãšã³ãã§ã¯ãçŽæ¥å€æã§ãïŒé ã®ãŠã£ãºãããã®äŸã¯httpã§ãïŒãä»ã®rcloneããã¯ãšã³ãã§--config /path/to/config
ã䜿çšããŸãã
ããªããresticã®ãŠãŒã¶ãŒãšããŠç§ã«å°ãããªããç§ã¯ãã¹ãŠã®ããã¯ãšã³ãã«rcloneã䜿ããªããã°ãªããªãã®ã¯æãããããšã ãšæããŸãã ããã¯ãšã³ãã®rcloneæ§æãã»ããã¢ããããrcloneãã€ããªãä¿æããå¿ èŠããããŸããåè ã¯ãéåžžã«äŸ¿å©ãªãã¢ãããã¯ã§æ§æäžèŠã®resticã®æ§è³ªãå€§å¹ ã«åé€ããŸãã ç§ã¯rcloneã«ã€ããŠã¯å¥œãã§ã¯ãªãäžã€ã®ããšã¯ãç§ã ãã§ã¯ãªããããããœãŒã¹ããã³ã¿ãŒã²ãããšããŠ2ã€ã®URIãäžããããšãã§ãããšããããããå®è¡ããåã«ãããèšå®ããå¿ èŠããããŸãã
IMOã®ããè¯ãææ¡ã¯ãrcloneãresticã«åã蟌ãã§ãä»ãšåãããã«resticã䜿ãç¶ããããšãã§ãããã©ããã§ãããrcloneãæäŸããããã¯ãšã³ããµããŒãã䜿çšããŸãã ãããèµ·ãã£ãå Žåã察å¿ããrcloneã³ãŒããåãæ©èœãæäŸãããšä»®å®ããŠãçŸåšã®ããã¯ãšã³ãã³ãŒããæšãŠãããšã¯åé¡ãããŸããã
rcloneãresticã«ã©ã®ããã«åã蟌ã¿ãŸããïŒ ãã®åé¡ãç©æ¥µçã«è§£æ±ºããããã«ã¯ããããå®è¡ããå¿
èŠããããŸãã
'rclone not foundãrunning curl https://rclone.org/install.sh | sudo bash
'ïŒcurlãšsudoãã·ã¹ãã ã«ååšããªãå¯èœæ§ããããŸãïŒã®ããã«ãªããŸããïŒ pkg managerãä»ããŠã€ã³ã¹ããŒã«ããªãå Žåã¯ãããã±ãŒãžãããŒãžã£ãŒã«äŸåé¢ä¿ãšããŠåçŽã«è¿œå ããããšã¯ã§ããªãããã§ãã
çŸåšã®ããã¯ãšã³ãããã®å Žã§äžæçãªrcloneæ§æã«å€æããããšã¯å¯èœã§ããçŽç²ã«rcloneã䜿çšããå Žåãç§èªèº«ãå°ãã€ã©ã€ã©ããŸãã
rcloneãresticã«ã©ã®ããã«åã蟌ã¿ãŸããïŒ
ç§ã¯ãã®ç¹ã§äœãå¯èœãã調æ»ããŠããŸããã ããã¯ç§ãæ°åèããã ãã®ããšã§ãã
ããå°ãèããŠã¿ããšãåã蟌ã¿ã¯ãããããäŸåé¢ä¿ãšããŠã€ã³ã¹ããŒã«ãããããšã«ãªããrcloneãæŽæ°ããã«ææ°ã®ç¶æ
ã«ä¿ã€ããšãã§ããŸãã
ããããæåã®æ¹æ³ã¯ãå¯èœã§ããã°rcloneãäŸåé¢ä¿ãšããŠè¿œå ãããrcloneãèŠã€ãããªããã©ãã«ã§ãã€ã³ã¹ããŒã«ãããããšã§ãïŒrcloneã®äŸåé¢ä¿ãäœããã®çç±ã§èŠã€ãããªãå Žåãããã¯ã¢ãããšããŠïŒã
rcloneã€ã³ã¹ããŒã©ãŒã«ã¯ããã€ãã®åé¡ããããŸããã posixäºæã«ããŸãã
rcloneãalã©ã€ãã©ãªãªã©ãšããŠåã蟌ã¿å¯èœã«ããŠãresticã«çµ±åã§ããããã«ãããšãã芳ç¹ãããã£ãšèããŠããŸãã æ°ãããªãªãŒã¹ãä¿èšŒããç¯å²ã§æŽæ°ãããäœããrcloneã«ããå Žåãæ°ããresticããŒãžã§ã³ããªãªãŒã¹ããããšã¯åé¡ã§ã¯ãªãã¯ãã§ãã
ããããæåã®æ¹æ³ã¯ãå¯èœã§ããã°rcloneãäŸåé¢ä¿ãšããŠè¿œå ãããrcloneãèŠã€ãããªããã©ãã«ã§ãã€ã³ã¹ããŒã«ãããããšã§ãïŒrcloneã®äŸåé¢ä¿ãäœããã®çç±ã§èŠã€ãããªãå Žåãããã¯ã¢ãããšããŠïŒã
ç³ãèš³ãããŸãããããŠãŒã¶ãŒã®ãã·ã³ã«ïŒèªåçã«ïŒãœãããŠã§ã¢ãã€ã³ã¹ããŒã«ããããšããããšã¯ãïŒããããïŒç§ãresticã®åé¡ã®è°è«ã§èªãã äžã§ææªã®èãã§ãã
ãªããªãïŒ
ããããæåã®æ¹æ³ã¯ãå¯èœã§ããã°rcloneãäŸåé¢ä¿ãšããŠè¿œå ãããrcloneãèŠã€ãããªããã©ãã«ã§ãã€ã³ã¹ããŒã«ãããããšã§ãïŒrcloneã®äŸåé¢ä¿ãäœããã®çç±ã§èŠã€ãããªãå Žåãããã¯ã¢ãããšããŠïŒã
ç³ãèš³ãããŸãããããŠãŒã¶ãŒã®ãã·ã³ã«ïŒèªåçã«ïŒãœãããŠã§ã¢ãã€ã³ã¹ããŒã«ããããšããããšã¯ãïŒããããïŒç§ãresticã®åé¡ã®è°è«ã§èªãã äžã§ææªã®èãã§ãã
ãªããªãïŒ
* The environment may not allow installation of new software. * The user (or the system administrator) may not want new software to be installed. * Accessing the Internet without explicit request may be undesirable. * The installer may guess a wrong place for the new software. * Installation of new software may interfere with the normal functions of the environment (for example, by providing executables outside of regular places where users/package managers/administrators/auditors/whatever else expect to find them, and thus creating confusion). * The installation may fail or produce incorrect results; either in an obvious manner, or in a subtle and hard-to-discover way.
ã¯ããããªãã¯äœãææ¡ããŸããïŒ
ç§ãæå³ããã®ã¯ãã®ãããªãã®ã§ããïŒ
restic rclone not found...
Install 'rclone' with command 'curl https://rclone.org/install.sh | sudo bash' to provide rclone backends? [Y/n]
åŸè ãã©ã€ãã©ãªãšããŠæ£åžžã«åã蟌ãŸãããããã£ãŠåžžã«resticã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã«å«ãŸããŠããªãéããæ¢åã®ããã¯ãšã³ããrcloneã«çœ®ãæããããšã¯ãããŸããã
ãããè¡ããããŸã§ïŒãŸãã¯ãããè¡ã代ããã«ïŒããããèš±å¯ããããã±ãŒãžãããŒãžã£ãŒã®ãªãã·ã§ã³ã®äŸåé¢ä¿ïŒaptãportageãªã©ïŒãrcloneã«ããŸãã rcloneãã€ã³ã¹ããŒã«ãããŠããªãå Žåãresticã¯rcloneã®WebããŒãžãåç §ããã¡ãã»ãŒãžã衚瀺ããïŒ1ïŒã€ã³ã¹ããŒã«æ¹æ³ã«ã€ããŠããŒãžãåç §ãããïŒ2ïŒã·ã¹ãã ã®ããã±ãŒãžãããŒãžã£ãŒã䜿çšããŠrcloneãã€ã³ã¹ããŒã«ãããïŒ3ïŒãcurl + ãbashãã³ãã³ãããèªåãäœãããŠããã®ãã確èªããŠãã ããããšããèŠåã衚瀺ãããŸãã
質åããåŸã§ãããŠãŒã¶ãŒã«ä»£ãã£ãŠã³ãã³ããå®è¡ããããšã¯ãããŸããã
äŸåé¢ä¿ã®ãªãéçãã€ããªãšããŠã®RESTICïŒç¹ã«LinuxïŒã®æ§è³ªã¯ããã¢ã¡ã¿ã«åŸ©å ããã³ãªã«ããªã®ã·ããªãªã§ã¯çµ¶å¯Ÿã«ç¡å¹ã§ãã
ç§ã¯çŸåšã瀟å ããã¯ã¢ããã«ãrest-serverãïŒèªèšŒã«haproxyããã³ããšã³ãã䜿çšïŒã䜿çšããããšã奜ã¿ãããããã€ãã£ãã«ãµããŒãããresticã«äŸåããŠããŸãã ã¿ã€ã ã¯ãªãã£ã«ã«ãªåŸ©å äžã«RESTICãšRCLONEããããããšãäœåãªããããå Žåã¯ãããããå¥ã®è§£æ±ºçãèŠã€ããã§ãããã
äŸåé¢ä¿ã®ãªãéçãã€ããªãšããŠã®RESTICïŒç¹ã«LinuxïŒã®æ§è³ªã¯ããã¢ã¡ã¿ã«åŸ©å ããã³ãªã«ããªã®ã·ããªãªã§ã¯çµ¶å¯Ÿã«ç¡å¹ã§ãã
ç§ã¯çŸåšã瀟å ããã¯ã¢ããã«ãrest-serverãïŒèªèšŒã«haproxyããã³ããšã³ãã䜿çšïŒã䜿çšããããšã奜ã¿ãããããã€ãã£ãã«ãµããŒãããresticã«äŸåããŠããŸãã ã¿ã€ã ã¯ãªãã£ã«ã«ãªåŸ©å äžã«RESTICãšRCLONEããããããŸããããã«åŒ·å¶ãããå Žåã¯ãããããå¥ã®è§£æ±ºçãèŠã€ããã§ãããã
Restããã¯ãšã³ãã¯Resticã«åºæã®ãã®ã§ãããããåé€ãããŸããã ç§ãrest-serverã䜿çšããŠããŸãããã¯ã¬ãã³ã·ã£ã«ãå ¥åããã ãã§éåžžã«äŸ¿å©ã§ãã
åé¡ã¯ãrcloneãåã蟌ãŸããŠããå Žåã®ã¿ãã®ç¶æ ã«ãããšæããŸãã 誰ããããæ¬åœã«å¿ èŠãšããªãã®ã§ïŒåã蟌ãŸããrcloneã¯å¿ èŠã§ããïŒã ä»ã®ãšããããæ°ããããã¯ãšã³ããè¿œå ããªãã§ãã ãããrcloneã§ãŸã ãµããŒããããŠããªããã®ããšããããããããè¡ã誰ãïŒããããäœã¶æãã®éãç§ïŒãžã®æ©èœãªã¯ãšã¹ãã¯ãrcloneãåã蟌ãã§ãã ããã ã
å¿ èŠæäœéââã®ããšã«é¢ããŠã¯ãbzipã䜿çšããªã代æ¿ãªãªãŒã¹ãå ¥æããå¿ èŠããããŸãïŒç§ãèããéãã§ã¯ãbzipãã€ã³ã¹ããŒã«ããå¯äžã®çç±ã¯resticã§ãïŒã ããã«é¢ããŠã¯ãç§ã«ãšã£ãŠã®ããããšã¯ïŒ2705ãªã®ã§ãä»ã«èª°ãããªããªããç§ã¯ããããããããã§ãããã
rcloneã«ã€ããŠç§ãæ°ã«å ¥ããªãããšã®1ã€ã¯ããœãŒã¹ãšã¿ãŒã²ãããšããŠ2ã€ã®URIãæå®ã§ããã®ã§ã¯ãªããå®è¡ããåã«æ§æããå¿ èŠãããããšã§ãã
@rawtaz
rcloneã¯äœãèšå®ããå¿
èŠããªãã®ã§ããŸãã«ãããè¡ãããšãã§ããŸãã
_ã / .rclone.conf_ãŸãã¯_ã / .config / rclone / rclone.conf_ã¯å®å
šã«åé€ã§ããŸãããããã¯ãããã©ã«ããŸãã¯ãã©ãŒã«ããã¯ãªãã·ã§ã³ã«ã€ããŠåç
§ãããã ãã§ãã
ä»ãããè©ŠããŠãã ããïŒ
rclone copy ./file.txt :sftp:subdir --sftp-host=localhost --sftp-key-file=~/.ssh/id_rsa
ããã¯å®å šã«æå¹ã§ãããããã¥ã¡ã³ãã§èª¬æãããŠããŸãïŒ
ãŸãããã¹ãŠã®ãªãã·ã§ã³ãç°å¢çµç±ã§æž¡ãããšããCLIåŒæ°ãšçµã¿åãããããšãã§ããŸãã
export RCLONE_SFTP_HOST=localhost
export RCLONE_SFTP_KEY_FILE=~/.ssh/id_rsa
rclone ls :sftp:
ã©ã€ãã©ãªãšããŠã®rcloneã®äœ¿çšã«ã€ããŠã¯ã httpsïŒ//github.com/rclone/rclone/issues/633ã§èª¬æãããŠã
æãåèã«ãªãã³ã¡ã³ã
åŸè ãã©ã€ãã©ãªãšããŠæ£åžžã«åã蟌ãŸãããããã£ãŠåžžã«resticã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã«å«ãŸããŠããªãéããæ¢åã®ããã¯ãšã³ããrcloneã«çœ®ãæããããšã¯ãããŸããã
ãããè¡ããããŸã§ïŒãŸãã¯ãããè¡ã代ããã«ïŒããããèš±å¯ããããã±ãŒãžãããŒãžã£ãŒã®ãªãã·ã§ã³ã®äŸåé¢ä¿ïŒaptãportageãªã©ïŒãrcloneã«ããŸãã rcloneãã€ã³ã¹ããŒã«ãããŠããªãå Žåãresticã¯rcloneã®WebããŒãžãåç §ããã¡ãã»ãŒãžã衚瀺ããïŒ1ïŒã€ã³ã¹ããŒã«æ¹æ³ã«ã€ããŠããŒãžãåç §ãããïŒ2ïŒã·ã¹ãã ã®ããã±ãŒãžãããŒãžã£ãŒã䜿çšããŠrcloneãã€ã³ã¹ããŒã«ãããïŒ3ïŒãcurl + ãbashãã³ãã³ãããèªåãäœãããŠããã®ãã確èªããŠãã ããããšããèŠåã衚瀺ãããŸãã
質åããåŸã§ãããŠãŒã¶ãŒã«ä»£ãã£ãŠã³ãã³ããå®è¡ããããšã¯ãããŸããã