ফাইল পরিবর্তন পর্যবেক্ষণ + ফাইলগুলিতে প্রক্রিয়া অ্যাক্সেস


19

আমি আমার অ্যাপ্লিকেশন সার্ভার ফোল্ডারে কী ঘটছে তা দেখতে চাই, উদাহরণস্বরূপ কোন ফাইলগুলি প্রসেস x *.warদ্বারা পরিবর্তন করা হয়েছে বা কোন ফাইলগুলি সর্বশেষ x মিনিটের মধ্যে পরিবর্তন করা হয়েছে (প্রতিস্থাপন / তৈরি করা হয়েছে)।

এটিতে সহায়তা করার জন্য লিনাক্সের কোনও সরঞ্জাম আছে?



1
আমি গুগল অনুসন্ধানের মাধ্যমে এই প্রশ্নটি পেয়েছি, তবে আমি আমার উত্তরটি এখানে পেয়েছি: unix.stackexchange.com/questions/18844/…
কোয়ান্টিন

সিস্টেমট্যাপটি একবার দেখুন। uselessuseofcat.com/?p=281
স্টিভ

উত্তর:



14

নির্দিষ্ট চলমান সফ্টওয়্যারটির ক্রিয়াগুলি পরীক্ষা করার জন্য স্ট্রেস (উপরে বর্ণিত হিসাবে বর্ণিত) একটি উপায়।

কিছু আদেশ যেমন watch find dir/ -mmin 1কিছু ডিরেক্টরিতে বিগত মিনিটের পরিবর্তনগুলি পরীক্ষা করতে সহায়তা করে।

আপনি ঠিক যা খুঁজছেন তার উপর নির্ভর করে ইনোটিফাই-সরঞ্জামগুলি সম্ভবত এখানে বাণিজ্যের অন্য একটি সরঞ্জাম।

উদাহরণস্বরূপ, inotifywait -mr dir/প্রদত্ত ডিরেক্টরিতে পরিবর্তনগুলি নিরীক্ষণ করে এবং তাত্ক্ষণিকভাবে কোনও ফাইল খুলতে / পড়তে / লিখতে / বন্ধ করার চেষ্টা করা কোনও অ্যাপ্লিকেশনের প্রতিক্রিয়া জানায়। যাইহোক, ইনোটিফাই কোনও অ্যাপ্লিকেশন বা প্রক্রিয়া ফাইলটিতে অ্যাক্সেস করছে সে সম্পর্কে আপনাকে প্রতিক্রিয়া জানায় না - এটি স্ট্রেস কিছু করে।

দয়া করে জেনে থাকুন যে সিস্টেম-স্তরের পর্যবেক্ষণটি কিছু অ্যাপ্লিকেশন ধারক পরিবেশে চলমান জাভা সফ্টওয়্যারগুলির জন্য সীমিতভাবে ব্যবহৃত হয়, কারণ আপনি কেবলমাত্র ধারকটি (যেমন টমক্যাট) দেখতে পাচ্ছেন, তবে প্রকৃত অ্যাপ্লিকেশনটি (যেমন .war) সিস্টেমের সাথে ইন্টারঅ্যাক্ট করছেন না।


8

Lsof দ্বারা প্রক্রিয়া দ্বারা কোন ফাইল অ্যাক্সেস করা হয়েছে সে সম্পর্কে আপনি তথ্য পেতে পারেন :

 lsof -n -p `pidof your_app`

এবং ভাইস শ্লোক, আপনি যে প্রক্রিয়াটি লিখতে / কিছু ফাইলে পড়তে পারেন তার স্তম্ভ পেতে পারেন:

 lsof -n -t file

6

আপনি straceকোনও প্রক্রিয়াটির সমস্ত সিস্টেম-কলগুলি পর্যবেক্ষণ করতে ব্যবহার করতে পারেন , এতে সমস্ত ফাইল অ্যাক্সেস অন্তর্ভুক্ত রয়েছে।

কোনও প্রোগ্রাম শুরু করার সময়:

$ strace ./myserver

আপনি এটির পিআইডি দিয়ে কোনও চলমান প্রক্রিয়াতে স্ট্রেস সংযুক্ত করতে পারেন:

$ ps aux | grep myserver
me      1859  0.0  0.0  25288   424 ?        Ss   Sep02   0:00 myserver
$ strace -p 1859

পিআইডি দ্বারা নয় ফোল্ডার দ্বারাও নজরদারি করা দুর্দান্ত হবে, আপনাকে ধন্যবাদ। বিটিডাব্লু স্ট্রেস-পি পিআইডি উবুন্টুতে আমার জন্য কাজ করে।
মার্টিন ভি।

0

watch find dir/ -mmin 1 আমার পক্ষে কাজ করে নি, কেবল অনুলিপি এবং ভিন্নতা কী ছিল:

cp -r dir /tmp/olddir
# initialize/whatever
diff -r dir /tmp/olddir

এটি বেশ উত্স-নিবিড়, তবে এটি স্ন্যাপশট এবং diffসময়ের মধ্যে সমস্ত পরিবর্তন দেখায় ।

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