آموزش دروپال - قسمت چهاردهم - DRUSH - بخش سوم

توسط amin, 29 آذر, 1392

درود بر خوانندگان وب سایت امواج دروپال

خدا را شکر فرصتی پیش اومد تا با یک مقاله دیگه در خدمت شما باشم.

بنابر دلایلی حدود ۲ ماه امکان قرار دادن مطلب جدید مهیا نشد و باید به بزرگواری خودتون ببخشید.امیدوارم بتوانم همچون گذشته تجربیات و اطلاعات خودم را در اختیار شما قرار بدهم.

در این قسمت و در بخش پایانی مقالات درباره ابزار DRush سعی می کنم که برخی از مهمترین دستورات را براتون توضیح بدم. البته لیست کامل این دستورات در وب سایت رسمی دراش به آدرس drush.ws موجود هست و می تونید به راحتی نیاز خودتون را پیدا کنید. البته اگر در این سایت موردی که می خواستید نبود حتما داخل گوگل هم سرچ بفرمایید.

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

خوب بریم سراغ کار اصلی.

برای اجرا کردن دستورات دراش بهتره که بریم سراغ پوشه اصلی سایت یعنی همون جایی که فایل index.php قرار داره.

drush core-status

drush -r /var/www/dpwaves core-status

اگه گفتید دو خط بالا چه تفاوتی دارند و چه کاری انجام می دهند. تصویر زیر نتیجه را نشان می دهد. هر دو خط یک کار را انجام می دهند و اطلاعات اصلی سایت را نمایش می دهند.

تنها تفاوت این است که دستور اولی را فقط باید در پوشه اصلی سایت اجرا کرد و دراش به صورت خودکار متوجه می شود که به سراغ فایل sites/default/settings.php رفته و اطلاعات مورد نظر را استخراج کند. در خط دوم من از داخل یک پوشه دیگر برای دراش پیام می فرستم و برای اینکه دراش بفهمد که کجا به دنبال جواب برود همان طور که مشخص است مسیر سایت مورد نظر را به او بدهم.

drush help core-status

همان طور که مشاهده می کنید دستور بالا از دراش می خواهد که مختصر توضیحی درباره دستور core-status بدهد و دراش نیز سخاوتمندانه اطلاعات را به شما نشان می دهد. از جمله اطلاعات مهم در این قسمت بخش Aliases هستش که به شما میگه می تونید به جای تایپ کردن دستور drush core-status از عبارات drush status یا drush st هم استفاده کنید. یعنی عبارات st و status جایگزین های core-status هستند.

options vs arguments

هر دستور دراش از  چهار بخش تشکیل شده. اول کلمه کلیدی drush می آید بعد از آن دستور می آید مثلا help و بعد argument مثلا core-status . منظور از argument این است که برای دستور مورد نظر چه کاری انجام دهیم. مثلا در دستور drush help core-status به دراش می گوییم که دستور help را اجرا کن ولی برای کدام یک از دستورات و جواب در این جا می شود : core-status یعنی جناب help هرچی درباره core-status می دونی را بگو ! اگر بخواهم درباره دستور cache-clear اطلاعات بدست بیاورم باید بنویسم : drush help cache-clear تا help درباره آن توضیح بدهد.

تا این جا شد سه قسمت. یک قسمت دیگر هم هست به نام options که نحوه نمایش اطلاعات را مشخص می کند.

drush cache-clear --uri=drupal7.localhost all

دستور بالا تمامی قسمت ها را دارد. اول گفته drush بیا اینجا کارت دارم می خواهم برای من دستور cache-clear را اجرا کنی ولی حواست باشه که می خواهم این کار را برای سایتی که اسمش drupal7.localhost هست انجام بدی و تمامی (all) کش ها را هم پاک کن.

قسمت uri=drupal7.localhost-- همون options هست که مشخص می کنه برای این دستور خاص یعنی cache-clear که قراره همه کش ها را پاک کنه (به دلیل ارسال argument all) کدوم سایت را مورد استفاده قرار بده.

سه حالت داره :

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

اگر کار نکرده باشید و الان متوجه شدید که دم من گرم که خوب توضیح دادم.

اگر هم متوجه نشدید مهم نیست چندباری که خودتون امتحان کنید از سیر تا پیازش میاد دستتون اصلا نگران نباشید و هول هم نکنید :)

یک نکته:

موقعی که شما با دراش کار می کنید خودش فرض می کنه که شما یک سایت دارید و یا اگر هم مولتی سایت دارید میره سراغ حالت default یعنی داخل پوشه sites/default دنیال فایل settings.php میگرده تا بدونه باید سراغ کدوم پایگاه داده بره و کارهاش را روی اون انجام بده.

حالا اگر می خواهید از بین چندین مولتی سایت برید سراغ یک سایت خاص حتما باید به دراش بگید که با دستور uri=sitename-- انجام میشه. مثلا من دو تا سایت با مولتی سایت دروپال دارم به نام های site1.com , site2.com و می خواهم کرون را برای سایت دومی اجرا کنم باید از کد زیر استفاده کنم:

drush cron --uri=site2.com

در حالت بالا ما دیگه argument نداریم چون دستور cron کاملا مشخصه و نیاز نیست که اطلاعات اضافه تری براش ارسال کنیم و فقط یک options داره که میگه برو و کرون را برای کدوم سایت اجرا کن.

یادتون که نرفته باید دستور بالا را داخل پوشه اصلی مولتی سایت یعنی همون جایی که فایل  index.php  هست اجرا کنید ! اگه می خواهید داخل یک پوشه دلخواه خارج از مسیر اجرا کنید حتما باید مسیر root را بهش بدید مثلا میشه :

drush cron --root=/var/www/dpwaves --uri=site2.com

که دستور بالا اصلا argument نداره ولی دوتا option داره !

به جای عبارت بالا می تونید بنویسید :

drush cron -r /var/www/dpwaves -l site2.com

که معادل هم هستند.

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

هوا سرد شده مواظب سلامتیتون باشید.

 

یاد من باشد فردا دم صبح

به نسیم از سر صدق ، سلامی بدهم

و به انگشت نخی خواهم بست

تا فراموش ، نگردد فردا

زندگی شیرین است ، زندگی باید کرد

گرچه دیر است ولی

کاسه ای آب به پشت سر لبخند بریزم ، شاید

به سلامت ز سفر برگردد

بذر امید بکارم ، در دل

لحظه را در یابم

من به بازار محبت بروم فردا صبح

مهربانی خودم ، عرضه کنم

یک بغل عشق از آنجا بخرم

(فریدون مشیری)

 

متن ساده

  • No HTML tags allowed.
  • نشانی‌های وب و پست الکتونیکی به صورت خودکار به پیوند‌ها تبدیل می‌شوند.
  • خطوط و پاراگراف‌ها بطور خودکار اعمال می‌شوند.