جستجوی فایل بر اساس زمان در لینوکس
در مدیریت سرورهای لینوکسی، یکی از نیازهای رایج، جستجوی فایل ها بر اساس زمان دسترسی (Access Time)، تغییر محتوا (Modification Time) و تغییر متادیتا (Change Time) است. این موضوع به ویژه در عیب یابی، بررسی تغییرات ناخواسته یا تحلیل امنیتی اهمیت زیادی دارد. دستور find یکی از پرکاربردترین ابزارها برای این منظور است.
جستجو بر اساس زمان تغییر (Modification Time)
آپشن mtime- در دستور find امکان جستجو بر اساس زمان آخرین تغییر محتوای فایل را فراهم می سازد.
فایل هایی که دقیقاً n روز قبل تغییر کرده اند:
find /path/to/search -mtime n
در طی این آموزش، به جای path/to/search/ مسیری که می خواهید در آن جستجو انجام شود و به جای n عدد روز مورد نظر را باید وارد نمایید.
مثال:
find /var/www -mtime 2
دستور فوق فایل هایی که در مسیر مشخص شده دقیقاً ۲ روز قبل تغییر کرده اند را نمایش میدهد.
فایل هایی که در کمتر از n روز گذشته تغییر کرده اند:
find /path/to/search -mtime -n
مثال:
find /etc -mtime -1
دستور فوق فایل هایی که در مسیر مشخص شده در ۲۴ ساعت گذشته تغییر کرده اند را نمایش میدهد.
فایل هایی که بیش از n روز قبل تغییر کرده اند:
find /path/to/search -mtime +n
مثال:
find /home -mtime +30
دستور فوق فایل هایی که در مسیر مشخص شده بیش از ۳۰ روز قبل تغییر یافته اند را نمایش میدهد.
جستجو بر اساس زمان دسترسی (Access Time)
آپشن atime- برای جستجو بر اساس آخرین زمان دسترسی به فایل مورد استفاده قرار می گیرد.
find /var/log -atime -7
دستور فوق فایل هایی که در مسیر var/log/ در یک هفته گذشته به آنها دسترسی پیدا شده است را نمایش میدهد.
جستجو بر اساس تغییرات متادیتا (Change Time)
آپشن ctime- مربوط به تغییرات در اطلاعات متادیتا فایل (مانند سطح دسترسی یا مالکیت) است.
find /etc -ctime -2
دستور فوق فایل هایی که طی ۲ روز گذشته تغییرات سیستمی (نه لزوما محتوایی) داشته اند را نمایش میدهد.