ضبط و پخش مجدد جلسات ترمینال لینوکس
موضوعاتی که در این مقاله به آنها پرداخته خواهد شد، به شرح زیر است:
آموزش ضبط و پخش مجدد جلسات ترمینال لینوکس
در این آموزش ضبط جلسات ترمینال لینوکس ، نحوه استفاده از دستورات script و scriptreplay را برای ضبط جلسات ترمینال لینوکس بررسی میکنیم تا بتوانید دستورات و خروجیهای نمایشدادهشده در ترمینال را در طول یک جلسه ثبت کنید.
دستور history ابزاری قدرتمند در خط فرمان است که به کاربران امکان میدهد دستورات قبلی را ذخیره کنند، اما نمیتواند خروجی دستورات را ثبت کند. در مقابل، دستور script به شما این امکان را میدهد که همه چیزهایی را که در ترمینال نمایش داده میشود، از جمله دستورات و خروجیها، در یک فایل ضبط کنید.
با مراجعه به این فایل، میتوانید در صورت نیاز خروجی یک دستور خاص را از تاریخچه ضبطشده مشاهده کنید. علاوه بر این، با استفاده از دستور scriptreplay و اطلاعات زمانی، میتوانید دستورات ضبطشده را به همان ترتیب پخش مجدد کنید.
آموزش ضبط یک ترمینال در لینوکس
اگر میخواهید در لینوکس یک تایپاسکریپت (ثبت جلسه ترمینال) ایجاد کنید، میتوانید از دستور script استفاده کنید. این دستور یک جلسهی شل جدید راهاندازی میکند و تمام آنچه روی ترمینال نمایش داده میشود، از جمله ورودی و خروجی، را در یک فایل با نام مشخصی ضبط میکند.
script my_terminal_session.txt
پس از اجرای دستور script، شما به نشانهگذاری ترمینال منتقل خواهید شد، جایی که میتوانید دستورات مختلفی را اجرا کنید و جلسه ترمینال شما در فایل “my_terminal_session.txt” ضبط خواهد شد.
اکنون سعی کنید چند دستور را اجرا کنید تا به اسکریپت این امکان را بدهید که دستورات اجرا شده در ترمینال را ثبت کند.
پ.ن
آیا نیاز به خرید سرور مجازی ایران دارید؟ لطفا بر روی لینک اون کلیک کنید! اگر نیاز به سرور ایران با آی پی تمیز و بدون محدودیت دارید کلیک کنید.
cal w uptime whoami pwd
برای متوقف کردن ضبط، به سادگی کلمه exit را تایپ کنید یا از کلیدهای ترکیبی Ctrl+D استفاده کنید.
exit
بررسی لاگ ضبط شده با اسکریپت: مشاهده دستورات و جزئیات
اکنون سعی کنید فایل لاگ “my_terminal_session.txt” را برای مشاهده تمام دستورات ضبط شده بررسی کنید. در حین مشاهده لاگ، متوجه خواهید شد که اسکریپت همچنین خطهای جدید و کلیدهای بکاسپیس را نیز ذخیره میکند.
vi my_terminal_session.txt
شما میتوانید از گزینه -a برای الحاق به فایل لاگ یا تایپاسکریپت استفاده کنید و محتوای قبلی را حفظ کنید.
script -a my_terminal_session.txt vi my_terminal_session.txt
برای ثبت نتایج یک دستور منفرد به غیر از یک جلسه شل تعاملی، میتوانید از گزینه -c استفاده کنید.
script -c 'hostname' script.log
برای تنظیم اطلاعات زمانی به خروجی استاندارد یا یک فایل، از گزینه –timing استفاده کنید. اطلاعات زمانی زمانی مفید است که بخواهید خروجی ذخیرهشده در فایل لاگ را دوباره نمایش دهید.
بیایید اسکریپت را شروع کنیم و دستورات زیر را اجرا کنیم: w، uptime و cal تا ضبط شوند.
script --timing=time.txt script.log
شما میتوانید فایلهای script.log و time.txt را برای مشاهده نتایج دستور زمانی که در بالا ذکر شد، بررسی کنید.
vi script.log
اکنون فایل time.txt را بررسی کنید.
vi time.txt
فایل time.txt دارای دو ستون است: ستون اول مدت زمان سپری شده از آخرین نمایش را نشان میدهد و ستون دوم تعداد کاراکترهایی را که در آن مرحله نمایش داده شدهاند، مشخص میکند.
برای دریافت اطلاعات بیشتر و استفاده از گزینههای مختلف دستور script، میتوانید به صفحه راهنما (man page) مراجعه کنید یا از گزینه –help بهره ببرید.
آموزش پخش مجدد جلسه ضبط شده ترمینال در لینوکس
دستور scriptreplay در آموزش ضبط جلسات ترمینال لینوکس به شما این امکان را میدهد که اطلاعات ثبتشده در فایل لاگ ضبطشده با دستور script را بازپخش کنید. زمانبندی اجرای دستورات توسط گزینه -timing=file تنظیم میشود؛ این فایل زمانبندی با دستور script و در هنگام ضبط ایجاد شده و در اینجا به فایل script.log که توسط دستور script ایجاد شده است، ارجاع داده میشود.
scriptreplay --timing=time.txt script.log
زمانی که فایل لاگ با استفاده از اطلاعات زمانی پخش مجدد میشود، دستورات ضبطشده به همان ترتیبی که در حین ضبط اجرا شده بودند، اجرا میشوند و خروجی آنها دقیقاً مطابق با زمانبندی اصلی نمایش داده میشود.
جمعبندی:
دستورات script و scriptreplay در آموزش ضبط جلسات ترمینال لینوکس ابزارهای کارآمدی هستند که استفاده از آنها بسیار ساده است و در مواقعی که نیاز به اجرای مجدد یک دسته از دستورات دارید، کمک شایانی میکنند.
این ابزارها به ویژه در مدیریت سرورهایی که تنها از رابط خط فرمان برای تعامل با سیستم استفاده میکنند، بسیار مؤثر و سودمند هستند. امیدواریم این راهنما برای شما مفید بوده باشد. در صورتی که نظری دارید یا با چالشی در حین استفاده از این دستورات مواجه شدید، لطفاً بدون تردید نظر خود را با ما در میان بگذارید.