یک اسکریپت 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) را به درستی تنظیم نمایید.

توسط پژوهشگر در 199 روز قبل ساعت 23:39
دسته بندی ها: Bash Scripting Bash Scripting for beginner
arman در 199 روز قبل ساعت 23:40

نکته: همیشه از مسیرهای مطلق برای دستورات و فایل‌ها داخل اسکریپت استفاده کنید (مثلاً /usr/bin/du و /bin/date) تا cron که محیط PATH متفاوت دارد باعث خطا نشود. خروجی خطاها را نیز به همراه خروجی استاندارد به فایل گزارش منتقل کنید یا متغیر PATH را در بالای اسکریپت تنظیم کرده و قبل از زمان‌بندی اسکریپت را دستی اجرا و لاگ‌ها را بررسی کنید. برای جلوگیری از رشد بی‌پایان فایل گزارش، از ابزارهایی مانند logrotate یا مکانیزم چرخش ساده (حذف/فشرده‌سازی قدیمی‌ها) استفاده کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری