وبلاگ محسن

۲ مطلب در مهر ۱۳۹۳ ثبت شده است

مانیتورینگ پهنای باند مصرفی با vnstat

| جمعه, ۱۸ مهر ۱۳۹۳، ۰۹:۲۷ ق.ظ

چند روز پیش که دنبال یه برنامه برای چک کردن پهنای باند مصرفیم می‌گشتم، از تعداد زیادشون متعجب شدم surprise.

هر جوری که بگید پیدا می‌شد. بعضیا برای چک کردن لایو بودن، بعضیا پهنای باند رو به تفکیک پروسه نشون می دادن، بعضی ها حتی گراف هم داشتن. اما چیزی که از همه بیشتر به درد من می‌خورد vnstat بود.

طرز کار vnstat اینطوریِ که در پشت صحنه می‌شینه و وقتی صداش کنیم بهمون می‌گه که در یک ساعت گذشته، امروز، دیروز و حتی ماه گذشته چقدر استفاده کردیم.

 

نصب vnstat خیلی آسونه:

sudo yum install vnstat

بعد از نصب باید تصمیم بگیرید که کدوم اینترفیس رو مانیتور کنید. با ifconfig می‌تونید لیست اینترفیس ها به همراه جزئیاتشون رو ببینید.

sudo vnstat -u -i NAME_OF_YOUR_INTERFACE

به این دلیل دستور رو با sudo اجرا می‌کنیم چون vnstat باید یه دیتابیس برای خودش بسازه، و این دیتابیس رو به طور پیشفرض در /var/lib/vnstat/ قرار می‌ده.

 

حالا باید دیمون vnstat فعال بشه. همونطور که گفتم این یه نرم افزار پشت صحنه‌اییِ.

sudo systemctl enable vnstat.service

اگر همون دقایق اول از vnstat استفاده کنید ممکنه خروجی there is no enough data یا همچین چیزی باشه که جای نگرانی نیست چون هنوز پهنای باند قابل توجهی استفاده نشده. اما بعد از چند دقیقه وضعیت دیمونش رو چک کنید.

systemctl status vnstat.service

اگر ارور داد که نمی‌تونه چیزی تو دیتابیس بنویسه، معلوم میشه که مجوز دسترسی فایل دیتابیس ایراد داره که با کامند زیر مشکل از بین میره:

sudo chmod 666 /var/lib/vnstat/NAME_OF_YOUR_INTERFACE

دیگه الان vnstat به عنوان یه نرم افزار خیلی خوب مانیتورینگ پهنای باند، قابل استفاده‌ست.

برای دیدن آپشن های مختلف نگاهی به صفحه man بندازید.

برای تنظیمات کلی، مثل تغییر اینترفیس پیشفرض، تغییر مسیر دیتابیس و چیزای دیگه فایل etc/vnstat.conf/ رو ویرایش کنید.

 

چه جوری با لینوکس فیلم دانلود می‌کنم

| پنجشنبه, ۱۰ مهر ۱۳۹۳، ۰۴:۴۶ ب.ظ

مسلما هر کدوم از شما، یه چیز این دنیا رو بیشتر از چیزای دیگه دوست دارید، مثلا شاید علاقه اولتون نقاشی باشه، یا پزشکی، معماری، موسیقی و حتی آشپزی. و تمام تلاشتون رو می‌کنید که مابقی عمرتون حول علاقه‌تون بچرخه. متخصص ها اینطوری به وجود میان. 

و اونچه که دیر یا زود هممون متوجهش می‌شیم اینه که لازمه ی به دست آوردن تخصص، پیمودن یه راه خیلی طولانی، صعب العبور و بعضی وقتا کسل کننده‌ست. برای اینکه وسط راه نبریم باید یه علاقه‌ی دوم دیگه هم برا خودمون دست و پا کنیم. لازم نیست در اون هم استاد بشیم؛ یه جور زنگ تفریح برای اوقات بی حوصله گی. 

 

علاقه اول من کامپیوتر (البته کامپیوتر لینوکسیlaugh) و علاقه دومم سینماست! پس فیلم زیاد دانلود می‌کنم.

یکی از ایراداتی که به لینوکس گرفته می‌شه، نبود دانلود منیجر قدرتمند مثل idm ئه. من در جواب می گم خب شما هنوز بلد نیستید از لینوکس استفاده کنید! شما در این پست می‌بینید که چطور با چند تا از ساده ترین ابزار های لینوکس و یه اینترنت ۵۱۲(اسمی) محدود، هر شب حدود سه گیگابایت دانلود می‌کنم.

 

aria2، at و rtcwake تمام چیزی که ما احتیاج داریم. at و rtcwake اوت آو د باکس رو خود سیستم نصبن.

 

at، نرم افزار بسیار مفیدیِ که دستورات رو واسمون زمانبندی می کنه. مثلا می‌تونیم بهش بگیم یک ساعت بعد سیستم رو خاموش کن. با استفاده از at دانلود رو ساعت ۲ صبح شروع و ساعت ۷  متوقف می‌کنیم. (ساعات رایگان در isp پارس آنلاین).

ضمنا برای اینکه at کار کنه باید دیمونش رو فعال کنیم و کامند زیر برای همیشه فعالش می کنه (فدورا و توزیع هایی که از systemd استفاده می کنن)

sudo systemctl enable atd.service

 

قدم دوم تنظیم aria2 ست. روش من به این صورت که url فیلما رو تو یه فایل ذخیره می‌کنم و با آپشن i- به aria2 می‌گم لینک ها رو از اون فایل استخراج کنه. اسکلت aria2  من به شک زیرِ:

aria2c -i .downloads.txt -j1 -s16 -x16 -k70M --http-user='myusername' --http-passwd='mypassword'

آپشن j تعداد دانلود موازی رو مشخص می کنه که من گفتم در آن واحد فقط یه دانلود انجام بده.

با s می‌گیم که فایل چند قسمت بشه و x حداکثر تعداد کانکشن به سرور رو تعیین می‌کنه.

k می‌گه که هر پارت، چند مگابایت دانلود کنه.

http-user و http-passwd  هم برای مواقع اییِ که از سایتی اکانت خریدید و با وارد کردن اطلاعات این آپشن ها می‌تونید به طور ویژه دانلود بکنید.

 

دانلود ما با استفاده از این کامند ساعت ۲ و ۵ دقیقه صبح شروع می‌شه:

$ at 2:05am
at> aria2c -i .downloads.txt -j1 -s16 -x16 -k70M --http-user='myusername' --http-passwd='mypassword'

و با کامند زیر ساعت ۶ و ۵۵ دقیقه تموم و کامپیوتر خاموش میشه:

$ sudo at 6:55am
at> killall -2 aria2c
at> poweroff

 

اما من معمولا ساعت یازده به تخت خواب می رم و مطمئنا نمی خوام کامپیوتر تا ساعت دو نصفه شب بدون استفاده روشن باشه و صدای فن مغزمو بخوره!

با rtcwake  می‌تونیم به کامپیوتر بگیم که الان خاموش، ولی فلان ثانیه بعد روشن شو. فوق العاده نیست؟ برای من که یکی از هیجان انگیز ترین نرم افزار های لینوکسِ. 

rtcwake برای کار کردن به دو تا ورودی احتیاج داره. اول اینکه مشخص بشه کامپیوتر به چه حالتی بره؟ شات دون، اسلیپ و یا لاک اسکرین که من شات دون رو همیشه انتخاب می کنم و دوم این که چه مدت بعد از الآن کامپیوتر روشن بشه؟ دقت کنید که زمان باید به ثانیه وارد بشه.

sudo rtcwake -m off -s somenumber

به محض وارد کردن پسورد روت، کامپیوتر خاموش میشه.

 

برای راحتی کار اسکریپت زیر رو نوشتم که خروجیش تعداد ثانیه از زمان حال تا ساعت دو صبحِ:

#!/usr/bin/python3

import time, datetime

midnight = datetime.timedelta(0, 0, 0, 0, 0, 2, 0)
current_time = datetime.timedelta(0, 0, 0, 0, int(time.strftime('%M')), int(time.strftime('%H')), 0)

if current_time.__lt__(midnight):
    dst_time = datetime.timedelta(0, 0, 0, 0, 10, 2, 0)
else:
    dst_time = datetime.timedelta(1, 0, 0, 0, 10, 2, 0)

print('\nremaining time in seconds: ', int(dst_time.total_seconds() - current_time.total_seconds()), '\n')

به این می گن دانلود هوشمندwink

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

 

اطلاعات بیشتر درباره at

 

پاورقی:

 

 

پدر خوانده (1974)

ستوده شده به عنوان بزرگ ترین شاهکار تاریخ سینما

اثر فرانسیس فورد کاپولا