ঠিক আছে, আমার একই ধরণের সমস্যা ছিল এবং এটি একসাথে ব্যবহার করা সম্ভব: আরএসসিএন, এসএসএইচ পাসওয়ার্ডলেস লগইন, ওয়াচডগ (একটি পাইথন সিঙ্ক ইউটিলিটি) এবং টার্মিনাল নোটিফায়ার (রুবি দিয়ে তৈরি একটি ওএস এক্স নোটিফিকেশন ইউটিলিটি) দরকার নেই, তবে জানতে সহায়তা করে সিঙ্কটি শেষ হয়ে গেলে)।
আমি ড্রিমহোস্ট উইকি: http://cl.ly/MIw5 থেকে এই টিউটোরিয়ালটি ব্যবহার করে পাসওয়ার্ডলেস লগইনের কী তৈরি করেছি
1.1। আপনি যখন শেষ করেন, সবকিছু ঠিক আছে কিনা পরীক্ষা করুন ... আপনি যদি পাসওয়ার্ডহীন লগইন না করতে পারেন তবে আপনাকে এএফপি মাউন্ট চেষ্টা করতে হবে। ড্রিমহোস্ট (যেখানে আমার সাইট রয়েছে) এএফপি মাউন্টের অনুমতি দেয় না, তবে পাসওয়ার্ডহীন লগইন করতে দেয়। টার্মিনালে, টাইপ করুন:
ssh username@host.com
আপনার পাসওয়ার্ড জিজ্ঞাসা করা ছাড়া লগইন করা উচিত: পি
আমি গিথুব পৃষ্ঠা থেকে টার্মিনাল নোটিফায়ার ইনস্টল করেছি: http://cl.ly/MJ5x
2.1। আমি জেম ইনস্টলার কমান্ডটি ব্যবহার করেছি। টার্মিনালে, টাইপ করুন:
gem install terminal-notifier
2.3। বিজ্ঞপ্তিটি কার্যকর হলে পরীক্ষা করুন Ter টার্মিনালে টাইপ করুন:
terminal-notifier -message "Starting sync"
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। স্ক্রিপ্টটি চালান এবং বার্তাগুলি সঠিকভাবে প্রদর্শিত হয় কিনা তা যাচাই করুন এবং আরএসসিএনসি আসলে আপনার স্থানীয় ফোল্ডারটি দূরবর্তী ফোল্ডারের সাথে সিঙ্ক করে।
অবশেষে, আমি গিথুব পৃষ্ঠা থেকে ওয়াচডগ ডাউনলোড এবং ইনস্টল করেছি: http://cl.ly/MJfb
4.1। প্রথমত, আমি ব্রু ব্যবহার করে লিবিয়ামল নির্ভরতা ইনস্টল করেছিলাম (ব্রু ইনস্টল করার জন্য অনেকগুলি সাহায্য রয়েছে - ওএস এক্সের জন্য "প্রবণতা" এর মতো)। টার্মিনালে, টাইপ করুন:
brew install libyaml
4.2। তারপরে, আমি "Easy_install কমান্ড" ব্যবহার করেছি। ওয়াচডগের ফোল্ডারে যান এবং টার্মিনাল টাইপ করুন:
easy_install watchdog
এখন, সবকিছু ইনস্টল করা! যান আপনি সিঙ্ক করার জন্য চান ফোল্ডারের , আপনার চাহিদা করার জন্য এই কোড পরিবর্তন , এবং টার্মিনাল মধ্যে টাইপ করুন:
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.
এখন, ফোল্ডারের ভিতরে একটি ফাইলে কিছু পরিবর্তন করেছেন, এবং যাদু দেখুন!
sync
এটি একটি সিস্টেম ইউটিলিটি (কমপক্ষে আমি দেখেছি প্রতিটি * নিক্সের উপর; ওএসএক্স সম্পর্কে নিশ্চিত নয়, তবে কেন এটি হবে না এমন কোনও পুনর্নবীকরণ দেখুন না)। আপনি নিজের স্নিপডকে অন্যরকম নাম দিতে চাইতে পারেন। এছাড়াও, এটি এসএসএইচ ছাড়বে না, যা ওপি চেয়েছিল; কেবল-e ssh
rsync এ যাওয়ার সময় এটি ঠিক করা উচিত।