ওএসএক্স এসএসএইচ আরএসএনসি - দূরবর্তী ডিরেক্টরিটি আপডেট রাখুন


11

আমি মূলত উইন্ডোজ ব্যাকগ্রাউন্ড থেকে এসে ম্যাকে স্থানান্তরিত। আমি উইনসিসিপি ব্যবহার করেছি এবং "রিমোট ডিরেক্টরিটি আপ টু ডেট" নামক একটি বৈশিষ্ট্য পছন্দ করেছি ।

এখানে প্রশ্নটি রয়েছে: ওএসএক্সের জন্য কি কোনও সমতুল্য এসসিপি ক্লায়েন্ট রয়েছে যা সনাক্ত করার সময় পরিবর্তনের জন্য একটি ডিরেক্টরি নিরীক্ষণ করবে এবং আপলোড করবে? এটি কোনও জিইউআই ক্লায়েন্ট বা কমান্ড-লাইন (আরএসআইএনসি, এসএসএস, ইত্যাদির মাধ্যমে) লাগছে কিনা সে সম্পর্কে আমি চিন্তা করি না।

উত্তর:


0

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


12
alias run_rsync='rsync -azP --exclude ".*/" --exclude ".*" --exclude "tmp/" /source_folder username@host:/destination_folder'
run_rsync; fswatch -o . | while read f; do run_rsync; done

দ্বিতীয় লাইন run_rsyncএকবার নিঃশর্ত এবং তারপরে চলে - বর্তমান ডিরেক্টরিতে প্রতিটি পরিবর্তনের উপর (বা এর পরিবর্তে সঠিক পাথ নির্দিষ্ট করুন .)

আপনার প্রয়োজন হবে fswatch- ব্রিউয়ের মাধ্যমে কীভাবে ইনস্টল করবেন তা এখানে :

brew install fswatch

Rsync বিকল্পগুলি:

  • -a - "আর্কাইভ" এর জন্য দাঁড়িয়েছে এবং পুনরাবৃত্তভাবে সিঙ্ক করে এবং প্রতীকী লিঙ্কগুলি, বিশেষ এবং ডিভাইস ফাইলগুলি, সংশোধনের সময়, গোষ্ঠী, মালিক এবং অনুমতিগুলি সংরক্ষণ করে।
  • -z - সংক্ষেপণ
  • -পি - পতাকাগুলি - প্রগ্রেস এবং - পার্টিশিয়াল সংযুক্ত করে। এর মধ্যে প্রথমটি আপনাকে স্থানান্তরগুলির জন্য অগ্রগতি বার দেয় এবং দ্বিতীয়টি আপনাকে বাধা স্থানান্তর পুনরায় শুরু করার অনুমতি দেয়
  • --excolve - প্যাটার্ন অনুসারে ফাইলগুলি বাদ দেয়

আপনি কিছুক্ষণের জন্য আমাকে সত্যিই বিভ্রান্ত করেছিলেন কারণ syncএটি একটি সিস্টেম ইউটিলিটি (কমপক্ষে আমি দেখেছি প্রতিটি * নিক্সের উপর; ওএসএক্স সম্পর্কে নিশ্চিত নয়, তবে কেন এটি হবে না এমন কোনও পুনর্নবীকরণ দেখুন না)। আপনি নিজের স্নিপডকে অন্যরকম নাম দিতে চাইতে পারেন। এছাড়াও, এটি এসএসএইচ ছাড়বে না, যা ওপি চেয়েছিল; কেবল -e sshrsync এ যাওয়ার সময় এটি ঠিক করা উচিত।
একটি সিভিএন

@ মাইকেলKjörling: +1: স্থির, বিজ্ঞপ্তির জন্য আপনাকে ধন্যবাদ!
ড্যানিয়েল

আমি আপনার ব্যতিক্রমগুলি বুঝতে পারি না, আপনি কি সেগুলি ব্যাখ্যা করতে পারেন?
পিডি

1

আপনি ফোল্ডার ক্রিয়াগুলির পরিবর্তে লঞ্চ ব্যবহার করতে পারেন (কিছু নমুনা কোড পেতে কেবল গুগলের জন্য: লঞ্চ করা ফোল্ডার প্রহরী)।

এরপরে আপনি লঞ্চ করা ফোল্ডার ওয়াচার আইটেমটিকে এই জাতীয় স্ক্রিপ্টের সাথে একত্রিত করতে পারেন ।

অথবা, এসএসএস-এর মতো আরএসএনসি ব্যবহার করুন:

rsync -urltv --delete -e ssh /path/to/dir othermachine:/path/to/dir

বাণিজ্যিক ক্রস প্ল্যাটফর্ম সফ্টওয়্যার সমাধানের জন্য গুডসাইঙ্ক দেখুন


0

আতঙ্কিত হয়ে ট্রান্সমিট পরীক্ষা করে দেখুন । থেকে তাদের ব্লগ পোস্ট এক , একটি মন্তব্য করেছেন:

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


আমি ট্রান্সমিট দেখেছি - দুর্ভাগ্যক্রমে এটি এসসিপি সমর্থন করে না - কেবল এসএফটিপি সংযোগগুলি। এছাড়াও, প্রেরণটি আমার ব্যক্তিগত কী ফাইলগুলি খুলতে অস্বীকার করে।
পাইগোরেক্স 1

এই বৈশিষ্ট্যটি অন্যরকম। এর অর্থ হ'ল আপনি সরাসরি আপনার পছন্দের সম্পাদক ব্যবহার করে দূরবর্তী সার্ভার থেকে ফাইলগুলি সম্পাদনা করতে পারেন। অন্যান্য এফটিপি প্রোগ্রামগুলিও এটি সমর্থন করে।
ড্যানিয়েল বেক

0

আমি একটি রুবি স্ক্রিপ্ট জুড়ে এসেছি যা আপনার যা প্রয়োজন তা করে তবে এটি সামান্য মানিয়ে নেবে।

বিবরণ:
ডিরেক্টরিটি যখনই স্ক্রিপ্টটি ওএস এক্স এফএসইভেন্টস এপিআই https://gist.github.com/149491 ব্যবহার করে পরিবর্তিত হয়


0

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

  1. আমি ড্রিমহোস্ট উইকি: http://cl.ly/MIw5 থেকে এই টিউটোরিয়ালটি ব্যবহার করে পাসওয়ার্ডলেস লগইনের কী তৈরি করেছি

    1.1। আপনি যখন শেষ করেন, সবকিছু ঠিক আছে কিনা পরীক্ষা করুন ... আপনি যদি পাসওয়ার্ডহীন লগইন না করতে পারেন তবে আপনাকে এএফপি মাউন্ট চেষ্টা করতে হবে। ড্রিমহোস্ট (যেখানে আমার সাইট রয়েছে) এএফপি মাউন্টের অনুমতি দেয় না, তবে পাসওয়ার্ডহীন লগইন করতে দেয়। টার্মিনালে, টাইপ করুন:

    ssh username@host.com আপনার পাসওয়ার্ড জিজ্ঞাসা করা ছাড়া লগইন করা উচিত: পি

  2. আমি গিথুব পৃষ্ঠা থেকে টার্মিনাল নোটিফায়ার ইনস্টল করেছি: http://cl.ly/MJ5x

    2.1। আমি জেম ইনস্টলার কমান্ডটি ব্যবহার করেছি। টার্মিনালে, টাইপ করুন:

    gem install terminal-notifier

    2.3। বিজ্ঞপ্তিটি কার্যকর হলে পরীক্ষা করুন Ter টার্মিনালে টাইপ করুন:

    terminal-notifier -message "Starting sync"

  3. Rsync + বিজ্ঞপ্তি পরীক্ষা করতে একটি শ স্ক্রিপ্ট তৈরি করুন। আপনার পছন্দের নামের সাথে এটি যে কোনও জায়গায় সংরক্ষণ করুন। এই উদাহরণে, আমি এটিকে ~ / স্ক্রিপ্ট / সিঙ্ক বলব sh আমি " .sh এক্সটেনশনটি ব্যবহার করেছি, তবে এটির প্রয়োজন কিনা তা আমি জানি না।

    #!/bin/bash terminal-notifier -message "Starting sync" rsync -azP ~/Sites/folder/ user@host.com:site_folder/ terminal-notifier -message "Sync has finished"

    3.1। এই শ স্ক্রিপ্টে ফাঁসির অনুমতি দেওয়ার কথা মনে রাখবেন। টার্মিনালে, টাইপ করুন:

    sudo chmod 777 ~/Scripts/sync.sh 3.2। স্ক্রিপ্টটি চালান এবং বার্তাগুলি সঠিকভাবে প্রদর্শিত হয় কিনা তা যাচাই করুন এবং আরএসসিএনসি আসলে আপনার স্থানীয় ফোল্ডারটি দূরবর্তী ফোল্ডারের সাথে সিঙ্ক করে।

  4. অবশেষে, আমি গিথুব পৃষ্ঠা থেকে ওয়াচডগ ডাউনলোড এবং ইনস্টল করেছি: http://cl.ly/MJfb

    4.1। প্রথমত, আমি ব্রু ব্যবহার করে লিবিয়ামল নির্ভরতা ইনস্টল করেছিলাম (ব্রু ইনস্টল করার জন্য অনেকগুলি সাহায্য রয়েছে - ওএস এক্সের জন্য "প্রবণতা" এর মতো)। টার্মিনালে, টাইপ করুন:

    brew install libyaml

    4.2। তারপরে, আমি "Easy_install কমান্ড" ব্যবহার করেছি। ওয়াচডগের ফোল্ডারে যান এবং টার্মিনাল টাইপ করুন:

    easy_install watchdog

  5. এখন, সবকিছু ইনস্টল করা! যান আপনি সিঙ্ক করার জন্য চান ফোল্ডারের , আপনার চাহিদা করার জন্য এই কোড পরিবর্তন , এবং টার্মিনাল মধ্যে টাইপ করুন:

      watchmedo shell-command
          --patterns="*.php;*.txt;*.js;*.css" \
          --recursive \
          --command='~/Scripts/Sync.sh' \
          .
    

    স্ল্যাশ এবং লাইন ব্রেকগুলির সাথে একেবারে ঠিক এভাবেই থাকতে হবে , সুতরাং আপনাকে এই লাইনগুলি একটি পাঠ্য সম্পাদকের কাছে অনুলিপি করতে হবে, স্ক্রিপ্টটি পরিবর্তন করতে হবে, টার্মিনালে পেস্ট করতে হবে এবং রিটার্ন টিপুন।

    আমি লাইন বিরতি ছাড়াই চেষ্টা করেছি, এবং এটি কার্যকর হয় না!

    আমার ম্যাকে আমি সর্বদা ত্রুটি পাই তবে এটি কোনও কিছুর উপর প্রভাব ফেলবে বলে মনে হয় না:

    /Library/Python/2.7/site-packages/argh-0.22.0-py2.7.egg/argh/completion.py:84: UserWarning: Bash completion not available. Install argcomplete.

    এখন, ফোল্ডারের ভিতরে একটি ফাইলে কিছু পরিবর্তন করেছেন, এবং যাদু দেখুন!

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