یک اسکریپت Bash بنویسید که تمام فایلهای با پسوند .log داخل یک دایرکتوری مشخص را پیدا کرده و در یک فایل فشرده tar.gz با نام شامل تاریخ ذخیره کند.
9.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:32 0.0
برای حل این مسئله میتوانید از ابزارهای استاندارد خط فرمان مانند find برای یافتن فایلها، tar با گزینه -czf برای ایجاد آرشیو فشرده tar.gz و دستور date برای تولید بخش تاریخ در نام فایل استفاده کنید. برای مقابله با نام فایلهایی که فاصله یا کاراکترهای ویژه دارند از گزینههایی مانند -print0 در find و --null و -T - در tar یا xargs -0 استفاده کنید؛ همچنین با استفاده از -C میتوانید قبل از اضافه کردن فایلها به آرشیو به دایرکتوری موردنظر بروید تا مسیرهای داخل آرشیو مرتب شوند. در پایان وضعیت خروجی دستورات را بررسی کرده و در صورت نیاز پیام خطا یا موفقیت چاپ کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای مطمئن شدن از کار با فایلهای با نامهای حاوی فاصله یا کاراکترهای ویژه، از find . -name '*.log' -print0 و tar --null -czf ... -T - استفاده کنید تا فهرست فایلها بهدرستی از هم جدا شوند. با گزینه -C میتوانید قبل از اضافه کردن فایلها به آرشیو به دایرکتوری هدف بروید تا مسیرهای داخل آرشیو مرتب باقی بمانند. نام آرشیو را با تاریخ با فرمت سال-ماه-روز در نظر بگیرید تا نسخههای مختلف بهراحتی تفکیک شوند. در پایان خروجی دستورات را چک کنید و در صورت وجود خطا پیام واضحی چاپ کنید تا عملیات با اطلاعرسانی روشن باشد.
گزارش