جلسه یازدهم ۶ اردیبهشت ۱۳۸۷

از ویکی یزدلاگ، دانشنامهٔ آزاد.

پرش به: ناوبری, جستجو

جلسه یازدهم یزد‌لاگ ساعت ۱۷ روز جمعه در دفتر شرکت درخشان صنعت آغاز شد.

آقای مومنی ابزار cron را برای زمانبندی انجام کارها معرفی کردند.

معرفی cron و تنظیم انجام کارها بصورت اتوماتیک در لینوکس

ابزارهای متفاوتی برای زمانبندی انجام کارها در لینوکس وجود دارد، که قصد معرفی برنامه‌ی cron را داریم. این برنامه در اغلب توزیع های لینوکس و یونیکس ها وجود دارد. این برنامه یک Deamon دارد که همواره در پشت صحنه ی سیستم شما در حال اجراست و فایل های ورودی خود را چک می کند ، به محض مشاهده ی کاری در زمان خاص آن کار را انجام می دهد. به فایل های ورودی ، crontab می گویند ، شما باید دستورات خود را در این فایل ها اضافه کنید و زمان اجرای دستور را نیز قید کنید ، به محض فرارسیدن زمان اجرای دستور ، دایمن Cron این دستور یا دستورات را انجام خواهد داد. توجه داشته باشید که بعد از انجام تغییرات در فایل های Crontab نیازی به راه اندازی مجدد Cron Deamon وجود ندارد و cron خودش این تغییرات را تشخیص و به آن ها عمل خواهد کرد.

هر کاربر یک فایل crontab مربوط به خود دارد، که با دستور crontab می‌تواند آنرا تغییر دهد! و یک فایل etc/crontab/ داریم که کاربر root حق دسترسی به آنرا دارا می‌باشد! محتوای فایل etc/crontab/ به شرح زیر است:

هر خط ممکن است دو نوع داده داشته باشد! یا تنظیم متغیر محیطی یا تنظیم اطلاعات پیرامون عملی که قرار است زمان معینی انجام شود!

برای درک بهتر از مثال استفاده می‌کنیم:

تنظیم متغیر محیطی: SHELL=/bin/bash

تنظیم انجام کار:

# m h dom mon dow user command
02 4 * * 3 root /root/run.sh

دستور مورد نظر شامل ۳ بخش می‌شود: بخش اول مربوط به زمان انجام کار، بخش دوم کاربری که کار را انجام می‌دهد(اینجا root)، و بخش آخر دستور قابل اجرا (اینجا اسکریپتی در شاخه‌ی خانگی root)

توضیح بخش اول: این بخش شامل ۵ قسمت است که با هم، زمان انجام عمل را مشخص می‌کنند! به ترتیب از چپ به راست، دقیقه(۰ تا ۶۰)، ساعت(۰ تا ۲۳)، روز ماه(۰ تا ۳۰)، ماه(۰ تا ۱۲) و روز هفته(۰ تا ۷ از یکشنبه آغاز شده، هم ۰ و هم ۷ یکشنبه می‌باشند!) هستند!

در مورد مثال بالا: اسکریپت مورد نظر در ساعت چهار و دو دقیقه‌ی هر چهارشنبه انجام خواهد شد! (برای سادگی می‌توان برای روز هفته از علامت اختصاری آن نیز استفاده کرد، مثلا Wed یا Sun همینطور برای ماه!)

علاوه بر عدد، این موارذ انواع داده دیگری نیز می‌پذیرند:

  • کاراکتر '*' این کاراکتر به معنی تمام طول مدت انجام کار است مثلا اگر در فلید یا بخش دقیقه این علامت وارد شود یعنی در تمام ۶۰ دقیقه این کار انجام شود.
  • لیستی از اعداد که توسط کاما ',' از یکدیگر جدا شده اند ، corn با برخورد به هر کدام از مقادیر آن را اجرا خواهد کرد. مثلا 10,16,20 یعنی در دقایق یا ساعات 20 و 16 و10 این کار انجام شود.
  • دامنه ای از مقادیر که با هایفن یا '-' از هم جدا شده باشند ، برای نمونه 18-8 اگر در بخش ساعت یعنی دومین بخش به کار برود بین ساعات 8 صبح و 6 بعد از ظهر هر1 ساعت این کار انجام می شود و یا اگر در بخش اول یعنی دقیقه باشد بین دقایق 8 و 18 ساعت مورد نظر این کار انجام می شود (سر هر دقیقه)
  • یک اسلش '/' با استفاده از یک اسلش شما می توانید یک کار را در یک سیکل زمانی انجام دهید ، برای نمونه 15/* باعث می شود که یک کار هر 15 دقیقه یک بار انجام گیرد.

ایجاد فرمان ها توسط کاربر

مدیر سیستم در فایلهای etc/cron.allow/ و etc/cron.deny/تعیین می‌کند که کدام کاربرها حق استفاده از cron را دارند، کدامها ندارند! در سیستمهای دبیان همه‌ی کاربران بطور پیش فرض اجازه‌ی استفاده را دارند!

کاربران برای تنظیم انجام یک کار باید از دستور crontab استفاده کنند، که برای ویرایش crontab مربوط به کاربر استفاده می‌گردد.

فرمت این فایل به شکل همان فایل crontab است، با این تفاوت که قسمت مربوط به user را ندارد!

دستور crontab چند سویچ دارد، که مهمترین آنها e و r می‌باشند! e برای ویرایش فایل crontab موجود و r برای حذف آن! بشکل مقابل:

$crontab -e

بعد از اجرای این دستور فایل crontab مربوطه در ویرایشگر پیش فرض کاربر باز می‌گردد!



نرم افزار preload موضوع صحبت آقای نقاش‌زاده بود، که سرعت اجرای برنامه‌ها را (مخصوصا در زمان شروع برنامه) تا حد زیادی افزایش می‌دهد.

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

یک راه اتصال مستقیم کامپیوتر به یک SMSCenter است که با پروتکلی مشابه SMTP انجام می‌شود.

راه کم هزینه‌تر اتصال یک مودم GSM یا تلفن همراه به کامپیوتر و ارسال sms به کمک نرم‌افزار است. که نرم‌افزار‌های GAMMU و Gnokii در لینوکس برای این کار وجود دارند.

خانم نیلیه در مورد نرم‌افزار Eclipse صحبت کردند.

این نرم‌افزار یک platform است که IDE های زبانهای برنامه‌نویسی به صورت پلاگین به آن اضافه می‌شوند و در چارچوب آن کار می‌کنند. پلاگینهای:

CDT برای زبانهای C و C++
PDT و PHPEclipse برای PHP
 DTPبرای ارتباط با پایگاه داده

چند نمونه از پلاگینهای پرکاربرد eclipse هستند.


برای هر پروژه که در محیط eclipse ایجاد می‌کنید، تاریخچه‌ای از فایلهای پروژه نگهداری می‌شود تا در صورت حذف یا تغییر فایلها بتوان آنها را برگرداند یا تغییرات را مشاهده کرد.

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


به طور پیش‌فرض، eclipse از مخازن CVS پشتیبانی می‌کند، و در صورت نیاز به کار با انواع دیگر مخازن کافیست که پلاگین مخصوص آنها را نصب کنید.


این نرم‌افزار که با java نوشته شده روی بسیاری از انواع سیستم‌عاملها قابل اجراست، و ظاهر گرافیکی آن با سیستم پنجره‌های آن سیستم‌عامل همخوانی دارد.

eclipse با مجوز EPL منتشر شده و از نرم‌افزارهای آزاد به شمار می‌آید.


دوستان حاضر در جلسه

آقایان محمدرضا هادیان، صادق نقاش‌زاده، بیژن هومند، مهرداد مومنی، محمدرضا حسن‌رضاییان، علی وکیلی، فرهاد باقری، عبدالرضا طالبیان، حسین حسینی.

خانمها عظیمه بهشتی‌زاده،شیوا شاه میرزایی و گلناز نیلیه.