সিপির পরিবর্তে লিনাক্সে খোলা তবে মুছে ফেলা ফাইলটি কীভাবে পুনরুদ্ধার করবেন?


8

আমার কাছে একটি ফাইল রয়েছে যা ডাউনলোড করছে (এমন উত্স থেকে যা পুনরায় ডাউনলোড করা কঠিন) তবে দুর্ঘটনাক্রমে ফাইল সিস্টেমের নামস্থান (/ টিএমপি / ব্লাহ) থেকে মুছে ফেলা হয়েছে এবং আমি এই ফাইলটি পুনরুদ্ধার করতে চাই।

সাধারণত আমি ঠিক করতে পারি cp /proc/$PID/fd/$FD /tmp/blah, তবে এই ক্ষেত্রে এটি আমাকে কেবল একটি আংশিক স্ন্যাপশট পেতে পারে, যেহেতু ফাইলটি এখনও ডাউনলোড হচ্ছে। তদ্ব্যতীত, ডাউনলোড শেষ হয়ে গেলে ডাউনলোড প্রক্রিয়া (যেমন ক্রোম) এফডি বন্ধ করে দেবে।

ইনোড দিয়ে পুনরুদ্ধার করার / কোনও হার্ড লিঙ্ক তৈরি করার কোনও উপায়? অন্য কোন সমাধান? যদি এটি কোনও পার্থক্য করে তবে আমি মূলত ext4 নিয়ে উদ্বিগ্ন।

উত্তর:


11

ক্রমাগত ফাইল অনুলিপি করতে লেজ ব্যবহার করার চেষ্টা করুন:

tail -c +0 -f /proc/$pid/fd/$fd > filename

অবশ্যই ডাউনলোডটি শেষ হয়ে গেলে আপনাকে লেজ প্রক্রিয়াটি হাতে (বা অন্য কোনও বাহ্যিক উপায়) বন্ধ করতে হবে।


একটি যাদুমন্ত্র মত কাজ করে. আমার ধারণা, এটি আমার চেয়ে অনেক সহজ ছিল, যেহেতু আপনার যা দরকার তা হ'ল কেবলমাত্র অন্য একটি প্রোগ্রাম যা এটি একই ফাইলটিকে চারপাশে রাখার জন্য খোলে।
ইয়াং

4

Fdlink প্রকল্প, একটি Linux কার্নেল মডিউল এবং সহজ আবেদন সমন্বয়ে গঠিত প্রচরেই একটি খোলা ফাইল বর্ণনাকারী একটা নতুন লিঙ্ক তৈরি করুন। আমি চেষ্টা করে দেখিনি।


1

এটি কাজটি সম্পন্ন করবে, যদিও ইনড পুনরুদ্ধার করে না:

cp /proc/$PID/fd/$FD /tmp/blah
kill $PID
wget -c $URL -O /tmp/blah

অথবা আপনি যদি পুরো ব্রাউজারটি হত্যা করতে না চান তবে ম্যানুয়ালি ক্রোমে ডাউনলোড ডাউনলোড করুন।


যদি সমস্যাটি এত সহজ ছিল যে আমি কেবল পুনরায় শুরু করতে পারি / / পুনরায় ডাউনলোড করতে পারি! আমি পুনরায় ডাউনলোড করতে পারি বলে ধরে নিতে পারি না এমন ইঙ্গিত দিতে আমি প্রশ্নটি পরিষ্কার করে দিয়েছি।
ইয়াং

সমস্যার মতো শোনাচ্ছে :-) দেখে মনে হচ্ছে যে কোনও ইনোড-ভিত্তিক হ্যাকগুলি খুব নিম্ন-স্তরের এবং ফাইল সিস্টেম-নির্দিষ্ট।
পাভেল

হ্যাঁ, আমি আমার প্রশ্নের সাথে এটি আরও যুক্ত করেছি: যদি এটির কোনও তফাত হয় তবে আমি মূলত ext4 নিয়ে উদ্বিগ্ন।
ইয়াং

1

আপনি যদি এটির জন্য একটি হার্ড লিঙ্কটি করতে চান, আপনাকে এফডি man lnডিরেক্টরিতে চালিত -s বিকল্পটি (দেখুন ) ব্যবহার করতে ls -fহবে এবং ফাইল সংখ্যাটি (বেশিরভাগ দুই-অঙ্কের সংখ্যা) খুঁজে বের করতে হবে এবং একটি তৈরি করতে হবেln NUMBER destination-file -s

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