(Command Scheduler (KRON چیست؟
ابزاری کارآمد برای اجرای دستورات EXEC mod در زمان های مشخص میباشد که میتوان از آن برای اتوماتیک سازی بعضی از دستورات استفاده کرد. به عنوان مثال گرفتن Backup از تنظیمات روتر و ارسال به یک tftp server در شبکه به صورت دورهای. همین عملکرد درسیستم عامل unix به اسم cron و در linux به اسم crontab شناخته میشود.
برای استفاده از KRON باید به دو سئوال پاسخ دهید؛ چه زمانی و چه دستوراتی ؟
برای مشخص کردن دستورات تعریف یک kron policy-list و سپس درج دستورات مدنظر ضروری است .
[kron policy-list list-name [conditional
Device(config)# kron policy-list save
Device(config-kron-policy)#cli write
در مثال بالا یک Kron Policy به اسم save تعریف شده است که دستور write را اجرا خواهد کرد.
نکته: دستورات که به صورت تعاملی هستند و نیازمند پاسخ از سمت کاربر هستند در Kron Policy دچار خطا میشود. به عنوان مثال میتوان بجای استفاده از دستور copy running-config startup-config که نیازمند پاسخ از سمت کاربر است از دستور write جهت ذخیره کردن تنظیمات استفاده کرد.
همچنین میتوان با استفاده از آپشن conditional در هنگام تعریف Kron policy، از اجرای دستورات در مواقع خطا جلوگیری کنیم.
حالا نوبت به این میرسد که تعریف کنیم چه زمانی دستورات اجرا شوند.
kron occurrence occurrence-name [user username] {in[[numdays:]numhours:]nummin| at hours:min[[month] day-of-month] [day-of-week]} {oneshot| recurring| system-startup}
optionهای تعریف kron occurrence عبارتند از:
- in: زمانی استفاده میشود که نیاز به یک بازه زمانی داریم. این بازه ی زمانی بعد از اجرای دستور شروع به کار میکند.
مثال: kron occurrence week in 7:0:0 –> یک بازه زمانی 7 روزه ایجاد میشود.
- at: برای اجرا دستورات در یک زمان مشخص و دقیق استفاده میشود.
مثال : kron occurrence sales at 6:30 may 20 –> دستورات در تاریخ 20 may هر سال در ساعت 6:30 اجرا شود.
- Oneshot: دستورات در زمانی که با دستور at تعریف شده یک بار اجرا میشود.
مثال : kron occurrence sales at 6:30 may 20 oneshot –> دستورات در تاریخ 6:30 may 20 اجرا میشود و خاتمه پیدا میکند.
نکته: بعد از اجرا kron occurrence در حالتی که از گزینه oneshot استفاده شده باشد kron occurrence از running-config روتر حذف میشود.
- Recurring: دستورات در زمانی که با دستور at تعریف شده تکرار میشود.
مثال : kron occurrence RELOAD at 03:00 Sun recurring –> دستورات هر یکشنبه ساعت 3 اجرا میشود.
- system-startup: زمانی استفاده میشود که روتر در وضعیت system-startup باشد.
حالا kron policy-list مربوطه را به kron occurrence اعمال میکنیم تا دستورات تعریف شده در kron policy-list در زمان تعریف شده اجرا شود.
Router(config-kron-occurrence)# policy-list save
- نکته:امکان اعمال بیشتر از 31 policy-list list-name در یک زمان وجود ندارد.
برای چک کردن وضعیت زمان بندی و خطایابی میتوان از دستورات زیر استفاده کرد.
Device# show kron schedule
Device# debug kron
یک مثال کاربردی:
Router(config)# kron policy-list Backup
Router(config-kron-policy)#cli show run | redirect tftp://172.16.100.1/test.cfg
Router(config-kron-policy)# exit
Router(config)# kron occurrence Backup at 23:00 Friday recurring
Router(config-kron-occurrence)# policy-list Backup
در مثال بالا Policy ای به اسم Backup تعریف شده که Running config روتر را هر جمعه ساعت 11 شب به یک tftp server با آدرس 172.16.100.1 ارسال میکند.
منابع:
https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/cns/configuration/15-s/cns-15-s-book/cns-cmd-sched.html
https://community.cisco.com/t5/other-network-architecture/auto-backup-using-kron-method/td-p/2354796