محاسبه حداکثر مقدار دانلود شبانه با بش اسکریپت

همیشه واسم سوال بود که من چقدر توی یک شب میتونم دانلود کنم… چون عملا تا حالا نشده که دانلودم تا صبح تموم نشه! خب راه معمولی اینه که تا میتونم فایل بذارم برای دانلود و صبح ببینم چقدرش دانلود شده. ولی اگه مثل من هاردتون تا خرخره پر بود چیکار میکردین؟ احتمالا میگفتین یه فایل کم حجم رو بذارم برای دانلود و ببینم چقدر طول میکشه تا دانلود بشه بعد حساب کنم که تا صبح چقدر میتونم دانلود کنم… ولی اصلا با این راه حل حال نمیکنم!!! به همین خاطر تصمیم گرفتم یه بش اسکریپت بنویسم که به صورت تقریبی محاسبه کنه چقدر توی یک شب میتونم دانلود کنم. اول قدم اینه که با روشی که من فایل‌هام رو دانلود میکنم آشنا بشین، پس این تاپیک تو انجمن اوبونتو فارسی رو اول بخونید تا با روش دانلود من آشنا بشین. خب حالا که میدونید قراره چجوری دانلود بکنم میریم سراغ اسکریپت :)) تو پوشه Home یه فایل به اسم dl.sh ایجاد میکنیم و داخلش این کدها رو قرار میدیم:

 

declare -i n
n=0
while true; do
	aria2c -c -x16 -s16 -k 1M -m10000 --retry-wait=1 http://cachefly.cachefly.net/100mb.test
	n=n+100
	a=$n"MB"
	echo $a > size.txt
	rm 100mb.test
done

 

 

حالا باید به این اسکریپت قابلیت اجرا شدن بدیم. پس ترمینال رو باز میکنیم و این دستور رو توش میزنیم:

 

chmod +x dl.sh

 

و برای اینکه این اسکریپت اجرا بشه تو کرون تب در زمانی که شبانه شروع میشه این دستور رو میزنیم:

 

./dl.sh

 

خب کار تموم شد و صبح که بیدار بشیم تو پوشه Home یه فایل به اسم size.txt قرار داره که توش نوشته شده شب گذشته چقدر تونستیم دانلود کنیم 😀 ولی یه نگاهی هم بندازیم که این بش اسکریپت دقیقا چیکار میکنه…

 

declare -i n: میگیم متغییر n رو به عنوان یک متغییر عددی بشناس که روش میشه عملیات ریاضی انجام داد. (خودمم شاخ در آوردم که میشه تو بش اسکریپت متغییر تعریف کرد!)

 

n=0: توضیح نداره دیگه!

 

while true; do: با این دستور ما یک لوپ یا حلقه بینهایت درست میکنیم و دستوراتی که بین این خط تا خط آخر یعنی done قرار دارن بینهایت بار اجرا میشن.

 

aria2c: درواقعی خطی که این عبارت آغازش هست وظیفه اصلی رو به عهده داره! تو این بش من درواقع اومدم و با دانلود چند باره یک فایل محاسبه کردم که توی یک شب چقدر میشه دانلود کرد. فقط مساله اینه که از چه لینکی استفاده کردم؟ من از فایل‌هایی که cachefly قرار داره تا دانلود کنیم و سرعت دانلودمون رو محاسبه کنیم استفاده کردم. کش فلای سه فایل با سایزهای یک مگ، ده مگ و صد مگ رو قرار داده برای تست سرعت. من از فایل صد مگی استفاده کردم. چون من تقریبا همیشه فایل‌هایی که دانلود میکنم بالای صد مگ هست (۹۰٪ من فیلم دانلود میکنم) و ساختار aria2c هم تو این بش اینه که هرچی حجم یک فایل بیشتر بود کانکشن بیشتری بساز وسرعت بالاتری داشته باش پس انتخاب این فایل صد مگی کاملا معقول بود.

 

n=n+100: خب بعد از اتمام دانلود ما تونستیم صد مگ فایل رو دانلود کنیم پس به متغییر n صد واحد اضافی میکنیم که نشون میگه صد مگ دانلود علاوه بر دانلودهای قبلی با موفقیت به انجام رسیده.

 

a=$n”MB”: با این دستور میگیم محتویات متغییر n رو بریز توی متغییر a و آخرش هم عبارت MB رو اضافه کن. چی شد!

 

echo $a > size.txt: با این دستور اگه فایلی به اسم size.txt وجود نداشته باشه ایجاد میشه و محتویاتش از بین میره و مقدار متغییر a داخلش قرار میگیره.

 

rm 100mb.test: فایلی رو که دانلود کردیم پاک میکنه چون قراره دوباره دانلود بشه 😀 یکی دیگه از دلایل که از فایل صدمگی استفاده کردم این دستور بود. چون این دستور زمان میبره حالا هر چقدر هم کم باشه (فکر کنم نزدیک به یک ثانیه زمان میبره) و خب اگه فایل یک مگابایتی میذاشتیم برای دانلود این دستور ممکن بود هزار بار و یا بیشتر اجرا بشه و این یعنی از دست دادن هزار ثانیه که تقریبا میشه یک ربع و این دقت کارمون رو میاره پایین.

 

done: که همونطور که گفتم میگه دوباره برو حلقه رو از اول اجرا کن 🙂

 

اما نتیجه این دستورات زیبا روی سیستم خودم… دیشب این بش اسکریپت رو گذاشتم اجرا بشه و نتیجش این فایل شد:

 

bash_dl

 

 

بعله… من دیشب تونستم ۴/۷ گیگ دانلود کنم. ولی تو پوشه Home یه فایل تست بود که کامل دانلود نشده بود برای اینکه ببینم چقدرش دانلود شده ترمینال رو باز کردم و کد زیر رو زدم تا دوباره دانلودش شروع بشه و ببینم چقدرش دانلود شده:

 

aria2c -c http://cachefly.cachefly.net/100mb.test

 

و دیدم نوشته که ۹۶مگابایت از این فایل صد مگابایتی دانلود شده. پس من این رو تقریبا صد مگابایت در نظر میگیرم و این یعنی من شب گذشته ۴/۸گیگ دانلود کردم :)) ولی یه نکته دیگه! من در عمل فایل‌های بالای صد مگ دانلود میکنم و چندتا فایل رو هم به صورت همزمان دانلود میکنم و این یعنی سرعت دانلود بیشتر. پس میتونم راحت بگم من میتونم شبی ۵گیگ دانلود کنم… 😀 تا دیداری دگر بدرود :))

آموزش نصب رپیدلیچ روی cPanel

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

عکس – ۱

تصمیم گرفتم از این به بعد عکس هایی رو که به نظرم قشنگ هستن و ارزش به اشتراک گذاری رو دارن بذارم اینجا… فکر کنم ابنجا تبدیل بشه به یه فوتوبلاگ حسابی :))

 

اولین عکس عکسی هست که به شدت باهاش همزاد پنداری میکنم و اونایی که زندگیشون مثل من با کامپیوتر هست مسلما همین حس رو دارن!

00648639774496049713

اندر احوالات جزئیاتی از فیلترینگ هوشمند

یک ماه قبل تو زومیت مقاله‌ای دیدم با عنوان برخی جزئیات فیلترینگ هوشمند مشخص شد. بخش کوچکی از متن اون مقاله رو میذارم:

 

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

 

البته این تیکه هم جالبه:

 

محمود خسروی در گفتگو با خبرنگار مهر در خصوص آخرین وضعیت اجرای فیلترینگ هوشمند در کشور گفت:

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

 

خب بیاین این جملات رو بررسی کنیم. اولین بخش اینه که «برای فیلترینگ هوشمند، شغل، سن و نیاز کاربر بررسی می‌شود!» با تشکر از دوستان که از ما به نیازهامون واردترن! واقعا بر چه اساس میخوان تشخیص بدن که چه محتوایی برای هرکس مناسبه؟ مثلا یک نفر رو من میشناسم که رشته تحصیلیش زبان انگلیسی بوده ولی تو زمینه سرورهای کامپیوتری چون علاقه داشته کار کرده. خب حالا این آدم احتمالا اوضاش اینطوریه، چون سنش بالای ۱۸ هست میتونه به بعضی محتواها دسترسی داشته باشه و چون مجرد هست به همه چی نمیتونه دسترسی داشته باشه حتی اگه تو رشته تخصصی خودش زبان باشه! حالا چون رشتش مربوط به کامپیوتر نیست احتمالا برخی سایت‌ها که مربوط به کامپیوتر هست براش فیلتر خواهد بود و نمیتونه ازشون استفاده کنه (به شخصه سایت‌های مربوط به کامپیوتر و آموزش‌هاش رو دیدم که فیلتره). حالا اگه راهی باشه که فرد درخواست بده که به بقیه محتواها هم دسترسی داشته باشه احتمالا باید به صورت حضوری به یه ارگان مراجعه کنه و بعد گذروندن هفت خان مراحل اداری بتونه به این سایت‌های مربوط به کامپیوتر هم دسترسی داشته باشه… خیلی احمقانست، نه؟

 

بخش بعدیش که از همش بیشتر برام جالب هست اینه: « احراز هویت کاربران در زمان دسترسی». دوستان به کره شمالی شماره دو خوش آمدید! 😐 کل دنیا (البته منهای یه سری افراد که میدونین چجور افرادی هستن) دارن میگن فرد باید بتونه به راحتی و بدون محدودیت از اینترنت استفاده کنه و حتی بتونه پنهان بمونه تو این محیط بعد مسئولین محترم ما با افتخار دارن میگن ما داریم کاری میکنیم که بدونیم هرکسی تو اینترنت داره چیکار میکنه :(( از این قضیه بگذریم با این کار مشکلات جالبی هم خواهیم داشت… چند خط بالاتر گفتیم ممکنه یک فرد نیاز به اطلاعاتی پیدا کنه که از نظر مسئولین محترم براش نامناسب هست و براش صرف نداشته باشه بره دنبالش که اون اطلاعات براش باز بشه… حالا باید بیفته دنبال کسی که به اون اطلاعات دسترسی داره و با هویت اون از این اطلاعات استفاده کنه! راستی اصلا چجوری میخوان احراز هویت کنن؟ من دوتا راه حل به ذهنم میرسه در حال حاضر! یکی ساخت یک شبکه وی پی ان و دادن یک اکانت به هر نفر و اون فرد بعد از اتصال به وی پی ان میتونه از اون محتواها استفاده کنه… حالا فکر کنین اون فرد تو شرایطی باشه که امکان اتصال به وی پی ان رو نداشته باشه (مثلا ابزاری که داره استفاده میکنه امکان ساخت وی پی ان نداشته باشه) اون موقع اون فرد محترم دقیقا باید چه خاکی به سرش بریزه؟ یا راه دیگه‌ای که به ذهنم میرسه ساخت یه برنامه خاص به صورت اختصاصی برای شناسایی هویت افراد و اتصالشون به اینترنت هست… که این هم دردسراش اگه از وی پی ان بیشتر نباشه (که هست) کمتر نیست… حالا هم اگه با اکانتمون به اینترنت متصل بشیم دقیقا مشخص میشه هرکسی داره چیکار میکنه و راحت میشه مچ افراد رو گرفت که دارن چیکار میکنن! حریم خصوصی؟ آزادی بیان؟ اینا چین؟ کسی میدونه چین؟ یکی برای من این واژه‌های بیگانه رو توضیح بده!

 

یه بخش دیگه، «استفاده از نرم افزارهای بومی شرکت های دانش بنیان». در یک کلام! یکی یک نرم‌افزار بومی که ساخت یک شرکت دانش بنیان باشه و درست حسابی باشه رو به من معرفی کنه!

 

پ.ن: بعضی مواقع فکر میکنم خیلی آدم پر رویی هستم ولی بعضی از این مسئولین محترم رو که میبینم به این نتیجه میرسم که عجب آدم کم رو و سر به زیری هستم!

۱۵ دقیقه برای به روز رسانی یا یک ساعت؟

قضیه مال چند روز پیش هست. من یک ساعت الکی علاف بودم تا ۱۵دقیقه مورد نیاز برای به روز رسانی سیستمشون تموم بشه و بتونم حسابم رو شارژ کنم. درنهایت هم حدود ۱۰دقیقه بعد از گرفتن این اسکرین شات ۱۵دقیقه لازم برای به روز رسانیشون تموم شد… واقعا نمیتونن نصف شب به روز رسانی کنن؟ یا کله سحر؟

 

15min_or_1hour

زمان بندی سرور برای آپدیت اتوماتیک و ارسال لاگ از طریق ایمیل

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

ادامه خواندن زمان بندی سرور برای آپدیت اتوماتیک و ارسال لاگ از طریق ایمیل