یک اسکریپت Bash بنویسید که هر روز ساعت ۱ بامداد اندازهٔ دایرکتوری /home/youruser را با دستور du محاسبه کند و نتیجه همراه با تاریخ در فایل /home/youruser/space_report.log ذخیره کند، سپس با crontab این اسکریپت را زمانبندی کنید.
11.0 بازدید آخرین ویرایش در 199 روز قبل ساعت 23:39 0.0
برای حل، یک فایل اسکریپت با شِبانگ (مثلاً #!/bin/bash) ایجاد کنید که از دستور date و du -sh استفاده کرده و خروجی را با عملگر >> به فایل گزارش اضافه کند؛ اسکریپت را قابل اجرا (chmod +x) کنید و مسیر کامل دستورات و فایلها را در اسکریپت به کار ببرید. سپس با اجرای crontab -e یک ورودی زمانبندی مانند "0 1 * * * /home/youruser/your_script.sh" اضافه کنید تا هر روز ساعت ۱ بامداد اجرا شود. نکات مفید: از مسیرهای مطلق استفاده کنید، اسکریپت را دستی اجرا و خطاها را بررسی کنید، در صورت نیاز متغیر PATH را در crontab یا ابتدای اسکریپت تنظیم کنید و اجازهها (permissions) را به درستی تنظیم نمایید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکته: همیشه از مسیرهای مطلق برای دستورات و فایلها داخل اسکریپت استفاده کنید (مثلاً /usr/bin/du و /bin/date) تا cron که محیط PATH متفاوت دارد باعث خطا نشود. خروجی خطاها را نیز به همراه خروجی استاندارد به فایل گزارش منتقل کنید یا متغیر PATH را در بالای اسکریپت تنظیم کرده و قبل از زمانبندی اسکریپت را دستی اجرا و لاگها را بررسی کنید. برای جلوگیری از رشد بیپایان فایل گزارش، از ابزارهایی مانند logrotate یا مکانیزم چرخش ساده (حذف/فشردهسازی قدیمیها) استفاده کنید.
گزارش