সমস্ত পার্টিশনের পরিবর্তে কেবল একটি পার্টিশন সিঙ্ক করার কোনও উপায় আছে কি?
"সিঙ্ক / ডেভ / এসডিসি 1" এর মতো কিছু।
সমস্ত পার্টিশনের পরিবর্তে কেবল একটি পার্টিশন সিঙ্ক করার কোনও উপায় আছে কি?
"সিঙ্ক / ডেভ / এসডিসি 1" এর মতো কিছু।
উত্তর:
আপনি সিঙ্ক বিকল্পের সাথে পুনঃমাউন্ট করতে পারেন এবং তারপরে এ্যাসিঙ্কের সাথে পুনরায় এটি পুনঃনির্মাণ করতে পারেন:
mount -o remount,sync /mountpoint
mount -o remount,async /mountpoint
রিমাউন্ট বিকল্পটি ব্যবহার করা পুনরায় সঞ্চিত ফাইল সিস্টেম ব্যবহার করে প্রক্রিয়াগুলিতে গোলমাল করবে না।
সেখানে এক ফাইলের সিংক্রোনাইজ তথ্য (এবং মেটাডেটা) এর একটি প্রমিত ফাংশন: fsync
। এটি অ্যাক্সেসের জন্য কোনও স্ট্যান্ডার্ড বা সাধারণ শেল কমান্ড নেই তবে আপনি পার্লের sync
পদ্ধতিটি এতে ব্যবহার করতে পারেন IO::Handle
:
perl -MIO::File -e 'new IO::File($ARGV[0], "r+")->sync()' filename
একটি মাত্র পার্টিশন সিঙ্ক্রোনাইজ করার জন্য কোনও মানক বা সাধারণ ফাংশন বা শেল কমান্ড নেই।
উপর সাম্প্রতিক লিনাক্স অপারেটিং সিস্টেমে , নেই syncfs
সিস্টেম কল (কার্নেল 2.6.39 চালু এবং যেহেতু উন্মুক্ত জন্য glibc 2.14 )। আমি মনে করি না এই সিস্টেম কলটি এখনও কোর্টিলস বা ইউজু-লিনাক্সে উন্মুক্ত হয়েছে।
syncfs
সবচেয়ে প্রাসঙ্গিক অংশ।
আপনি যদি সেই sync
ইউটিলিটিটি বোঝেন যা মেমরিতে ডিস্কে ডেটা ফ্লাশ করে, তবে উত্তরটি নেই। এটি sync
সাধারণত শাটডাউন বা পুনরায় বুট প্রক্রিয়া চলাকালীন ব্যবহৃত হয়, যেখানে ডিস্কে নিরাপদে লেখা ডেটা পাওয়ার পরামর্শ দেওয়া হয় এবং অপারেশনের আসল লক্ষ্য মেমরি, ডিস্কগুলি নয় এবং র্যামের বাইরে থাকা বাফার ডেটা পাওয়া getting নিরাপদ কোথাও। ডিস্কগুলি ঠিক যেখানে ডেটা শেষ হয়।