কেন্দ্রীয় সার্ভার ছাড়াই ড্রপবক্সের মতো ফাইল সিঙ্ক [বন্ধ]


22

আমি ইন্টারনেটে আমার দুটি ম্যাকের উপর গৌণ ড্রাইভ সিঙ্ক করার জন্য একটি উপায় খুঁজছি। আমার দুটি ম্যাকের মধ্যে ধারাবাহিক ভিপিএন সংযোগ রয়েছে এবং আমি এগুলি অ্যাক্সেস করতে পারি যেন তারা একে অপরের পাশে বসে থাকে।

আমি ড্রপবক্স-এর মতো অভিজ্ঞতার বাস্তবায়ন করার উপায় খুঁজছি যেখানে আমি যদি একটি ম্যাকের কোনও ফাইলকে পরিবর্তন করি তবে ফাইলটি অন্য ম্যাকের (এবং তদ্বিপরীত) কাছে ঠেলাঠেলি করে। আমারও ব্যান্ডউইথ থ্রোটল করার দক্ষতা প্রয়োজন (যাতে আমাদের ছোট্ট 1 মেগাবাইট আপলোড পাইপ ওভারলোড হয় না)। কোন পরামর্শ?

ওহ, এবং ড্রপবক্স ব্যবহার করা এই মুহুর্তে প্রশ্নটির বাইরে থাকা যেমন আমার ড্রাইভ 500 জিবি is ধন্যবাদ!


"Rsync" এর একটি বন্দর অনুসন্ধান করুন যা এটির জন্য একটি লিনাক্স সরঞ্জাম। এটি প্রতিটি রানে আপনার ফাইলগুলি সিঙ্ক্রোনাইজ করতে পারে; তারপরে আপনার যখনই এসএজি পরিবর্তিত হয় কেবল তখনই এটি ট্রিগার করার একটি উপায় প্রয়োজন।
dkellner

আপনি কি সব 500 জিবি সিঙ্ক করতে চান?
cubspl42

5
এটি সফ্টওয়্যার প্রস্তাবনাগুলিতে বিষয়যুক্ত হবে। এই প্রশ্নটি দেখুন (ম্যাকের সাথে সুনির্দিষ্ট নয়): সফ্টওয়্যাররিস.সটাকেক্সচেঞ্জ
নিকোলাস রাউল

আপনারও কি এটি দরকার? "আমি যদি উভয় মেশিনে ফাইলটি মুছে ফেলি তবে এটি পুনরায় তৈরির পরিবর্তে অন্য মেশিন থেকেও মুছে ফেলা উচিত।"
প্যাট্রিক এম

এটি কি আইক্লাউডের জন্য নয়? hints.macworld.com/article.php?story=20120803092156975
ব্লেজমোনজার

উত্তর:


30

পরীক্ষা করে দেখুন BitTorrent সিঙ্ক । এটি ড্রপবক্সের মতো সিঙ্ক কার্যকারিতা রয়েছে তবে ক্লাউড ছাড়াই।


ডাউনসাইড: সিঙ্ক করতে সক্ষম হতে উভয় মেশিনকে একই সাথে অনলাইনে থাকতে হবে।
জেরাল্ড স্নাইডার

18
@ জেরাল্ডশনিডার আপনি কি এমন কোনও কিছু জানেন যেটির এই সীমাবদ্ধতা নেই?
শেলভাকু

2
@ শেলভাকু, সম্ভব নয়। আপনি যদি অনলাইনে উভয় মেশিনের প্রয়োজন ছাড়াই এটি সিঙ্ক করতে চান তবে আপনার ক্লাউড স্টোরেজ প্রয়োজন (ওপি অনুরোধের বিপরীতে)।
HalosGhost

5
অগত্যা কোনও ক্লাউড স্টোরেজ। আপনার একটি নোড দরকার যা সর্বদা অনলাইনে থাকে। এটি কম্পিউটার, একটি এনএএস, একটি ক্লাউড পরিষেবা, লরেন্স বা অন্য কোনও অনুরূপ সমাধানের প্রস্তাবিত আপনার স্ব হোস্ট ওয়ালক্লাউড উদাহরণ হতে পারে। তবে যতক্ষণ না আপনার কাছে সর্বদা একটি নোড থাকে অনলাইনে এই সীমাবদ্ধতা সর্বদা প্রযোজ্য।
জেরাল্ড স্নাইডার

3
আমি বিটোরেন্ট সিঙ্ক ব্যবহার করি এবং আমি এটির উচ্চ প্রস্তাব দিতে পারি - আমি ড্রপবক্সের সাথে এটি খুব বড় ফাইলগুলির জন্য ব্যবহার করি যা সেখানে স্থান গ্রহণের পক্ষে উপযুক্ত নয়। তবে একটি বিষয় বিবেচনা করতে হবে তা হ'ল এটি ফাইলগুলির একসাথে সম্পাদনাগুলির সাথে ভাল আচরণ করে না - ড্রপবক্সের মতো কোনও বিরোধের হ্যান্ডলিং নেই - শেষ সম্পাদিত ফাইলটি কেবল জয়লাভ করে। অগত্যা কোনও সমস্যা নয় তবে এটি আপনার প্রয়োজনীয়তার উপর নির্ভর করে।
জেলানিক্স

16

আপনি হার্ডকোর যেতে চান, আপনি ব্যবহার করতে পারেন rsync মধ্যে স্থানীয়ভাবে কমান্ড OSX * স্নো কর্মীদের মত।

সবকিছুর আগে, আপনার কাছে অবশ্যই ssh দ্বারা দূরবর্তী হোস্টে অ্যাক্সেসের অনুমতি থাকতে হবে। ওপেনএসএইচ সার্ভারটি ম্যাক ওএসএক্স-এ পূর্বেই ইনস্টল করা আছে এবং আপনার কোনও অতিরিক্ত প্যাকেজ ইনস্টল করার দরকার নেই। কিছু সিস্টেম সেটিংস করা দরকার। ম্যাক ওএস এক্সে ওপেনএসএইচ সার্ভার সক্ষম করতে, সিস্টেম পছন্দগুলি খুলুন এবং ভাগ করে নেওয়ার জন্য ক্লিক করুন। এবং এর চেয়ে, এসএসএইচ সক্ষম করতে রিমোট লগইন বাক্সটি চেক করুন, তারপরে সমস্ত ব্যবহারকারীদের অ্যাক্সেসের অনুমতি দিন বিভাগ থেকে রেডিও বোতামটি নির্বাচন করুন ।

আপনি এখন ssh দ্বারা দূরবর্তী হোস্টে অ্যাক্সেস করতে পারেন।

এখন, আপনাকে অবশ্যই স্থানীয় অতিথি মেশিন থেকে দূরবর্তী হোস্টে এসএসএসের পাসওয়ার্ডহীন অ্যাক্সেসের জন্য একটি সর্বজনীন অ্যাক্সেস কী তৈরি করতে হবে। তার জন্য আপনাকে অবশ্যই নিজের হাতটি কিছুটা নোংরা করতে হবে। :)

প্রথমে আপনার কাছে ইতিমধ্যে প্রমাণীকরণ কী রয়েছে কিনা তা নির্ধারণ করুন। ইন টার্মিনাল , সঞ্চালন করুন:

sudo ls -la /var/root/.ssh

আপনি যদি "id_dsa" এবং id_dsa.pub দেখতে পান তবে আপনি এই বিভাগটির বাকি অংশটি এড়িয়ে যেতে পারেন।

ক্লায়েন্ট মেশিনে, টার্মিনালে নিম্নলিখিতটি চালান:

sudo ssh-keygen -t dsa -f /private/var/root/.ssh/id_dsa -C "comment about this key"

স্থানীয় অতিথি মেশিনে অ্যাক্সেস কী তৈরি করার পরে, আপনাকে অতিথির পাবলিক কীটি হোস্টের অনুমোদিত_কিজ ফাইলটিতে অনুলিপি করতে হবে। আপনি সরল টার্মিনাল কমান্ড দিয়ে এটি করতে পারেন যা অনুমোদিত কীগুলির তালিকায় পাবলিক কী সংযোজন করে:

sudo cat /private/var/root/.ssh/id_dsa.pub | ssh root@remote_host_address 'cat - >> ~/.ssh/authorized_keys'

নীচের কমান্ডটি আপনার দূরবর্তী হোস্টে স্থানীয় অতিথি মেশিনে আপনার মূল ফাইল সিস্টেমের বর্ধিত ব্যাকআপ সম্পাদন করবে:

/usr/local/bin/rsync -aNHAXx --protect-args --fileflags --force-change --rsync-path="/usr/local/bin/rsync" / root@remote_host_address:/Volumes/Backup/GuestMachine

পরিবর্তন সিঙ্ক্রোনাইজেশন আচরণগুলির জন্য আপনি আরএসসিএনসি এর পরামিতিগুলি পরিবর্তন করতে পারেন। যদি আপনি এই কমান্ডটি ক্রন্টবায় যোগ করেন তবে যেকোন সময় চক্রের মধ্যে সিঙ্ক্রোনাইজেশন চালানো যেতে পারে। উদাহরণ স্বরূপ:

sudo crontab -e

ক্রন্টাবের নীচে লাইন যুক্ত করুন:

*/30 * * * * /usr/local/bin/rsync -aNHAXx --protect-args --fileflags --force-change --rsync-path="/usr/local/bin/rsync" / root@remote_host_address:/Volumes/Backup/GuestMachine

এটি প্রতি আধা ঘণ্টার মধ্যে চলমান সিঙ্ক্রোনাইজেশন হবে।

পাইথন লিপিটির নমুনা এখানে:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
Cron automated synchronization script.

Desc: Synchronize remote folder into local machine. Duplicate processes 
      are disallowed until running process finished.

Usage:
    :: Change required variables as _user, _password, _domain etc.
    :: Edit crontab 
    # crontab -e

    :: Append line below.
    */30 * * * * python synchronizator.py 2>&1 &

Author: Sencer HAMARAT (RecNes)
E-Mail: sencerhamarat@gmail.com
"""

import shlex
from subprocess import Popen, PIPE
import logging as log
import sys

__author__ = "Sencer HAMARAT"

_user = 'username'
_password = 'password'
_domain = 'example.com'

_expectation = "Enter passphrase for key \'/home/%s/.ssh/id_rsa\':" % _user
_rsync = '/usr/bin/rsync --partial --progress -avvz -e'
_pub_key = '/home/%s/.ssh/id_rsa.pub' % _user
_ssh = '/usr/bin/ssh -i %s' % _pub_key
_remoteDir = '/home/%s/backup/' % _user
_localDir = '/home/%s/backup/' % _user
_command = '%s %s %s@%s:%s %s' % (_rsync, _ssh, _user, _domain, _remoteDir, _localDir)
run_command = shlex.split(_command)

_logFile = "logfile.log"
_logFormat = "%(asctime)s %(levelname)s %(name)s %(process)d %(threadName)s %(module)s:%(lineno)d %(funcName)s() " \
             "%(message)s\n"
log.basicConfig(filename=_logFile, level=log.DEBUG, format=_logFormat)

log.debug(u'Command will run: %s' % _command)

try:
    running_command = Popen(run_command, stdin=PIPE, stdout=PIPE, stderr=PIPE)
    if running_command.poll():
        log.debug(repr(running_command.poll()))
        sys.exit()
    if _expectation in running_command.communicate():
        running_command.communicate(_password)
    print running_command.communicate()
except Exception as e:
    log.debug(repr(e))
finally:
    sys.exit()

আমি আরএসসিএনসি ব্যবহারের বিষয়টি বিবেচনা করেছি, তবে সমস্যাটি এখানে রয়েছে: "যদি 30 মিনিটের পরে আরএসসিএনসি সম্পূর্ণভাবে শেষ না হয় তবে কী হবে?" আমি একই সাথে দুটি আরএসসিএনসি ঘটতে চাই না। এই কাছাকাছি কোন উপায় আছে?
মুনচেলেলি

1
@ মুনচেলেলি: এক সাথে সিঙ্কগুলি প্রতিরোধ করতে আরএসসিএনসি-এর চারপাশে একটি ছোট "লকিং" প্রক্রিয়া লিখতে তুলনামূলকভাবে বেদাহীন মূলত, ব্যাশ স্ক্রিপ্টে আরএসসিএন কলটি মোড়ক করুন এবং আপনি যা কিছু করতে চান তা নির্দ্বিধায়।
un23325680

আমি নমুনা স্ক্রিপ্ট যুক্ত। আমি আশা করি এটি সাহায্য করবে
সেন্সার এইচ।

এটি একটি দুর্দান্ত স্ক্রিপ্ট। সাহায্যের জন্য অনেক ধন্যবাদ। সরলতা এবং ব্যান্ডউইথ থ্রোটলিংয়ের কারণে আমি বিটটোরেন্ট সিঙ্কের সাথে যাওয়ার সিদ্ধান্ত নিয়েছি। (আমি জানি আপনি আরএসইএনসি দিয়ে সর্বাধিক ব্যান্ডউইথ ব্যবহার সেট করতে পারেন তবে বিটিএস আরও স্বজ্ঞাত)।
মুনছেলেলি

8

আপনি যদি ওয়েব ভিত্তিক অ্যাক্সেস চান তবে ওয়ানক্লাউড একটি সম্ভাব্য সমাধান।

ওয়ানক্লাউডকে হোস্ট করার জন্য আপনার নিজের সার্ভারের প্রয়োজন হবে, তবে এটি আরও সার্ভার ভিত্তিক সমাধান যেখানে আপনার 2 ক্লায়েন্ট তাদের ইচ্ছামত যা প্রয়োজন তা অ্যাক্সেস করতে পারে, তবে কেবলমাত্র ফাইলটিতে 1 টি অনুলিপি থাকবে যা এটি অবস্থিত থাকবে ওয়ানক্লাউড সার্ভার।


আপনি কি কেবল একটি নিজস্ব ক্লাউডের সাথে সংযোগ স্থাপন করতে পারবেন তা এখনও কি এমন? উদাহরণস্বরূপ, আমি আমার নিজের একটি থাকতে পারি না এবং আমার ভাইয়ের সাথে অন্যটি ভাগ করতে পারি?
টমাস ওয়েলার

কমপক্ষে ডেস্কটপ সিঙ্ক ক্লায়েন্টগুলি এখন একাধিক যুগপত ক্লাউড সংযোগগুলি সমর্থন করে। তবে একটি সার্ভারের মধ্যেও আপনি কেবলমাত্র নির্দিষ্ট ফাইল / ডিরেক্টরিগুলি ভাগ করতে সক্ষম হবেন, অগত্যা সমস্ত কিছুই।
ওজডো


2

যদি উইন্ডোজ, একটি সিঙ্কটয় সরঞ্জাম রয়েছে যা এটি তিনটি ধাপে করে। যদি ম্যাক হয় তবে এটি ক্রোনসিঙ্ক সরঞ্জাম বা ত্রি-ব্যাকআপ সরঞ্জাম সম্পর্কে


হাই রুসলান, ক্রোনসিঙ্ক বা ট্রাই-ব্যাকআপ কেন ওপি'র জন্য আদর্শ সমাধান হতে পারে তা বোঝাতে আপনি নিজের উত্তরটি সম্পাদনা করতে পারেন ? ঠিক এখন, এটি একটি খুব কম গুণমানের উত্তর, এবং আসলে নেই উত্তর কিভাবে প্রশ্নই। ধন্যবাদ
কানাডিয়ান লুক পুনরায় ইনস্টল করুন মনিকা

হাই, আপনার প্রশ্নের জন্য ধন্যবাদ। আমি এই প্রোগ্রামগুলিকে আদর্শ সমাধান হিসাবে বলছি না, তবে আমি মনে করি এটি যথেষ্ট সহজ কারণ তাদের জিইউআই রয়েছে, এর অর্থ এটিও যে কেউ কমান্ড লাইনের যাদু-বানানগুলির একগুচ্ছ গভীর উপলব্ধি না করেই এটি করতে পারে। এছাড়াও আমি বিশ্বাস করি যে যদি কারও কাছে তালিকাভুক্ত প্রোগ্রামগুলি ব্যবহার করার কোনও সমস্যা থাকে তবে সে একটি আলাদা প্রশ্নে জিজ্ঞাসা করা উচিত, যেমনটি তিনি কী করেছেন, কী ভুল \ আশ্চর্য। কোনও নির্দিষ্ট প্রশ্ন জিজ্ঞাসা না করে তাদের জন্য এখানে ডকুমেন্টেশন অনুলিপি করার চেয়ে বরং এটি।
রুসলান গেরাসিমভ

2

একত্রীকরণ বিবেচনা করুন। এটি দ্বি-মুখী ফাইল সিঙ্ক্রোনাইজেশন পরিচালনা করে। আপনি এটিকে একটি শিডিয়ুল cronবা অন্য কোনও সময়সূচী অ্যাপ্লিকেশন সহ সেট করতে পারেন ।

http://www.cis.upenn.edu/~bcpierce/unison/

ইউনিসন হ'ল ইউনিক্স এবং উইন্ডোজের ফাইল-সিঙ্ক্রোনাইজেশন সরঞ্জাম। এটি ফাইল এবং ডিরেক্টরিগুলির সংগ্রহের দুটি প্রতিলিপি বিভিন্ন হোস্টে (বা একই হোস্টের বিভিন্ন ডিস্ক) সংরক্ষণ করার অনুমতি দেয়, পৃথকভাবে সংশোধন করা হয় এবং তারপরে প্রতিটি প্রতিরূপের পরিবর্তনগুলি অপরটিতে প্রচারের মাধ্যমে আপডেট করে আনা হয়।

ইউনিসন কনফিগারেশন ম্যানেজমেন্ট প্যাকেজ (সিভিএস, পিআরসিএস, সাবভার্সন, বিটকিপার, ইত্যাদি), বিতরণ করা ফাইল সিস্টেম (কোডা, ইত্যাদি), ইউনি-ডিশনাল মিররিং ইউটিলিটিস (আরএসসিএনসি, ইত্যাদি) এবং অন্যান্য সিঙ্ক্রোনাইজারের মতো সরঞ্জামগুলির সাথে অনেকগুলি বৈশিষ্ট্য ভাগ করে shares (ইনটেলিসিঙ্ক, পুনর্মিলন ইত্যাদি)। তবে কয়েকটি বিষয় রয়েছে যেখানে এটি পৃথক হয়েছে:


1
+1: দ্বিদলীয় সিঙ্কের প্রয়োজন হলে, এটির সমস্ত দুর্দান্ত বৈশিষ্ট্য থাকা সত্ত্বেও এটি স্পষ্টতই আরএসসিএন-তে জয়ী হয়।
ওজডো

1

আমি একই ল্যানে দুটি পিসির সাথে গুডসাইঙ্কের ভাগ্য ভালো করেছি , তবে আমি মনে করি এটি এখনও আপনার পরিস্থিতিতে ভালভাবে কাজ করবে।

তাদের পণ্য বিবরণ এখানে:

  • গুডসাইঙ্ক আপনার কম্পিউটার, মোবাইল ডিভাইস, এফটিপি, এসএফটিপি, অ্যামাজন এস 3, গুগল ড্রাইভ, স্কাইড্রাইভ, ওয়েবডিএভি, আউজুরের মধ্যে ফাইল সিঙ্ক করে।
  • গুডসাইঙ্ক পোর্টেবল ড্রাইভ, মোবাইল ডিভাইস এবং এফটিপি, এস 3, জিডোকস, স্কাইড্রাইভ, ডিএভি বা অন্য কোনও কম্পিউটারে ফাইলগুলি ব্যাক আপ করে।
  • ডাইরেক্ট পি 2 পি সিঙ্ক: গুডসাইঙ্ক কানেক্টটি তৃতীয় পক্ষের সার্ভারগুলির মাধ্যমে সিঙ্কের মাধ্যমে আস্তে আস্তে প্রবর্তন না করে সরাসরি আপনার কম্পিউটারের মধ্যে ফাইলগুলি সিঙ্ক করে।
  • গুডসাইঙ্ক খুব দ্রুত এবং আপনার কমান্ডের সময় সময়সীম একটি সময়সূচী বা বাস্তব সময়ে (ফাইল পরিবর্তনে) ফাইলগুলি সিঙ্ক করে।

আপনার কেবলমাত্র আপনার পিসির একটিতে গুডসাইঙ্ক সেট আপ করা দরকার; এটি দ্বিমুখী সিঙ্ক্রোনাইজেশন পরিচালনা করে এবং এটি যে ধরণের সিঙ্ক করে তা কাস্টমাইজযোগ্য। এছাড়াও, এটি সিএনটি দ্বারা অত্যন্ত প্রস্তাবিত by


হাই জোন, গুডসাইঙ্ক কেন ওপি'র আদর্শ সমাধান হতে পারে তা বোঝাতে আপনি নিজের উত্তরটি সম্পাদনা করতে পারেন ? ঠিক এখন, এটি একটি খুব কম গুণমানের উত্তর, এবং আসলে নেই উত্তর কিভাবে প্রশ্নই। ধন্যবাদ
কানাডিয়ান লুক পুনরায় ইনস্টল করুন মনিকা

1

আর একটি সম্ভাব্য সমাধান হ'ল অ্যারোএফএস

এ্যারোএফএস দ্বি-দিকনির্দেশে আপনার ডিভাইসে কখনও কখনও আপনার ডেটা সংরক্ষণ করার সময় আপনার ডিভাইসের মধ্যে ডেটা সিঙ্ক করে - আপনার ডেটা কখনই তাদের সার্ভারের কাছে যায় না। অ্যারোএফএস আপনার ফাইলগুলির জন্য একটি পুনর্বিবেচনার ইতিহাস বজায় রাখে যাতে আপনি প্রয়োজনে পূর্ববর্তী সংস্করণগুলিতে ফিরে যেতে পারেন এবং এটি বিরোধগুলি সমাধানের জন্য একটি সরঞ্জাম সরবরাহ করে।

অ্যারোএফএস উইন্ডোজ, ম্যাক, লিনাক্স, আইওএস এবং অ্যান্ড্রয়েডে কাজ করে, সুতরাং এটি আপনার coveredেকে রাখা উচিত।


0

সুতরাং, আপনি যদি নীতিগত ভিত্তিতে ক্লাউড স্টোরেজটির বিরোধী না হন তবে বাহ্যিক ড্রাইভগুলির জন্য দুটি হার্ডওয়্যার সমাধান রয়েছে:

মহাকাশ বানর একটি আকর্ষণীয় দৃষ্টান্ত ব্যবহার করে .. এটি আপনার ডিস্কের কিছু অংশ অন্য ব্যক্তির ডেটাগুলির ছোট ছোট টুকরো সংরক্ষণ করার জন্য বরাদ্দ করে এবং আপনার ডেটা প্রচুর অন্যান্য লোকের ড্রাইভেও সংরক্ষণ করে (অবশ্যই এনক্রিপ্ট করা হয়)। এইভাবে, দুর্যোগের ক্ষেত্রে প্রচুর অপ্রয়োজনীয়তা রয়েছে এবং আপনার মেশিনগুলিকে একে অপরকে দেখতে সক্ষম হতে হবে বা একই সাথে সংযুক্ত থাকতে হবে না।

ফাইল ট্রান্সপোর্টারটি কিছুটা সহজ, যাতে আপনি নির্দিষ্টভাবে সিঙ্ক করার জন্য সেট আপ করেন এমন অন্য ফাইল ট্রান্সপোর্টার ড্রাইভে ডেটা কেবলমাত্র সিঙ্ক হয়।

উভয় বিকল্পগুলি প্রচুর পরিমাণে ডেটার জন্য ভাল, এবং আপনি কেবল সাবস্ক্রিপশন ফি ছাড়াই একবার হার্ডওয়্যার কিনেছেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.