ডিরেক্টরিতে সম্পাদিত সমস্ত ইভেন্ট কীভাবে লগ করবেন?


12

আমি কোনও বিশেষ ডিরেক্টরিতে সম্পাদিত সমস্ত ইভেন্ট কীভাবে লগ করতে পারি?

আমি কিছু ডিরেক্টরি সময়কালের মধ্যে পরিবর্তিত প্রতিটি ডিরেক্টরি এন্ট্রি লগ করতে চান। আমি find . -type d -mmin -5কমান্ড ব্যবহার করছি ।

এগুলি ছাড়াও, আমি আরও বিশদ রাখতে চাই, যখন কোনও ডিরেক্টরি অন্য কোনও জায়গায় স্থানান্তরিত হয়, আমাকে নীচের লগের বিশদ যুক্ত করতে হবে, যেমন,

ডিরেক্টরি "xyz" "home / usr / xyz" => থেকে "হোম / usr / নথি / xyz" এ সরানো হয়েছে

উত্তর:


9

যদি ব্যবহার করে থাকেন Linux, আপনার inotifywaitকমান্ডটি চেষ্টা করা উচিত , এটি ফাইল বা ডিরেক্টরিতে ঘটনা শোনার জন্য ডিজাইন করা হয়েছে।

inotifywait -m -r /dir

whileআউটপুট ফিল্টার করতে আপনি তার উপর একটি লুপ ব্যবহার করতে পারেন ।

তদুপরি, এটি খুব হালকা: poll()প্রতিটি এন সেকেন্ডের দরকার নেই , এটাই সমস্ত ম্যাজিক।

Http://inotify-tools.sourceforge.net/ দেখুন


ইউআরএল প্রকল্পের ডক যুক্ত করা হয়েছে।
গিলস কুইনট

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