Rclone: क्लाउड स्टोरेज फ़ाइल सिंक और मैनेजमेंट टूल
(rclone.org)- Rclone एक ऐसा टूल है जो कमांड लाइन से क्लाउड फ़ाइल मैनेजमेंट संभालता है, और वेब इंटरफ़ेस पर निर्भर हुए बिना 70 से अधिक स्टोरेज प्रोडक्ट्स और मानक ट्रांसफ़र प्रोटोकॉल के साथ काम कर सकता है
- यह
rsync,cp,mv,mountजैसे परिचित Unix-स्टाइल ऑपरेशंस को क्लाउड के लिए उपलब्ध कराता है, और shell pipeline,--dry-run, scripts, तथा API automation तक सपोर्ट करता है - ट्रांसफ़र के दौरान timestamp और checksum को बरकरार रखता है, और bandwidth limit, अस्थिर connection, तथा quota वाले environment में भी आख़िरी सफल ट्रांसफ़र पॉइंट से फिर शुरू कर सकता है
- local, cloud, और virtual filesystem को Windows, macOS, Linux, FreeBSD पर disk की तरह mount किया जा सकता है, और SFTP, HTTP, WebDAV, FTP, DLNA के ज़रिए serve भी किया जा सकता है
- backup, restore, cloud-to-cloud migration, encryption, compression, chunking, hashing, और union तक एक ही टूल में संभालता है, इसलिए कई storage services साथ चलाने में उपयोगी है
क्लाउड फ़ाइल मैनेजमेंट के लिए कमांड लाइन टूल
- Rclone क्लाउड स्टोरेज की फ़ाइलों को मैनेज करने वाला एक command line program है
- इसे क्लाउड वेंडर्स द्वारा दिए जाने वाले web storage interface के विकल्प के रूप में, एक feature-rich टूल की तरह इस्तेमाल किया जाता है
- यह S3 object store, enterprise और consumer file storage services, तथा standard transfer protocols सहित 70 से अधिक टार्गेट्स को सपोर्ट करता है
- उपयोगकर्ता Rclone को “क्लाउड स्टोरेज का Swiss Army knife” और “ऐसी तकनीक जिसे जादू से अलग नहीं किया जा सकता” कहकर बुलाते हैं
Unix-स्टाइल कमांड्स और automation
- Rclone परिचित Unix commands के अनुरूप क्लाउड ऑपरेशंस उपलब्ध कराता है
rsynccpmvmountlsncdutreermcat
- इसका syntax shell pipeline को सपोर्ट करता है, और
--dry-runसे वास्तविक बदलाव से पहले काम की जांच की जा सकती है - इसे command line execution के अलावा scripts और API के माध्यम से भी इस्तेमाल किया जा सकता है
- third-party developers, Rclone command line या API का उपयोग करके backup, restore, GUI, और business process solutions बनाते हैं
डेटा सुरक्षा और ट्रांसफ़र स्थिरता
- ट्रांसफ़र के दौरान timestamp को सुरक्षित रखता है और checksum को हमेशा verify करता है
- सीमित bandwidth, intermittent connection, और quota वाले environment में भी आख़िरी सफल ट्रांसफ़र फ़ाइल से दोबारा शुरू कर सकता है
- check कमांड से file integrity की पुष्टि की जा सकती है
- जहाँ संभव हो, server-side transfer का उपयोग करके local bandwidth का उपयोग कम करता है, और local disk से गुज़रे बिना providers के बीच ट्रांसफ़र करता है
- ट्रांसफ़र से जुड़ी सुविधाओं में ये शामिल हैं
- MD5, SHA1 hash के माध्यम से file integrity की पुष्टि
- file timestamp को सुरक्षित रखना
- कभी भी restart किए जा सकने वाले jobs
- अलग-अलग cloud providers के बीच network transfer
- local disk पर multi-threaded download
backup, restore, और migration scenarios
- फ़ाइलों को cloud storage में backup करता है और ज़रूरत पड़ने पर encrypt भी करता है
- cloud storage से फ़ाइलों को restore करता है और ज़रूरत पड़ने पर decrypt भी करता है
- cloud data को किसी दूसरे cloud service या local में mirror किया जा सकता है
- data को cloud में migrate किया जा सकता है, या cloud storage vendors के बीच move किया जा सकता है
- कई encrypted, cached, और heterogeneous cloud storages को disk की तरह mount करता है
- lsf, ljson, size, ncdu से cloud storage के data का analysis और aggregation किया जा सकता है
- Union से कई local या cloud filesystems को एक की तरह दिखाया जा सकता है
फ़ाइल ऑपरेशंस और service delivery
- Copy नई या बदली हुई फ़ाइलों को cloud storage में copy करता है
- Sync एक directory को one-way तरीके से दूसरी के समान बनाता है
- Bisync दो directories को two-way तरीके से sync करता है
- Move verification के बाद local files को delete करते हुए cloud storage में move करता है
- Check hash और missing/extra files की जांच करता है
- Mount cloud storage को network disk की तरह mount करता है
- Serve local या remote files को HTTP, WebDAV, FTP, SFTP, DLNA के ज़रिए serve करता है
- Web based GUI एक experimental feature है
mount और virtual backends
- local, cloud, और virtual filesystems को Windows, macOS, Linux, FreeBSD पर disk के रूप में mount करता है
- उसी filesystem को SFTP, HTTP, WebDAV, FTP, DLNA के ज़रिए serve किया जा सकता है
- virtual backends local या cloud filesystems को wrap करके अतिरिक्त सुविधाएँ लागू करते हैं
- Crypt: file encryption
- Compress: file compression
- Chunker: बड़ी फ़ाइलों को विभाजित करना
- Hasher: file hashing
- Union: कई remote storages को जोड़ना
- Alias: मौजूदा remote storage का नाम बदलना
- Archive: archive files को पढ़ना
- Cache: remote storage cache, Deprecated
- Combine: कई remote storages को directory tree के रूप में जोड़ना
समर्थित providers और installation
- समर्थित providers में Amazon S3, Backblaze B2, Box, Dropbox, Google Cloud Storage, Google Drive, Microsoft Azure Blob Storage, Microsoft OneDrive, Proton Drive, SFTP, SMB/CIFS, WebDAV, local filesystem आदि शामिल हैं
- WebDAV या S3 जैसे standard protocol-आधारित दूसरे providers भी अक्सर तुरंत काम कर जाते हैं
- Rclone, rsync से प्रेरित एक परिपक्व open source software है और Go में लिखा गया है
- Ubuntu, Debian, Fedora, Brew, और Chocolatey के आधिकारिक repositories में Rclone शामिल है
- नवीनतम version के लिए rclone.org से download करने की सिफारिश की जाती है
- संबंधित links
1 टिप्पणियां
Hacker News की राय
rclone मुझे सचमुच बहुत पसंद है। मुझे याद है कि पुराने donation page पर कुछ ऐसा लिखा था: “rclone प्यार से बनाया गया project है, इसलिए पैसे की जरूरत नहीं है, लेकिन अगर आप मेरी पत्नी के लिए फूल खरीदने में मदद कर दें तो बहुत आभारी रहूंगा”
बस लगा कि यह कोई शानदार इंसान है, और यह जानकर खुशी हुई कि अब वे rclone पर full-time काम कर सकते हैं। उम्मीद है कि यह अब भी उनके लिए सार्थक काम होगा
archive.org पर उस समय का page मिला, और वह मेरी याद से भी ज्यादा दिल छू लेने वाला था:
“Rclone is a pure open source for love-not-money project. However I’ve had requests for a donation page and coding rclone does take me away from something else I love - my wonderful wife.”
“So if you would like to send a donation, I will use it to buy flowers (and other pretty things) for her which will make her very happy.”
https://web.archive.org/web/20180624105005/https://rclone.or...
rclone cloud storage को local disk की तरह mount भी कर सकता है, इसलिए खासकर Kubernetes में यह काफी उपयोगी है
अगर एक ही folder में बहुत सारी files हों, तो drive की तरह इस्तेमाल करने पर read/write speed बहुत तेज नहीं होती, लेकिन project में cloud storage को जल्दी और आसानी से इस्तेमाल करने का यह तरीका है
location के हिसाब से end-to-end encryption भी संभव है; उदाहरण के लिए, mounted drive में डाली गई हर file encrypted रूप में Dropbox के
/foofolder में लिखी जाती है। Dropbox या S3 जैसे providers अभी native end-to-end encryption support नहीं करते, इस लिहाज से यह अच्छा हैकुल मिलाकर rclone पास रखने लायक अच्छा tool है, और सचमुच बहुत सारे use cases हल कर देता है
उदाहरण के लिए मेरा Pi4 rclone FTP server के तौर पर Dropbox को internal network पर expose करता है, और अलग FTP server से network printer scan files save करता है। उसी device पर मैं परिवार और करीबी दोस्तों के cloud storage का automatic backup भी rclone से चलाता हूं। मेरे internal network में rclone लगभग तारणहार जैसा है
मैं desktop और laptop पर Google Drive mount करके इस्तेमाल करता हूं, लेकिन laptop पर समस्या यह है कि operating system drive को local मानता है और rclone network errors पर timeout नहीं होता। Wi‑Fi से connected न होने पर अगर application drive को read या write करने की कोशिश करे, तो वह हमेशा के लिए अटक जाती है। उदाहरण के लिए XFCE में Thunar window खुली हो तो UI का बड़ा हिस्सा lock हो सकता है
जांचने पर पता चला कि यह FUSE था
Insync भी खास नहीं और Google Drive भी खास नहीं, लेकिन अगर रोज़ निर्भर रहने वाला use case हो, तो files की local copy और local-server के बीच instant sync जरूरी लगता है। खासकर जब internet connection unstable हो
बेशक client-side encryption support करने के लिए service की तरफ से कुछ खास करने की जरूरत कम ही होती है
client-side encryption के लिए अलग encrypted S3 client भी है: https://docs.aws.amazon.com/amazon-s3-encryption-client/late...
rclone का मेरा पसंदीदा उपयोग rclone ncdu है: https://rclone.org/commands/rclone_ncdu/
ज्यादातर cloud space providers यह नहीं दिखाते कि हर folder और subfolder वास्तव में कितनी जगह ले रहा है, और ऐसे में rclone ncdu बिल्कुल fit बैठता है
मैं rclone रोज़ इस्तेमाल करता हूं। कुछ मामलों में इसने sshfs की जगह ले ली है
home server के
$Archiveshare को rsync.net पर push करता हूं, और अपने Google account, पत्नी, मां, पिता और बच्चों के accounts से photos को$Archiveमें लाता हूं। अलग-अलग$WORKके लिए 3 cloud accounts भी$Archiveमें इकट्ठा करके rsync.net पर भेजता हूंयह सचमुच top-tier tool है
https://rclone.org/commands/rclone_mount/
अभी SSHFS में actively और regularly contribute करने वाला कोई नहीं है, और कई known issues भी हैं
https://github.com/libfuse/sshfs#development-status
बैकअप के लिए Restic भी देखने लायक है। rclone और Restic साथ में इस्तेमाल करने के लिए बहुत अच्छे हैं
https://www.bobek.cz/blog/2020/restic-rclone/
अच्छी बात है कि इस समस्या को हल करने वाला https://github.com/creativeprojects/resticprofile मौजूद है
मुझे वह तरीका पसंद नहीं जिसमें कोई यह मान ले कि हर स्थिति में उसका फैसला दुनिया में सबसे सही है और बाकी सब गलत हैं
मुझे पता है कि मैं क्या कर रहा हूँ, और मेरे पास backups को encrypt न करने के बहुत ठोस कारण हैं
Restic default रूप से backups कर सकता था, लेकिन
--do-not-encryptजैसा switch allow कर सकता थाdevelopers का अहंकार हैरान करने वाला है, इसलिए मैं Restic इस्तेमाल नहीं करूँगा। यह बहुत अच्छा backup solution है, इसलिए और भी अफसोस है
Borg आज़माना बेहतर है
कई machines को Restic से हर घंटे local server पर backup करता हूँ, और rclone से उस backup को रोज़ S3 पर sync करता हूँ
इससे read/write operations की संख्या घटती है, restore तेज़ होता है, और S3 access वाले machines को एक तक सीमित रखा जा सकता है
https://github.com/gilbertchen/duplicacy
Rclone कई storage backends को support करता है, और ऐसा crypt backend भी देता है जिससे किसी भी storage backend को encrypt किया जा सकता है
https://rclone.org/overview/
https://rclone.org/crypt/
homepage पर यह बात आत्मविश्वास से दिखाना अच्छा लगता है कि यह हमेशा checksum verification करता है
पहले यह देखकर हैरानी हुई थी कि कितने tools यह step छोड़ देते हैं। बेशक इससे speed कम होती है, लेकिन अगर आप cloud storage के बीच sync कर रहे हैं, तो संभावना है कि आप सच में checksum verify करना चाहेंगे
किसी ने open source client देखकर Proton Drive API को reverse engineer किया और Rclone plugin बना दिया
फिलहाल Linux पर Proton Drive इस्तेमाल करने का यही एकमात्र तरीका है
Rclone एक जादुई tool है और मैंने इसे कई तरह के कामों में इस्तेमाल किया है
पिछली बार जब देखा था, तो यह AWS SDK इस्तेमाल नहीं करता था या Go version सीमित था, इसलिए
.aws/configकी सारी settings इस्तेमाल नहीं की जा सकती थींहालांकि यह multi-purpose tool है, इसलिए हर backend feature support न करना कुछ हद तक समझ में आता है
docs में caching जैसी unmaintained features और experimental features के बारे में बहुत warnings हैं। warnings अपने-आप में ठीक हैं, लेकिन वे खास constraints साफ़-साफ़ नहीं बतातीं
Rclone मुझे निश्चित रूप से पसंद है। जब tech से बहुत परिचित न लोग consumer/business cloud में बहुत सारा data डाल देते हैं, और उसे किसी तरह server पर लाकर आगे process करना होता है, तो यह कीमती tool है
data बहुत ज्यादा हो और घर का internet अच्छा न हो, तो cloud-to-cloud direct transfer के लिए भी शानदार है। अच्छे network वाले server पर rclone डालकर tmux के अंदर चलाएँ, तो मेरा computer बंद होने पर भी काम चलता रहता है
nohup /usr/bin/rclone ... &>/dev/null &ऐसे run करने के बाद logout कर दें, तब भी यह चलता रहेगा