اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

اجرای اتوماتیک دستورات / اسکریپت ها در لینوکس موقع Reboot یا StartUP

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    اجرای اتوماتیک دستورات / اسکریپت ها در لینوکس موقع Reboot یا StartUP

    من همیشه مجذوب چیزهایی هستم که پشت صحنه بوت شدن یک سیستم لینوکس و log on کردن به آن اتفاق می افتد. با فشار دادن دکمه پاور کیس یا استارت کردن یک ویرچوال ماشین یک سری اتفاقات که منجر به یک سیستم کاملا کاربردی میشود در حال رخ دادن است که گاهی اوقات کمتر از یک دقیقه طول میکشد. همچنین این موارد در طول logoff کردن یا خاموش کردن سیستم نیز اتفاق می افتند.


    توصیه میشود مطالعه کنید :

    فرآیند 6 مرحله ای پروسه بوت در لینوکس


    حقیقتی که این موضوع را جذابتر میکند این است که شما میتوانید کاری کنید که سیستم عامل عملیات خاصی را به هنگام بوت شدن و یا logon یا logoff کردن اجرا کند.

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

    نکته : ما در اینجا ما فرض را بر استفاده از bash به عنوان شل اصلی برای logon و logout کردن میگذاریم. اگر شما از شل متفاوتی استفاده میکنید بعضی از این روش ها ممکن است کار کند و بعضی دیگر ممکن است کار نکند. اگر در حد مورد شک دارید به داکیومنت شل خودتان مراجعه کنید.



    اجرا کردن Script های لینوکسی به هنگام Reboot یا StartUP

    دو روش برای اجرا کردن یک دستور یا run کردن یک اسکریپت به هنگام startup وجود دارد.


    روش اول : استفاده از یک Cron Job

    علاوه بر فرمت معمول مورد استفاده در یک schedule در کرون جاب (minute / hour / day of month / month / day of week) همچنین شما امکان استفاده از آپشن @reboot را دارید. این آپشن که به دنبالش مسیر کامل اسکریپت میآید باعث میشود که زمانیکه ماشین Boot میشود اسکریپت مورد نظر اجرا شود.

    به هر حال در این روش دو مورد احتیاطی وجود دارد :

    1 - سرویس cron باید در حال اجرا باشد (که در شرایط نرمال در حال اجراست)
    2 - اسکریپت یا فایل crontab باید شامل متغییرهای محیطی باشد که مورد نیاز هستند.



    روش دوم : استفاده از /etc/rc.d/rc.local

    این روش حتی برای توزیع های systemd-based نیز معتبر است. به منظور اینکه این روش کار کند شما باید پرمیژن های اجرایی به فایل /etc/rc.d/rc.local همانند زیر بدهید :
    کد PHP:
    # chmod +x /etc/rc.d/rc.local 
    و در پایان فایل اسکریپت خود را اضافه کنید.

    در تصاویر زیر شما چگونگی اجرا کردن و نتایج دو نمونه اسکریپت /home/gacanepa/script1.sh و /home/gacanepa/script2.sh را به ترتیب با استفاده از cronjob و rc.local مشاهده میکنید.
    کد PHP:
    #!/bin/bash
    DATE=$(date +'%F %H:%M:%S')
    DIR=/home/gacanepa
    echo "Current date and time: $DATE$DIR/file1.txt 
    کد PHP:
    #!/bin/bash
    SITE="Tecmint.com"
    DIR=/home/gacanepa
    echo "$SITE rocks... add us to your bookmarks." $DIR/file2.txt 

    در خاطر داشته باشید که از قبل باید به هر دو اسکریپت پرمیژن های اجرایی بدهید.
    کد PHP:
    chmod +/home/gacanepa/script1.sh
    chmod +/home/gacanepa/script2.sh 


    اجرا کردن اسکریپت های لینوکسی در LogOn و LogOUT

    برای اجرا کردن یک اسکریپت به هنگام logon یا logout کردن به ترتیب از ~.bash_profile و ~.bash_logout استفاده میکنیم. در اکثر موارد شما نیاز به ایجاد دستی فایل ~.bash_logout را خواهید داشت. تنها کافیست که اسکریپت خودتان را در پایان هر فایل همانند آنچه که در قبل گفته شد قرار دهید.


    همچنین توصیه میشود مطالعه کنید:

    11 مثال از زمانبندی کارها در لینوکس با استفاده از دستورات cron job و crontab

    نحوه ایجاد و مدیریت cron job ها در لینوکس

    6 ابزار آنلاین برای ایجاد و تست cron job ها در لینوکس (به زودی)


    خلاصه

    در این پست ما چگونگی اجرا کردن اسکریپت به هنگام reboot, logon, logout را مورد بحث قرار دادیم، اگر شما هر روش دیگری غیر از موارد عنوان شده میشناسید باعث خوشحالیست که با ما به اشتراک بگذارید.
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 07-14-2019, 03:24 AM.
    Instagram : https://www.instagram.com/iranlinuxforum

    Voip Trainer - Asterisk - Elastix - Agi Programming- NewRock

    Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
    Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
    Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
    LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

    Linkedin Profile : https://www.linkedin.com/in/masuma-vahid-26b17b66/

درباره انجمن منطقه لینوکسی ها

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

شبکه های اجتماعی
در حال انجام ...
X