আমি কীভাবে সমস্ত উপ-ডিরেক্টরিগুলি বাদ দিতে পারি তবে আরএসইএনসি-তে একটি ডিরেক্টরিের ফাইল অন্তর্ভুক্ত করতে পারি?


13

আমি আমার উবুন্টু সিস্টেমটি ব্যাকআপ করতে চাই এবং যত্ন নেওয়ার জন্য আমার দুটি পার্টিশন রয়েছে: একটি হ'ল /অন্যটি /home

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

এর প্রায় /home, এটা অনেক সাবডিরেক্টরি যে আমি সম্পর্কে অনেক তাই আমি সম্ভবত তাদের অন্তর্ভুক্ত করবেন করব পরোয়া করি না, কিন্তু আমি যেমন মত সেখানে ফাইল, সম্পর্কে দেখাশোনা করতে চাই .bash_history, .bashrc, .face, ইত্যাদি।

সুতরাং আমি ফাইলগুলি অন্তর্ভুক্ত করার সময় সমস্ত উপ ডিরেক্টরিকে বাদ দিতে চাই /home। আমি কীভাবে এটি অর্জন করতে পারি?

--exclude "*/"কাজ করছিল না "/*/", "/**/", --include "*" --exclude */আমাকে দেখাবেন না আমি কি চাই। অন্তত এটির ভিতরে কোনও কিছু অনুলিপি না করে উত্স ফোল্ডারটি অনুলিপি করেছে।

উত্তর:


17

এই আদেশটি ব্যবহার করে দেখুন:

rsync -a -f"- */" -f"+ *" /home/user/ destination/

man rsync

-f, --filter=RULE           add a file-filtering RULE

সমস্ত ফাইল অন্তর্ভুক্ত *এবং ডায়ারগুলি বাদ দেওয়ার নিয়ম*/

নিয়মিত অনুলিপি ব্যবহার করার জন্য আরেকটি পদ্ধতি cp

cp /home/usr/* /destination

পুনঃনির্দেশ ব্যবহার করে আপনি ডায়ার সম্পর্কে ত্রুটিগুলি থেকে মুক্তি পেতে পারেন

cp /home/usr/* /destination 2>/dev/null

এটি কেবল ডিরেক্টরিগুলি ছাড়াই আপনার বাড়ির ভিতরে থাকা ফাইলগুলি অনুলিপি করবে


/ proc এর ভার্চুয়াল অবাস্তব ফাইল সিস্টেম রয়েছে, আপনার এটি ব্যাকআপ থেকে বাদ দেওয়া উচিত, এছাড়াও আপনাকে / tmp এবং / রান বাদ দিতে হবে
মেথাক্স

জিনিসগুলির ব্যাক আপ করার জন্য আমার আসল আদেশটি এরকম ছিল:rsync -r -t -p -o -g -v --progress --delete --modify-window=1 -l -H -b -s --exclude home/dinir/ --exclude media/ --exclude proc/kcore / /home/dinir/Temporal Site for Storing Backups
দিনীর

/ proc, / tmp, এবং / রান, চেক! যাইহোক, আপনি আমার মন্তব্যে যেমন দেখেন, আমি অল্প ব্যতিক্রম ছাড়া হোম ডিরেক্টরি বাদ দিয়ে পুরো রুট ফাইল সিস্টেমকে ব্যাকআপ করেছিলাম। হায় নির্বাণ -f" */" -f"+ *"আমার কোড নিরাপদ হবে? এরকম হতে পারে -f"- home/dinir/*/" -f"+ home/dinir/*"?
দিনীর

আপনার এটির মতো ব্যবহার করা উচিত-f"- home/dinir/*/" -f"+ home/dinir/*"
মেথাক্স

তবে আমি আপনার বাড়ির জন্য সিপি ব্যবহার করার পরামর্শ দিচ্ছি, এটি অনেক সহজ
মেথাক্স

3

আপনি যদি --includeএবং --excludeপরামিতিগুলির সাথে এটি সমাধান করতে চান তবে আপনার ক্রমটি পরিবর্তন করা উচিত: প্রথমে আপনি যা চান তা বাদ দিন, তারপরে সবকিছু অন্তর্ভুক্ত করুন। আমি সাধারণত এই আদেশ দিয়ে করি:

rsync -vazhP path/to/source path/to/dest --exclude '*/*/' --include '*'

2

ডিফল্টরূপে, rsyncডিরেক্টরিগুলি অনুলিপি করে না। সম্ভবত আপনি -aপতাকা ব্যবহার করছেন । এই যদি হয় তাহলে, বিজ্ঞপ্তি যে অনুযায়ী man পৃষ্ঠা , -aসমতূল্য -rlptgoD, তাই আপনি যদি recurse চাই না, শুধু ব্যবহার -lptgoD


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