یک اسکریپت 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 می‌توانید قبل از اضافه کردن فایل‌ها به آرشیو به دایرکتوری موردنظر بروید تا مسیرهای داخل آرشیو مرتب شوند. در پایان وضعیت خروجی دستورات را بررسی کرده و در صورت نیاز پیام خطا یا موفقیت چاپ کنید.

توسط پژوهشگر در 201 روز قبل ساعت 03:32
دسته بندی ها: Bash Scripting Bash Scripting for beginner
sara در 201 روز قبل ساعت 06:07

برای مطمئن شدن از کار با فایل‌های با نام‌های حاوی فاصله یا کاراکترهای ویژه، از find . -name '*.log' -print0 و tar --null -czf ... -T - استفاده کنید تا فهرست فایل‌ها به‌درستی از هم جدا شوند. با گزینه -C می‌توانید قبل از اضافه کردن فایل‌ها به آرشیو به دایرکتوری هدف بروید تا مسیرهای داخل آرشیو مرتب باقی بمانند. نام آرشیو را با تاریخ با فرمت سال-ماه-روز در نظر بگیرید تا نسخه‌های مختلف به‌راحتی تفکیک شوند. در پایان خروجی دستورات را چک کنید و در صورت وجود خطا پیام واضحی چاپ کنید تا عملیات با اطلاع‌رسانی روشن باشد.

گزارش

1 پاسخ

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

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