0 امتیاز
607 بازدید
در لینوکس توسط مدیر کل (15.6k امتیاز)

تنظیم کرون برای اجرای یک دستور در لینوکس

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

در لینوکس این گونه عملیات ها با استفاده از کرون (cron) زمانبندی می شوند.

تنظیم کرون در لینوکس

برای شروع می توانیم یک فایل حاوی دستورات کرون ایجاد کنیم مثلا اسم آن را crontab.root قرار می دهیم. برای نمونه محتوای زیر را در آن می نویسیم:

0 * * * * mysqldump -uroot -p123 --all-databases > all-databases.sql

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

حالا باید این فایل را به سرویس کرون لینوکس (crond) معرفی کنیم. با استفاده از دستور crontab در شل این کار را انجام می دهیم. نمونه ای از این کار را در زیر می بینید:

crontab -u root crontab.root

در اینجا برای کاربر root دستورات فایل crontab.root را ثبت کرده ایم.

اکنون برای اطمینان می توانیم از دستور زیر استفاده کرده و و لیست همه دستورات کرون که باید  اجرا شوند را ببینیم:

crontab -l

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

service crond restart

لاگ اجرای کرون در لینوکس

لاگ اجرای کرون در فایل /var/log/cron قرار دارد. که می توان از صحت اجرای دستورات کرون اطمینان حاصل کرد.

اطلاعات بیشتر از دستورات کرون

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

  •  دقیقه که عددی از 0 تا 59 است،
  • ساعت عددی از 0 تا 23 است،
  • روز که عددی از 1 تا 31 است،
  • ماه که عددی از 1 تا 12 است،
  • روز هفته که عددی از 0 تا 6 است و بیانگر یکشنبه تا شنبه است.
  • دستور شل که باید اجرا شود.

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

پاسخ شما

حریم شخصی : آدرس ایمیل شما محفوظ میماند و برای استفاده های تجاری و تبلیغاتی به کار نمی رود
FOXNET محلی برای دانستن واشتراک مطالبی که نمی دانستید

سوالات مشابه

0 امتیاز
0 پاسخ 330 بازدید
سوال شده اکتبر 14, 2017 در لینوکس توسط admin مدیر کل (15.6k امتیاز)
0 امتیاز
0 پاسخ 464 بازدید
سوال شده ژوئن 20, 2016 در لینوکس توسط admin مدیر کل (15.6k امتیاز)
0 امتیاز
0 پاسخ 307 بازدید
سوال شده مارس 9, 2015 در لینوکس توسط admin مدیر کل (15.6k امتیاز)
0 امتیاز
0 پاسخ 333 بازدید
سوال شده اوت 10, 2020 در میکروتیک توسط بی نام
0 امتیاز
1 پاسخ 635 بازدید
...