منبع اصلی نوشتار زیر در این لینک قرار دارد

tail و باقی قضایا

قبلا درباره Log.io نوشته بودم. ابزار خوبیه ولی خوب سربار زیادی داره. دو تا پروسه، و یه بروزر که به تدریج مصرف رمش میره بالا :) خوب اینه که من مدتهاست استفاده از اونو کنار گذاشتم. ولی حقیقتا خیلی لازمم میشه که یه سری فایل رو مانیتور کنم. multitail گزینه خوبیه و اکثرا کارمو راه […] ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

نظارت همزمان بر چند فایل و دستور (MultiTail)

سلام،

بعد از مدت‌ها دوباره مطلبی در مورد برنامه‌های مفید موجود در لینوکس (و یونیکس) آماده کردم. در این مطلب به معرفی دستورات head، tail و نرم‌افزار MultiTail که برای نظارت (مونیتورینگ) دستورات و فایل‌ها به کار گرفته می شوند، پرداخته ام.


دستور head

این دستور برای بدست آوردن اطلاعات ابتدایی (خطوط) بالایی فایل و خروجی های پایپ شده کاربرد دارد. دستور head به صورت پیش فرض ۱۰ خط از اطلاعات را نمایش می دهد. نحوه استفاده از این دستور به صورت زیر است:
[bash]
head [options] <file_name>
[/bash]
و یا:
[bash]
command | head
[/bash]
مانند:
[bash]
ls -tl | head -n5
total 72
drwxr-xr-x+ 12 saeid staff 408 Jan 15 21:22 Desktop
drwx——+ 9 saeid staff 306 Jan 15 11:23 Downloads
drwx——@ 59 saeid staff 2006 Jan 11 23:05 Library
drwxr–r–+ 23 saeid staff 782 Jan 4 18:52 Documents
[/bash]

دستور tail

این دستور کاملا شبیه به دستور head است با این تفاوت که به جای خطوط ابتدایی، اطلاعات خطوط انتهایی را نمایش می دهد. مانند:
[bash]
man ls | tail -n15
SEE ALSO
chflags(1), chmod(1), sort(1), xterm(1), compat(5), termcap(5),
symlink(7), sticky(8)

STANDARDS
The ls utility conforms to IEEE Std 1003.1-2001 (“POSIX.1”).

HISTORY
An ls command appeared in Version 1 AT&T UNIX.

BUGS
To maintain backward compatibility, the relationships between the many
options are quite complex.

BSD May 19, 2002 BSD
[/bash]

پارامتر -f دستور tail

پارامتر -f دستور tail باعث می شود که این دستور به صورت زنده (live) باقی مانده و اطلاعات اضافه شده به فایل را در لحظه نشان دهد. این پارامتر بیشتر در بررسی فایل های لاگ استفاده می‌شود. مانند:
[bash]
tail -f -n5 /var/log/apache2/access_log
127.0.0.1 – – [15/Jan/2012:22:30:12 +0330] “GET /~saeid/ HTTP/1.1” 200 –
127.0.0.1 – – [15/Jan/2012:22:30:27 +0330] “GET /~saeid/phpinfo.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 HTTP/1.1” 200 2524
127.0.0.1 – – [15/Jan/2012:22:30:26 +0330] “GET /~saeid/phpinfo HTTP/1.1” 200 78141
127.0.0.1 – – [15/Jan/2012:22:31:11 +0330] “GET /~saeid/phpinfo HTTP/1.1” 200 78412
127.0.0.1 – – [15/Jan/2012:22:31:11 +0330] “GET /~saeid/phpinfo.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 HTTP/1.1” 200 2524
127.0.0.1 – – [15/Jan/2012:22:31:11 +0330] “GET /~saeid/phpinfo.php?=SUHO8567F54-D428-14d2-A769-00DA302A5F18 HTTP/1.1” 200 2813
[/bash]
* برای خروج از tail -f از ترکیب Ctrl+C استفاده نمایید.

نرم‌افزار MultiTail

این بسته نرم‌افزاری در محیط خط فرمان اجرا شده و به منظور نظارت دستورات و فایل‌ها مورد استفاده قرار می گیرد. مهم‌ترین مزیت MultiTail امکان بررسی هم‌زمان چند فایل و دستور در یک ترمینال است.

نصب MultiTail

برای نصب در اوبونتو/دبیان دستورات زیر را در خط فرمان اجرا نمایید:
[bash]
sudo apt-get update; sudo apt-get install multitail
[/bash]

برای نصب در مک با استفاده از MacPorts دستور زیر را وارد نمایید:
[bash]
sudo port install multitail
[/bash]

نحوه استفاده از MultiTail

برنامه MultiTail بسیار انعطاف‌پذیر بوده و قابلیت‌های بسیاری دارد. به عنوان دستور زیر را در نظر بگیرید:
[bash]
multitail -l ‘ping google.com’ -l ‘ping zebardast.ir’
[/bash]
تصویر زیر خروجی این دستور را نشان می دهد:

* برای خروج از MultiTail از ترکیب Ctrl+C استفاده نمایید.

حال در کنار این دو Ping یک فایل را نیز به صورت زنده (live) بررسی می کنیم:
[bash]
multitail -l ‘ping google.com’ -l ‘ping zebardast.ir’ /var/log/apache2/access_log
[/bash]
خروجی دستور بالا:

همچنین می توانیم به جای نمایش جدا از هم اطلاعات، آن‌ها را ترکیب کرده و با هم نمایش دهیم. در زیر خروجی دو دستور پینگ را در یک ترمینال نشان داده ایم:
[bash]
multitail -l ‘ping google.com’ -L ‘ping zebardast.ir’
PING zebardast.ir (79.175.162.75): 56 data bytes
PING google.com (173.194.69.105): 56 data bytes
64 bytes from 79.175.162.75: icmp_seq=0 ttl=54 time=87.961 ms
64 bytes from 173.194.69.105: icmp_seq=0 ttl=41 time=456.322 ms
64 bytes from 79.175.162.75: icmp_seq=1 ttl=54 time=97.724 ms
64 bytes from 173.194.69.105: icmp_seq=1 ttl=41 time=416.464 ms
64 bytes from 79.175.162.75: icmp_seq=2 ttl=54 time=96.657 ms
[/bash]

از جمله ویژگی‌های MultiTail امکان فیلتر کردن نتایج است. دستور زیر همانند دستور قبلی می باشد با این تفاوت که عبارت 64 bytes from را از خروجی دستور دوم حذف می کند:
[bash]
multitail -l ‘ping google.com’ -ke “64 bytes from” -L ‘ping zebardast.ir’
PING google.com (173.194.69.105): 56 data bytes
PING zebardast.ir (79.175.162.75): 56 data bytes
64 bytes from 173.194.69.105: icmp_seq=0 ttl=41 time=463.806 ms
79.175.162.75: icmp_seq=0 ttl=54 time=45.223 ms
64 bytes from 173.194.69.105: icmp_seq=1 ttl=41 time=442.254 ms
79.175.162.75: icmp_seq=1 ttl=54 time=84.238 ms
64 bytes from 173.194.69.105: icmp_seq=2 ttl=41 time=442.263 ms
79.175.162.75: icmp_seq=2 ttl=54 time=98.428 ms
64 bytes from 173.194.69.105: icmp_seq=3 ttl=41 time=400.113 ms
79.175.162.75: icmp_seq=3 ttl=54 time=81.723 ms
[/bash]

پیشنهاد می‌کنم برای مشاهده مثال‌های بیشتر به صفحه Example سایت MultiTail مراجعه کنید.

پیوندها

شاد و پیروز باشید :)
ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

نظارت همزمان بر چند فایل و دستور (MultiTail)

سلام، بعد از مدت‌ها دوباره مطلبی در مورد برنامه‌های مفید موجود در لینوکس (و یونیکس) آماده کردم. در این مطلب به معرفی دستورات head، tail و نرم‌افزار MultiTail که برای نظارت (مونیتورینگ) دستورات و فایل‌ها به کار گرفته می شوند، پرداخته ام. دستور head این دستور برای بدست آوردن اطلاعات ابتدایی (خطوط) بالایی فایل و […]

مطالب مرتبط:

  1. نمایش چند خط از وسط یک فایل متنی (در لینوکس)
  2. آشنایی با دستور netstat
  3. جستجوی فایل در لینوکس
  4. دانلود تمام و کمال یک سایت با یک خط دستور
  5. مهم‌ترین اشتباهات رایج در محیط خط فرمان

ادامه مطلب