গন্তব্য ডিরেক্টরিতে সামগ্রীর স্থান না নিয়ে আমি কীভাবে একটি সম্পূর্ণ ডিরেক্টরিকে একই নামের একটি ডিরেক্টরিতে অনুলিপি করব? (পরিবর্তে, আমি গন্তব্য ফোল্ডারের সামগ্রীগুলিতে যুক্ত করতে চাই)
গন্তব্য ডিরেক্টরিতে সামগ্রীর স্থান না নিয়ে আমি কীভাবে একটি সম্পূর্ণ ডিরেক্টরিকে একই নামের একটি ডিরেক্টরিতে অনুলিপি করব? (পরিবর্তে, আমি গন্তব্য ফোল্ডারের সামগ্রীগুলিতে যুক্ত করতে চাই)
উত্তর:
আপনি যদি কেবল মূল ডিরেক্টরিতে নতুন যে ফাইলগুলি আপডেট করতে চান বা ইতিমধ্যে গন্তব্যে বিদ্যমান সমস্ত ফাইল এড়িয়ে যেতে চান তবে ব্যবহার করুন rsync
এবং পাস করুন ।-u
--ignore-existing
rsync -au /local/directory/ host:/remote/directory/
rsync -a --ignore-existing /local/directory/ host:/remote/directory/
( /
উত্স দিকে নোট করুন : এটি rsync
তৈরি না করে /remote/directory/directory
))
--ignore-existing
প্রতিস্থাপন না করে যোগ করে, আপনি কোন ডেটা ক্ষতি দেখেন?
rsync
সহজে উপলব্ধ না হলে এটি সাহায্য করে না .... (উইন 32-ওপেনএসএইচ এর মত)
--rsync-path
এটি প্রয়োজন)
আপনার কাছে লেখার অনুমতি থাকলে scp ফাইলগুলি ওভাররাইট করে।
অন্য কথায়: আপনি scp
ফাইলগুলিকে সাময়িকভাবে লেখার অনুমতিগুলি মুছে ফেলার মাধ্যমে কার্যকরভাবে এড়িয়ে যেতে পারেন (যদি আপনি ফাইলগুলির মালিক হন তবে তা)।
scp -r user@server.com:/location/of/files/* /local/location/
আপনি তারিখ দ্বারা শুধুমাত্র নতুন ফাইল অনুলিপি করতে পারেন। ব্যবহারfind
scp `find /data/*.gz -type f -mtime +7` USER@SERVER:/backup/
আপনি যদি গন্তব্য ফাইলের সামগ্রীগুলি কেবল পঠন করতে পারেন:
find . -type f -exec chmod a-w '{}' \;
চালানোর আগে scp
(এটি অভিযোগ করবে এবং বিদ্যমান ফাইলগুলি এড়িয়ে যাবে)।
এবং সেগুলি পরে পরিবর্তন করুন ( chmod +w
উমাস্ক ভিত্তিক মান পেতে)। আপনার উমাস্ক অনুসারে যদি ফাইলগুলির সকলের লেখার অনুমতি না থাকে তবে আপনাকে কোনওভাবে অনুমতিগুলি সংরক্ষণ করতে হবে যাতে আপনি সেগুলি পুনরুদ্ধার করতে পারেন।
(গিলসের উত্তর বিদ্যমান ফাইলগুলি নতুনতর হলে ওভাররাইট করে দেয়, আমি সেভাবে মূল্যবান ডেটা হারিয়েছি that কেন ভুল এবং ক্ষতিকারক উত্তরে এত বেশি ভোট রয়েছে তা বুঝতে পারছি না)।
rsync --ignore-existing
আপনাকে ডেটা হারাতে হয়েছিল?
find: missing argument to '-exec'
এই কমান্ড ব্যবহার করে, এবং এর পরিবর্তে ব্যবহার করার জন্য ছিল: find . -type f -exec chmod a-w {} \;
। আমার লিনাক্স খারাপ, ymmv।
find . -type f -exec chmod a-w {} \;
আমি একটি অনুরূপ কাজের ছিল, আমার ক্ষেত্রে আমি ব্যবহার করতে পারি নি rsync
, csync
অথবা ফিউজ কারণ আমার স্টোরেজ শুধুমাত্র এসএফটিপি হয়েছে। rsync
ফাইলটির তারিখ এবং সময় পরিবর্তন করতে পারেনি, কিছু অন্যান্য ইউটিলিটিস (যেমন csync
) আমাকে অন্যান্য ত্রুটিগুলি দেখিয়েছিল: " অস্থায়ী ফাইল তৈরি করতে অক্ষম ক্লক স্কিউ সনাক্ত হয়েছে "।
আপনার যদি স্টোরেজ-সার্ভারে অ্যাক্সেস থাকে - কেবল এখানে ডেমন হিসাবে ইনস্টল করুন openssh-server
বা লঞ্চ rsync
করুন।
আমার ক্ষেত্রে - আমি এটি করতে পারিনি এবং সমাধানটি ছিল: lftp । lftp
সিঙ্ক্রোনাইজেশনের জন্য ব্যবহার নীচে:
lftp -c "open -u login,password sftp://sft.domain.tld/; \
mirror -c --verbose=9 -e -R -L /srs/folder /rem/folder"
/src/folder
- আমার পিসির ফোল্ডারটি /rem/folder
হ'ল - sftp://sft.domain.tld/rem/folder
।
আপনি লিঙ্কটি দ্বারা ম্যান পেজগুলি পেতে পারেন: http://lftp.yar.ru/lftp-man.html
পুরো একগুচ্ছ ফাইল অনুলিপি করতে, এগুলি দ্রুত বাড়ানো দ্রুত। -কে ব্যবহার করে আপনি টার্গেট সিস্টেমে আনপ্যাক করে ফেলার ফাইলগুলি ওভাররাইট করা থেকে আটকাতে পারেন।
tar -c <source-dir> | ssh <name>@<host> 'tar -kxzf - -C <target-dir>'
scp
ফাইলগুলি ওভাররাইট করে এবং এটি করা বন্ধ করার কোনও সুইচ নেই, তবে আপনি জিনিসগুলি অনুলিপি করতে পারেন, স্কিপটি করতে পারেন এবং তারপরে বিদ্যমান ফাইলগুলি অনুলিপি করতে পারেন। উদাহরণ:
সমস্ত বিদ্যমান ফাইল অনুলিপি করুন
mkdir original_files ; cp -r * original_files/
Scp ব্যবহার করে সমস্ত কিছু অনুলিপি করুন
scp -r user@server:dir/* ./
Scp লিখেছেন যে কোনও কিছুতে আসল ফাইলগুলি অনুলিপি করুন:
cp -r original_files/* ./
এটি অর্জনের আরেকটি উপায় হ'ল ls
গন্তব্য ফোল্ডারে কাজ করা:
দূরবর্তী গন্তব্য ফোল্ডারে:
ls | awk '{print "mv " $1 " ../copied_data/"}' > mv_copied_data
scp mv_copied_data user@source.server.com:/path/to/source/folder
উত্স উপর:
cd /path/to/source/folder
chmod 777 mv_copied_data
./mv_copied_data
গন্তব্যস্থলে:
scp -r user@source.server.com:/path/to/source/folder /path/to/destination/foldeer
-
>
স্পেস নিউলাইন বা অন্যান্য বিশেষ অক্ষর থাকলে উত্তরটি বিপজ্জনক । ৩. পাইথন স্ক্রিপ্টের জন্য হার্ড-কোড একটি লুপ। রানটাইমের সময় একটি প্রোগ্রাম তৈরি করা বেশ জটিল এবং জটিল (পেশাদার প্রোগ্রামারদের দ্বারা করা হলেও) বেশ কয়েকটি কারণে। শেল স্ক্রিপ্ট তৈরি করা আরও খারাপ - একটি ভয়ঙ্কর ধারণা।