جدول محتوایی

Crontab ابزاری برای اجرای وظایف برنامه ریزی شده در فواصل زمانی منظم در سیستم های یونیکس/لینوکس است. که به ما امکان می دهد چندین دستور cron job را برای اجرا همزمان برنامه ریزی کنیم. ما می توانیم هر دستور Shell یا اسکریپت را برای اجرا در ترمینال برنامه ریزی کنیم. هر کار برنامه ریزی شده در crontab با یک خط جدید از هم جدا می شود. همچنین می توانیم چندین دستور یا اسکریپت را در یک cron job تعریف کنیم تا یکی یکی اجرا شوند.

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

 

نحوه جدا کردن دو دستور در لینوکس برای اجرای Cron Job

شما می توانید دو یا چند دستور را با استفاده از عملگرهای نقطه ویرگول (;)، منطقی AND (&&)، یا منطقی OR (||) جدا کنید. اینکه کدام یک از این اپراتورها را استفاده می کنیم، کاملاً به نیازها بستگی دارد. در اینجا درک اولیه استفاده از این عملگرها وجود دارد.

  1. نقطه ویرگول یا سمیکالن (;): برای جداسازی چند دستور استفاده می شود. این همه دستورات را بدون بررسی وضعیت خروج از دستورات قبلی اجرا می کند.
    command_1; command_2; command_n
  2. Logical AND (&&): برای جدا کردن دستورات زمانی استفاده می شود که بخواهیم دستور بعدی را فقط در صورتی اجرا کنیم که دستور قبلی با وضعیت خروج 0 با موفقیت اجرا شده باشد.
    command_1 && command_2 && command_n
  3. Logical OR (||): زمانی که بخواهیم دستور بعدی را اجرا کنیم فقط در صورتی که دستور قبلی با وضعیت خروج غیر 0 شکست خورده باشد برای جدا کردن دستورات استفاده می شود.
    command_1 || command_2 || command_n

چگونه چند دستور را در یک Cron Job را برنامه ریزی کنیم ؟

ابتدا به کاربری بروید که می‌خواهید یک Cron Job را از آن اجرا کنید. سپس با اجرای دستور زیر ویرایشگر crontab را باز کنید.

crontab -e

 

سپس یک ورودی Cron Job را مانند زیر به فایل اضافه می کنید:

دستور Cron Job

 

اجرای چند دستور در یک Cron Job

در ادامه مثال‌های واقعی اجرای چندین دستور Cron Job با crontab را مورد بررسی قرار میدهیم.

1. استفاده از نقطه ویرگول (;)

ما می‌توانیم دو یا چند دستور را با نقطه ویرگول جدا کنیم که نیازی به بررسی وضعیت خروج از دستور قبلی ندارند. به عنوان مثال، شما باید مجوز همه فایل ها را به 777 تغییر دهید، اما باید 777 را برای دایرکتوری logs تنظیم کنید.

0 2 * * * chmod -R 755 /var/www/myapp; chmod -R 777 /var/www/myapp/logs

ویرایشگر crontab

 

2. استفاده از Logical AND (&&)

از این عملگر استفاده کنید، جایی که می خواهید دستور بعدی را فقط در صورتی اجرا کنید که قبلی با موفقیت اجرا شود (وضعیت خروج 0). به عنوان مثال، شما می خواهید پس از تغییر موفقیت آمیز به پوشه /backup، backup.sh را اجرا کنید.

0 2 * * * cd /backup && bash backup.sh

دستور شرطی &

 

3. استفاده از Logical OR (||)

از عملگر منطقی OR (||) استفاده کنید، زمانی که می‌خواهید دستور بعدی را فقط در صورت شکست دستور قبلی اجرا کنید (وضعیت خروج غیر 0). به عنوان مثال، اگر فایل پشتیبان پیدا نشد، می خواهید پیامی را نشان دهید یا ایمیلی ارسال کنید.

0 2 * * * [ -f /backup/mydb-`date +%F`.sql ] || echo "Today's backup file not found"

دستور Or برای Cron Job

 

نتیجه

در این پست وبلاگ، با اجرای چند دستور در یک ورودی Cron Job آشنا شده اید. همچنین گزینه های مختلف برای جداسازی دستورات مورد بحث قرار گرفت. این مقاله جزئیات اساسی در مورد هر جداکننده ای که برای جداسازی دستورات استفاده می شود را در اختیار شما قرار می دهد.

 

 

11رای - امتیاز 5 ممنون از امتیازی که دادید..!

دسته بندی شده در: