کرون (Cron) و انواع آن در سیستم عامل های مختلف
تهیه نسخه پشتیبان از داده های خود برای جلوگیری از از دست دادن فایل های مهم ضروری است، اما می تواند فرآیندی زمان بر و خسته کننده باشد. خوشبختانه، کاربران لینوکس به ابزار قدرتمندی به نام cron دسترسی دارند که به آنها اجازه می دهد فرآیند پشتیبان گیری را به طور کامل خودکار کنند. در این پست به بررسی کرون و انواع آن خواهیم پرداخت.
Cron ابزاری مبتنی بر زمان است که به شما امکان میدهد دستورات یا اسکریپتها را در زمانها یا فواصل زمانی خاص اجرا کنید. این یک ابزار همه کاره است و می تواند برای انجام کارهای مختلف از جمله پشتیبان گیری، تعمیر و نگهداری سیستم و سایر کارهای معمول استفاده شود. در این پست، انواع مختلف cron موجود در لینوکس، نحوه تنظیم یک اسکریپت پشتیبان، و نحوه برنامه ریزی برای اجرای خودکار آن با استفاده از cron را بررسی خواهیم کرد.
در پایان این پست، شما درک کاملی از نحوه استفاده از cron برای خودکار کردن فرآیند پشتیبان گیری خود خواهید داشت و اطمینان حاصل می کنید که داده های شما همیشه ایمن و ایمن هستند.
کرون و انواع آن: تفاوت cronjob و crontab و Cron چیست؟
کرون و انواع آن شاید سؤال هایی باشد که بارها شنیده اید و بارها از خودتون پرسیده اید که نحوه عملکرد آن چگونه است. کرون و انواع آن در واقع برگرفته از Command Run On می باشد. که در واقع یک پروسس سیستمی می باشد در همه سرورها همواره نیاز به این بوده است که در زمان های مقرر شده ای از قبل، کارهایی به صورت خودکار انجام گیرد. از این کارهای خودکار میتوان به بکاپ گیری اشاره کرد. این عملیات خودکار نیاز به یک سرویس خاص دارد که روی سرورمورد نظر نصب، تنظیم و پیادهسازی شود.
سرویس های بکاپ گیری در سیستم عامل های ویندوزی Scheduled Tasks وScheduler و در سرورهای لینوکسی Crontab یا Cronjob نامیده می شوند که البته این دو مفهوم ممکن است به جای یکدیگر به کار روند اما در تعریف علمی و در عملکرد با هم تفاوت دارند پس بنابراین دچار اشتباه نشوید. در این مقاله قصد داریم به تعریف مفاهیم Cron, Crontab, Cronjob بپردازیم.
کرون و انواع آن:
انواع مختلفی از Cron نیز وجود دارد، از جمله Anacron و Systemd Timer که عملکردهای مشابهی را ارائه می دهند، اما با برخی تفاوت ها. به عنوان مثال، Anacron برای رسیدگی به مسائل از دست رفته در Cron به دلیل خاموش بودن رایانه یا در حالت خواب در طول زمان برنامه ریزی شده توسعه داده شد. Systemd Timer بخشی از سیستم Systemd است و برای مدیریت خدمات و زمان بندی وظایف استفاده می شود.
به طور کلی، کرون و انواع آن ابزارهای قدرتمندی هستند که می توانند به خودکارسازی فرآیندهای پشتیبان گیری و صرفه جویی در زمان برای مدیران سیستم لینوکس کمک کنند.
- کرون تیبل که نام های دیگری مثل کرون تب، crontab و cron table را دارا می باشد.
- کرون که نام کامل آن Command Run On می باشد.
- کرون جاب که نام دیگری مثل cronjob را دارا می باشد.
cron چیست؟
cron در واقع برگرفته از واژه ای یونانی به نام chron که پیشوند یونانی “زمان” است. در سیستم عامل های Unix Base سرویسی به نام Cron d وجود دارد که وظیفه اجرای کار های مختلف در زمان های مشخص در سرور را بر عهده دارد و در هرکدام از سیستم ها ممکن است در یک مسیر خاصی قرار داشته باشد اما عملکرد آن در همه جا یکسان است و هنگام بوت شدن سیستم عامل اغلب ازrun level 2 تا 5 در دسترس قرار میگیرند.
Cron یک ابزار کاربردی محبوب است که در سیستم عامل های مبتنی بر لینوکس برای زمان بندی وظایف استفاده می شود. این یک ابزار خط فرمان است، به این معنی که کاربران می توانند آن را از یک ترمینال یا پوسته اجرا کنند و می توان از کرون و انواع آن برای خودکارسازی وظایف مختلف از جمله پشتیبان گیری استفاده کرد.
این سرویس تمامی تسک ها را به صورت اسکریپت در مسیر /etc نگهداری میکند که شامل تسک های ساعتی، روزانه، هفتگی و ماهانه است. به عنوان مثال، می توانید یک نسخه پشتیبان از سیستم خود را برنامه ریزی کنید تا هر روز در یک زمان خاص یا هر هفته یا حتی هر ساعت اجرا شود.
Cron با خواندن یک فایل پیکربندی کار می کند که در آن وظایفی را که می خواهید اجرا کنید و زمانی که می خواهید اجرا شوند تعریف می کنید. سپس وظایف را در زمان های مشخص شده اجرا می کند. یکی از مزایای استفاده از Cron برای پشتیبان گیری این است که نیاز به پشتیبان گیری دستی را از بین می برد که می تواند زمان بر و مستعد خطا باشد.
Crontab چیست؟
مخفف cron table می باشد و شبیه به فایلی است که مسئولیت نگهداری از فهرست دستورها ورودی از cron و زمانبندی اجرای آن ها را به عهده دارد. ممکن است مکان این فایل بر اساس سیستم عامل شما، متفاوت باشد. کرون تب یا همان کرون تیبل که یکی از انواع کرون ها می باشد، دارای سوئیچ های مختلفی است که تعدادی از آنها به شرح ذیل می باشند:
- crontab -l مشاهده لیست جاب ها
- crontab -e ویرایش یا ایجاد یک crontab جدید
- crontab -r حذف فایل
- crontab -v مشاهده آخرین تغییرات در فایل که البته در برخی از سیستم عامل ها وجود دارد.
- crontab -u برای ویرایش یا مشاهده فایل crontab سایر کاربران است که این امکان فقط میتواند در اختیار سرپرستان باشد.
این جدول شامل تنظیمات زمانی می باشد که به ترتیب از چپ به راست دقیقه، ساعت، روز، ماه و روز مشخصی از هفته می باشد و در جلوی آن دستور (cronjob) قرار میگیرد و اجرای تمامی این کرون جاب ها منوط به روشن بودن سرور در زمانی مقرر می باشد.
نحوه ایجاد یک اسکریپت پشتیبان در کرون و انواع آن
ایجاد یک اسکریپت پشتیبان در لینوکس می تواند یک فرآیند ساده با کمک Cron و انواع آن باشد. اولین قدم باز کردن ترمینال و ایجاد یک فایل جدید برای اسکریپت است. این کار را می توان با استفاده از دستور لمسی و به دنبال آن نام فایل و پسوند .sh انجام داد. برای مثال، backup_script.sh را لمس کنید.
پس از ایجاد فایل، نوبت به ویرایش اسکریپت با استفاده از یک ویرایشگر متنی مانند nano یا vi می رسد. در اسکریپت باید محل فایل هایی که باید پشتیبان گیری شوند، مقصدی که فایل های پشتیبان در آن ذخیره می شوند و فرکانس هایی که باید پشتیبان گیری انجام شود را مشخص کنید.
به عنوان مثال، می توانید محل فایل ها را به صورت /home/user/documents/ و مقصد فایل های پشتیبان را به صورت /home/user/backups/ تعریف کنید. همچنین می توانید بسته به نیاز خود، فرکانس تهیه نسخه پشتیبان را به صورت روزانه، هفتگی یا ماهانه تنظیم کنید.
پس از تعریف این پارامترها، می توانید با استفاده از دستور tar یک آرشیو فشرده از فایل ها در محل مشخص شده ایجاد کنید. سپس می توانید با استفاده از دستور cp آرشیو را در مقصد مشخص شده کپی کنید.
پس از ایجاد اسکریپت پشتیبان، می توانید آن را آزمایش کنید تا مطمئن شوید که درست کار می کند. می توانید این کار را با اجرای دستی اسکریپت با استفاده از ترمینال انجام دهید. اگر پشتیبان گیری موفقیت آمیز بود، می توانید Cron و انواع آن را برای خودکار کردن فرآیند پشتیبان گیری در فرکانس تعریف شده تنظیم کنید. این تضمین می کند که فایل های شما به طور منظم و بدون هیچ گونه مداخله دستی پشتیبان گیری می شوند.
راه اندازی و اجرای Cron job برای پشتیبان گیری خودکار
اکنون که اسکریپت پشتیبانگیری را ایجاد کردهایم و مطمئن شدیم که درست کار میکند، زمان آن رسیده است که فرآیند پشتیبانگیری را با استفاده از Cron خودکار کنیم.
Cron یک زمانبندی مبتنی بر زمان در لینوکس است که به شما امکان میدهد دستورات یا اسکریپتها را به طور خودکار در بازههای زمانی مشخص اجرا کنید. راه اندازی کار Cron ساده است و می توانید با دنبال کردن این مراحل ساده آن را انجام دهید:
- فایل Crontab را با تایپ دستور زیر در ترمینال خود باز کنید:
“crontab -e“`
- با این کار فایل Crontab در ویرایشگر متن پیش فرض شما باز می شود. اکنون خط زیر را در انتهای فایل اضافه کنید تا اسکریپت پشتیبان روزانه در نیمه شب اجرا شود:
“`0 0 * * * /home/user/backup.sh“`
این خط به کرون می گوید که اسکریپت را هر روز ساعت 12:00 صبح اجرا کند. شما می توانید این خط را برای تنظیم برنامه بر اساس نیاز خود تغییر دهید. به عنوان مثال، اگر می خواهید اسکریپت پشتیبان را هر ساعت اجرا کنید، می توانید به جای آن از خط زیر استفاده کنید:
“`0 * * * * /home/user/backup.sh“`
- هنگامی که کار Cron را اضافه کردید، فایل Crontab را ذخیره کرده و از ویرایشگر خارج شوید.
شما با موفقیت کار Cron را برای پشتیبانگیری خودکار راهاندازی کردید. اکنون Cron اسکریپت پشتیبان گیری را در بازه های زمانی مشخص شده به طور خودکار اجرا می کند. میتوانید بنشینید و استراحت کنید، زیرا بدانید که از دادههای شما به طور منظم و بدون هیچ گونه مداخله دستی پشتیبانگیری میشود.
مزایای استفاده از کرون و انواع آن برای پشتیبان گیری خودکار
در نتیجه، کرون و انواع آن در لینوکس ابزارهای قدرتمندی هستند که به شما امکان میدهند فرآیند پشتیبانگیری خود را به راحتی خودکار کنید. با استفاده از Cron، میتوانید پشتیبانگیری منظم از فایلها و دادههای مهم خود را برنامهریزی کنید و اطمینان حاصل کنید که در صورت بروز فاجعه یا خرابی سیستم، همیشه به آنها دسترسی دارید.
استفاده از Cron و انواع آن برای پشتیبان گیری خودکار مزایای زیادی دارد. اول از همه، در وقت و تلاش شما صرفه جویی می کند. به جای پشتیبانگیری دستی از فایلهای خود هر روز، هفته یا ماه، میتوانید یک کار Cron را تنظیم کنید تا آن را به صورت خودکار برای شما انجام دهد. این بدان معناست که شما مجبور نیستید زمان خود را برای به خاطر سپردن نسخه پشتیبان از فایل های خود تلف کنید و می توانید روی کارهای مهم دیگر تمرکز کنید.
یکی دیگر از مزایای استفاده از Cron برای پشتیبان گیری خودکار این است که خطر خطای انسانی را کاهش می دهد. با خودکار کردن فرآیند پشتیبان گیری، اطمینان حاصل می کنید که هر بار به طور مداوم و صحیح انجام می شود. این امر خطر اشتباهاتی مانند فراموش کردن پشتیبان گیری از یک فایل یا پشتیبان گیری از فایل اشتباه را کاهش می دهد.
Cronjob چیست؟
میتواند یک خط فرمان یا یک اسکریپت که با هر زبانی، به منظور انجام یک یا چند کار خاص نوشته شده باشد که با استفاده از جدول برنامه ریزی crontab قابلیت اجرا در فواصل زمانی مختلف را پیدا می کند. برای نوشتن این اسکریپت ها اغلب از زبان های Bash, Python, Perl استفاده می شود.
نتیجه گیری استفاده از کرون و انواع آن:
در نهایت، Cron و انواع آن بسیار قابل تنظیم هستند و به شما این امکان را میدهند تا برنامه پشتیبان (مثلا voip) خود را مطابق با نیازهای خاص خود تنظیم کنید. میتوانید برنامههای مختلف پشتیبانگیری را برای فایلها یا فهرستهای مختلف تنظیم کنید، و میتوانید فرکانس و زمان روز را برای هر پشتیبان انتخاب کنید. این تضمین می کند که نسخه های پشتیبان شما همیشه به روز هستند و همیشه برای بدترین سناریو آماده هستید.
به طور خلاصه، کرون و انواع آن در لینوکس یک ابزار ارزشمند برای هر کسی است که به دنبال خودکار کردن فرآیند پشتیبان گیری خود است. با استفاده از Cron، می توانید در زمان صرفه جویی کنید، خطر خطای انسانی را کاهش دهید و برنامه پشتیبان گیری خود را برای رفع نیازهای خاص خود سفارشی کنید. پس چرا آن را امتحان نکنید و ببینید که چگونه می تواند برای شما و کسب و کارتان مفید باشد؟
امیدواریم پست وبلاگ ما در مورد خودکارسازی فرآیند پشتیبان گیری با کرون و انواع آن در لینوکس آموزنده و مفید بوده باشید. همانطور که میدانید، پشتیبانگیری از فایلها و دادههای مهم شما برای حفظ بینظیر کارتان حیاتی است. با استفاده از Cron و انواع آن، میتوانید این فرآیند را خودکار کنید و در وقت خود صرفهجویی کنید و خطر از دست رفتن دادهها را کاهش دهید.