প্রশ্ন কিভাবে FTP উপর rsync ব্যবহার করবেন


কোন ইউনিক্স:

আমার নিম্নোক্ত cmd লাইন রয়েছে যা সূক্ষ্ম কাজ করে।

rsync -avr -e ssh /home/dir user@example.com:/home/

কিন্তু আমি এখন এটি একটি রিমোট সার্ভারে rsync করতে সেট আপ করতে হবে যা তার উপর শুধুমাত্র একটি FTP সার্ভার আছে। আমি কিভাবে যে সম্পর্কে যেতে পারি?

আমি rsync সাহায্য তাকিয়ে কিন্তু দ্রুত হারিয়ে গেছে (আমি খুব প্রায়ই এই জিনিস না)।


176
2018-06-12 09:51


উত্স


এটি আইআরসি থেকে HTTP কিভাবে ব্যবহার করবেন, অথবা কিভাবে SMTP এ FTP ব্যবহার করবেন তা জিজ্ঞাসা করার মতো ... - Juliano
হয়তো আপনি এই কাজ করতে চাইছেন আপনার কিছু যুক্তি ব্যাখ্যা করতে পারেন, তাহলে আমরা আপনাকে একটি কার্যকর সমাধান নিয়ে আসতে সাহায্য করতে পারি। - James
মূলত আমি একটি শেয়ার্ড হোস্টিং সার্ভার থেকে একটি ব্যাকআপ স্বয়ংক্রিয়ভাবে চেষ্টা করার চেষ্টা ছিল, এবং rsync কিভাবে কাজ বুঝতে না। আমি এখন একটি ভিপিএস সরানো হয়েছে, এবং এখন আরএফপি সীমাবদ্ধতা নেই - bumperbox
দ্বন্দ্ব আপনার ঈশ্বর হয়: scie.nti.st/2013/4/13/... - user956584
যদি বিস্তৃতি আপনার মনে কি আছে, এবং আপনি NodeJS কে মনে করেন না, চেক আউট করুন dploy, অলস এবং গিট সঙ্গে ভাল কাজ করে - Frank Nocke


উত্তর:


আপনি না। rsync আপনার জন্য এটি করতে পারে না, এটি নিজের নিজস্ব প্রোটোকল এবং FTP এ কাজ করে না।

তবে আপনি চেষ্টা করতে পারেন csync। আইআইআরসি এটি HTTP এর উপর rsync মত আচরণ প্রদান করে। আমি FTP এ কাজ করে কিনা সে বিষয়ে মন্তব্য করতে পারছি না, আপনাকে এটি চেষ্টা করতে হবে।


76
2018-06-12 10:00



এ খুঁজছেন csync ওয়েব পেজ, এটি sftp সমর্থন করে কিন্তু প্লেইন ftp জন্য সমর্থন কোন উল্লেখ নেই। - Keith Thompson


rsync অন্যদের উল্লেখ করেছেন কারণ জন্য আপনার জন্য কাজ করতে যাচ্ছে না। যাহোক, lftp, এবং ncftp উভয় আছে "আয়না" মোড সম্ভবত আপনার চাহিদা পূরণ করবে।

আমি আমার স্থানীয় ডিরেক্টরি থেকে একটি ftp বা sftp ওয়েব হোস্টে স্টাফ মুছতে এটি ব্যবহার করি:

lftp -c "set ftp:list-options -a;
open ftp://user:password@your.ftp.com; 
lcd ./web;
cd /web/public_html;
mirror --reverse --delete --use-cache --verbose --allow-chown  
--allow-suid --no-umask --parallel=2 --exclude-glob .svn"

156
2018-06-12 14:58



lftp খুব সুন্দর। আরেকটি আমি শুধু সম্পর্কে খুঁজে পাওয়া যায় নি wput যা সীমিত ব্যান্ডউইথ নির্মিত হয়েছে। - karmakaze


লিখেছেন চিত্রফলক, lftp একটি ভাল হাতিয়ার।

আমি আপনাকে স্ক্রিপ্ট parametrize করতে সুপারিশ, এবং ব্যবহার করা

exclude-glob

অপশন, যা আপনার শেলের গ্লোব বৈশিষ্ট্য (* ,? ..) ব্যবহার করে ফাইলের নাম বাদ দেয়:

#!/bin/bash    
HOST="your.ftp.host.dom"
USER="username"
PASS="password"
FTPURL="ftp://$USER:$PASS@$HOST"
LCD="/path/of/your/local/dir"
RCD="/path/of/your/remote/dir"
#DELETE="--delete"
lftp -c "set ftp:list-options -a;
open '$FTPURL';
lcd $LCD;
cd $RCD;
mirror --reverse \
       $DELETE \
       --verbose \
       --exclude-glob a-dir-to-exclude/ \
       --exclude-glob a-file-to-exclude \
       --exclude-glob a-file-group-to-exclude* \
       --exclude-glob other-files-to-exclude"

সতর্কতা: নিশ্চিত করুন যে টার্গেট ডিরেক্টরি বিদ্যমান, নাহলে cd কমান্ড ব্যর্থ হবে, তাই অপারেশন ফাইলের গাছ মুছে ফেলা সহ  ভুল ডিরেক্টরি (রুট) এ সঞ্চালিত হবে!

আমি যাতে স্ক্রিপ্ট আপডেট আছে --delete বিকল্প defaut দ্বারা নিষ্ক্রিয় করা হয়, uncommenting দ্বারা এটি সক্ষম DELETE= command


119
2018-01-26 11:58



আমাকে একটি মহান গুচ্ছ সাহায্য। কিন্তু আমাকে "set ftp: list-options -a" মুছে ফেলতে হয়েছিল। যা জগাখিচুড়ি স্টাফ আপ। - mat
এই ধরনের কিছু আছে যা SFTP (FTPS?) এ একই জিনিস করে? - trusktr
আমি আগে এটা করতে হবে cd $RCD, যাতে ভুল ডিরেক্টরি থেকে ফাইলগুলি হঠাৎ করে মুছে ফেলা থেকে একটি-স্ক্রিপ্ট-এ-টাইপোকে আটকাতে: set cmd:fail-exit yes। (এটা দেখতে lftp আপনি পরবর্তী কমান্ড ইস্যু না হওয়া পর্যন্ত এটি আসলে exited হয়েছে লক্ষ্য না।) - এবং আগে cd $LCD আমি এটা করব (স্থানীয় শেলে, যা স্ক্রিপ্টের শীর্ষে): set -eu। - KajMagnus
প্রকৃতপক্ষে, প্রথমবারের মতো আমি আমার স্ক্রিপ্ট চালাই, আমি এখনও দূরবর্তী ডিরেক্টরি তৈরি করিনি, তাই স্ক্রিপ্টটি অ-বিদ্যমান ডির মধ্যে সিডিতে ব্যর্থ হয়েছে। তারপর স্ক্রিপ্ট শুরু mirror, এবং এগুলো --delete: ডি ফাইল থেকে ভুল dir। (কিন্তু আমি আবার তাদের অনুলিপি করেছি, তাই এই ক্ষেত্রে এটি কোন ব্যাপার না। সম্ভবত এটি অন্য কারো জন্য গুরুত্বপূর্ণ।) - KajMagnus
'সেট-ইউ' এবং 'সিডি $ এলসিডি' ব্যবহার সম্পর্কে @ কেজম্যাগাসাসের পরামর্শ অনুসরণ করে 'সিডি $ এলসিডি'র আগে' mkdir -p $ LCD 'যোগ করুন - এইভাবে আপনি নিশ্চিত হতে পারেন যে ডিরেক্টরিটি বিদ্যমান এবং আপনি' এটা আবার। - Paul Gear


আপনি আসলে যা করার চেষ্টা করছেন তার উপর নির্ভর করে, অন্য সম্পূর্ণ ভিন্ন পদ্ধতি ব্যবহার করা যেতে পারে curlftps একটি FTP ফোল্ডার মাউন্ট করতে, এবং তারপর হতে পারে rsync দুটি "স্থানীয়" ফোল্ডার।

ইনস্টলেশন আপনার ডিস্ট্রো উপর নির্ভর করে ভিন্ন তাই আমি যে সাধারণীকরণ করতে পারবেন না, কিন্তু আপনি ইনস্টল করতে হবেfuse এবং curlftpfs (Prolly ডেবিয়ান ইতিমধ্যে আছে fuse ডিফল্ট দ্বারা ইনস্টল করুন), তারপর:

  1. sudo apt-get install curlftpfs

  2. নিশ্চিত করুন fuse মডিউল লোড করা হয় (modprobe fuse)

  3. sudo curlftpfs ftp.yourserver.com /path/to/ftp/folder/ -o user=username:password,allow_other

মনে রাখবেন যে শেষ কমা পরে কোন স্থান নেই (এটি একটি টাইপও নয়!)। আপনি যদি এতে সন্তুষ্ট হন বা প্রতিবার এটি করতে না চান তবে আপনি এটি আপনার fstab (সাধারণত /etc/fstab):

curlftpfs#user:password@ftp.yourserver.com /path/to/ftp/folder/ fuse auto,user,uid=1000,allow_other 0 0

সেই ক্ষেত্রে, আপনাকে নিশ্চিত করতে হবে যে ফিউজ মডিউল লোড করা হয়েছে।

যদিও, দুটি জিনিস পরামর্শ দেওয়া হবে:

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

23
2017-12-11 12:39



এফটিপি ফিউজ এবং rsync প্রশ্ন নিকটতম কিন্তু পরিষ্কারভাবে ছোট ফাইল একটি ছোট সেট ছাড়া কিছু কিন্তু উন্মাদ। - Steve-o
কেন এটা উন্মাদ হবে? ডিফল্ট rsync stat () গুলি দ্বারা, এটি বিষয়বস্তু তুলনা করে না। যে একটি ftp ক্লায়েন্ট সঙ্গে ls -l দ্বারা করা যেতে পারে। - ptman
আমি আসলে এটি চেষ্টা করেছি (rsnapshot এর মাধ্যমে) এবং এটি কাজ করে না, প্রতিটি ফাইল ফেরত এবং ত্রুটি, দেখায় যে rsync একটি লিঙ্ক তৈরি করতে পারে না। তাই rsnapshot সঙ্গে মিলিত lftp ব্যবহার করে কৌশল - Konstantin Pereiaslov
14.04 LTS উপর নিশ্ছিদ্র; একটি অতিরিক্ত টিপ: যখন আপনি আপনার FTP সাইট আনমাউন্ট করতে প্রস্তুত হন কেবল ব্যবহার করুন umount DIR কোথায় DIR তোমার ছিল /path/to/ftp/folder উপরে। - Joe
2017, এবং এই এখনও কাজ করে! আন্তরিকভাবে একটি FTP সাইট enmasse থেকে ফাইল কপি সবচেয়ে সহজ উপায়। স্থানীয়ভাবে মাউন্ট করুন, তারপর স্থানীয় হিসাবে যদি rsync - td512


এখানে weex...

Weex একটি ইউটিলিটি ডিজাইন করা হয়   দূরবর্তী কাজ টাস্ক স্বয়ংক্রিয়   একটি ওয়েব পেজ বা অন্যান্য FTP বজায় রাখা   আর্কাইভ। এটি একটি সেট সিঙ্ক্রোনাইজ হবে   স্থানীয় ফাইল একটি দূরবর্তী সার্ভার দ্বারা   আপলোড এবং দূরবর্তী মুছে ফেলার কাজ   প্রয়োজনীয়.


16
2017-08-17 14:38



কবজ ভালো কাজ করে! আপনি এটি ভালো চলমান: $ weex yourFTPconfigName এখানে ম্যানুয়াল linuxcertif.com/man/1/weex - sobi3ch


rsync ftp উপর কাজ করে না। রিমোট পার্শ্বে এটি either rsync daemon বা শেলের প্রয়োজন যা এটি থেকে rsync কল করতে পারে। Ftp সাধারণত আপনি কয়েক কমান্ড কল করতে পারবেন এবং rsync তাদের মধ্যে একটি নয়। "Lftp" মত ftp কাজগুলি স্বয়ংক্রিয়ভাবে করার জন্য অন্যান্য সরঞ্জাম রয়েছে।


9
2018-06-12 10:03





এটি একটি ভাল এবং বিনামূল্যে উপযুক্ত মত মনে হয়: https://savannah.gnu.org/projects/ftpsync/


8
2018-06-12 15:02



এর steaming গাদা দেওয়া চি-টাচ-সঙ্গে-দশ ফুট মেরু SourceForge সম্প্রতি পরিণত হয়েছে, সম্ভবত আপনি লিঙ্ক আপডেট করা উচিত প্রকল্প এর ওয়েব পেজ। - HopelessN00b


এটি প্রদর্শিত হওয়ার জন্য আপনি কী করার চেষ্টা করছেন, আপনি wget ব্যবহার করতে পারেন।

wget-এম FTP: // ব্যবহারকারীর নাম: password@domain.com


7
2018-02-25 18:12



যে শুধুমাত্র সাইটের একটি আয়না করা হবে। আপনি আপনার পরিবর্তন আপলোড করার জন্য এই ব্যবহার করতে পারবেন না। - David V.


আপনি ftp মাউন্ট করতে এবং rsync ব্যবহার করার জন্য curlftpfs ব্যবহার করতে পারেন http://linux.die.net/man/1/curlftpfs


5
2017-12-09 21:47



সার্ভারফুট স্বাগতম! এটি একটি ভাল শুরু হতে পারে, তবে কেন এটি একটি ভাল পদ্ধতির জন্য আরও কিছু প্রযুক্তিগত বিশদ, এবং সম্ভবত এটি কীভাবে করা যায় তার উপর একটি আপত্তিজনক, যুক্তিযুক্ত হতে পারে। - Scott Pack