ஒவ்வொரு நிமிடமும் ஒரு கிரான் வேலையை இயக்கவும்

Run Cron Job Every Minute



நீங்கள் லினக்ஸில் பின்னணியில் ஒரு நிரல் அல்லது ஸ்கிரிப்டை இயக்க விரும்பினால், கிரான் வேலை மிகவும் முக்கியமானது. கிரான் வேலைகளின் உதவியுடன், கொடுக்கப்பட்ட கால இடைவெளிக்குப் பிறகு பின்னணியில் ஒரு நிரல் அல்லது ஸ்கிரிப்டை இயக்கலாம்.

கிரான் வேலைகளின் சில நிஜ வாழ்க்கை உதாரணங்களைப் பார்ப்போம்.







  • நீங்கள் ஒரு வலைத்தளம் வைத்திருக்கிறீர்கள் என்று சொல்லலாம், உங்கள் வலைத்தளத்தின் அனைத்து பயனர்களுக்கும் ஒவ்வொரு நாளும் ஒரு மின்னஞ்சலை அனுப்ப விரும்புகிறீர்கள். நீங்கள் செய்ய வேண்டியது, மின்னஞ்சல் அனுப்பும் ஸ்கிரிப்டை எழுதி, அந்த ஸ்கிரிப்டை தினமும் இயக்க ஒரு கிரான் வேலையை அமைக்கவும்.
  • நீங்கள் ஒரு விளம்பர நிறுவனத்தை வைத்திருக்கிறீர்கள் என்று சொல்லலாம், மீதமுள்ள 5 $ க்கு கீழே உள்ள அனைத்து விளம்பரதாரர்களுக்கும் ரீசார்ஜ் செய்ய நினைவூட்ட விரும்புகிறீர்கள். நீங்கள் செய்ய வேண்டியது அனைத்து விளம்பரதாரர்களின் சமநிலையை சரிபார்க்கும் ஒரு ஸ்கிரிப்டை எழுத வேண்டும் மற்றும் அது 5 $ க்குக் கீழே இருக்கும்போது, ​​அது விளம்பரதாரரின் மொபைல் எண் அல்லது மின்னஞ்சலுக்கு ஒரு அறிவிப்பை அனுப்பும். ஒவ்வொரு 5 முதல் 10 நிமிடங்களுக்கும் அல்லது ஒவ்வொரு மணி நேரத்திற்கும் ஸ்கிரிப்டை இயக்க ஒரு கிரான் வேலையை அமைக்கவும்.

லினக்ஸில் கிரான் வேலைகளின் பல பயன்பாடுகள் உள்ளன.



இந்த கட்டுரையில், லினக்ஸில் ஒவ்வொரு நிமிடமும் கிரான் வேலைகளை எவ்வாறு இயக்குவது என்பதை நான் உங்களுக்குக் காண்பிப்பேன். ஆர்ப்பாட்டத்திற்கு நான் டெபியன் 9 ஸ்ட்ரெட்சைப் பயன்படுத்துவேன். ஆனால் நீங்கள் விரும்பும் எந்த நவீன லினக்ஸ் விநியோகத்தையும் நீங்கள் பயன்படுத்தலாம். ஆரம்பிக்கலாம்.



லினக்ஸில், நீங்கள் இருக்க வேண்டியதில்லை வேர் கிரான் வேலைகளை நடத்துவதற்காக. எந்தவொரு பயனராகவும் நீங்கள் கிரான் வேலைகளை இயக்கலாம். லினக்ஸில் உள்ள ஒவ்வொரு பயனரும் a ஐப் பயன்படுத்தலாம் crontab தங்கள் சொந்த கிரான் வேலைகளை இயக்க கோப்பு.





இயல்பாக, பயனருக்கு ஏ இல்லை crontab லினக்ஸில் கோப்பு. நீங்கள் ஒன்றை உருவாக்கலாம் crontab பின்வரும் கட்டளையுடன் கோப்பு:

$crontabமற்றும் மற்றும்



நீங்கள் இந்த கட்டளையை முதல் முறையாக இயக்குகிறீர்கள் என்றால், பட்டியலிலிருந்து ஒரு உரை எடிட்டரை எடுக்கும்படி கேட்க வேண்டும். நான் தேர்ந்தெடுப்பேன் நானோ , இயல்புநிலை. நீங்கள் விரும்பும் ஒன்றை நீங்கள் தேர்வு செய்யலாம். நீங்கள் முடித்தவுடன், அழுத்தவும் .

தி crontab கோப்பு உருவாக்கப்பட வேண்டும் (ஏற்கனவே கிடைக்கவில்லை என்றால்) மற்றும் உங்களுக்கு பிடித்த உரை திருத்தியுடன் திறக்கப்பட வேண்டும். இப்போது இந்தக் கோப்பின் முடிவில் உங்கள் சொந்த கிரான் வேலைகளைச் சேர்க்கலாம், நீங்கள் மகிழ்ச்சியடைந்தவுடன், அதைச் சேமித்து உரை எடிட்டரிலிருந்து வெளியேறவும்.

ஒவ்வொரு நிமிடமும் ஒரு கட்டளையை இயக்குவதற்கான தொடரியல்:

இன் தொடரியல் crontab கோப்பு பின்வருமாறு:

நிமிட மணிநேர நாள் மாத மாதம் நாள் ஆஃப்வீக் கட்டளை

இங்கே,

  • நிமிடம் இருக்கமுடியும் 0 க்கு 59 .
  • மணி கூட இருக்க முடியும் 0 க்கு 59 .
  • நாள்ஒரு மாதம் இருக்கமுடியும் 1 க்கு 31 .
  • மாதம் இருக்கமுடியும் 1 க்கு 12 .
  • dayOfWeek இருக்கமுடியும் 0 க்கு 7 . 0 மற்றும் 7 ஞாயிறு என்று பொருள், 1 திங்கள் என்று பொருள், 2 செவ்வாய் மற்றும் பல.

இயக்க ஒரு commandToRun ஒவ்வொரு நிமிடமும் கட்டளையிடுங்கள், நீங்கள் அதை எழுத வேண்டும் crontab பின்வருமாறு கோப்பு:

* * * * *commandToRun

ஒவ்வொரு நிமிடமும் ஒரு கிராப் வேலையை நடத்துதல்:

இப்போது நாம் கோட்பாடுகளை அறிந்திருக்கிறோம், ஒரு எளிய ஸ்கிரிப்டைச் சேர்ப்போம் timer.sh க்கு crontab கோப்பு மற்றும் அதை எப்படி நிர்வகிப்பது என்று பார்க்கவும்.

இல் timer.sh ஸ்கிரிப்ட், என்னிடம் பின்வரும் வரிகள் மட்டுமே உள்ளன. இது ஒரு புதிய கோப்பை உருவாக்குவது மட்டுமே /home/shovon/bin/timer.log (ஏற்கனவே இல்லை என்றால்) மற்றும் தேதி கட்டளையின் வெளியீட்டை அதனுடன் இணைக்கிறது.

இப்போது ஸ்கிரிப்டை எங்களுடன் சேர்க்கலாம் crontab ஒவ்வொரு நிமிடமும் பின்வரும் வரியுடன் இயங்கட்டும்:

* * * * * /வீடு/ஷோவன்/நான்/timer.sh

நீங்கள் சேமித்தவுடன் crontab கோப்பு மற்றும் உரை எடிட்டரிலிருந்து வெளியேறு, புதியது crontab கோப்பு நிறுவப்பட வேண்டும்.

ஒரு நிமிடம் கழித்து, ஒரு புதிய கோப்பு timer.log கீழே உள்ள ஸ்கிரீன்ஷாட்டின் குறிக்கப்பட்ட பிரிவில் நீங்கள் பார்க்க முடியும் என விரும்பிய கோப்பகத்தில் உருவாக்கப்பட்டது.

இருந்து timer.log பதிவு கோப்பு, ஸ்கிரிப்ட் என்பது வெளிப்படையானது timer.sh ஒவ்வொரு நிமிடமும் இயங்கும்.

கிரான் வேலைகளிலிருந்து பிழைகளைப் பிடித்தல்:

ஒரு கிரான் வேலையில் இருந்து பிழைகளைப் பிடிக்க, நீங்கள் பிழைகளை a க்கு அனுப்பலாம் error.log கோப்பு மற்றும் சாதாரண வெளியீடுகள் access.log உதாரணமாக கோப்பு. நிச்சயமாக நீங்கள் விரும்பும் எதையும் கோப்புகளுக்கு பெயரிடலாம்.

இதை நிரூபிக்க, நான் எனது ஸ்கிரிப்டை மாற்றினேன் timer.sh கொஞ்சம். பிழைகள் இப்போது அனுப்பப்படுகின்றன error.log இல் உள்ள கோப்பு / வீடு / ஷோவன் / பின் அடைவு மற்றும் வெளியீடுகள் அனுப்பப்படுகின்றன access.log இல் / வீடு / ஷோவன் / பின் அடைவு

முதலில் தி /tmp/நான்_இங்கே_இருக்க வேண்டும் கோப்பு இல்லை, அதனால் நான் பிழையைப் பெறுகிறேன் error.log நீங்கள் பார்க்க முடியும் என கோப்பு.

தி access.log கோப்பு தற்போது காலியாக உள்ளது.

இப்போது நான் கோப்பை உருவாக்க போகிறேன் /tmp/நான்_இங்கே_இருக்க வேண்டும்

நீங்கள் பார்க்க முடியும் என, வெளியீடு உள்ளது access.log இப்போது கோப்பு.

நீங்கள் விரும்பினால், அதே கோப்பில் உள்ள வெளியீடு மற்றும் பிழைகளை பின்வருமாறு திருப்பிவிடலாம்:

நீங்கள் பார்க்க முடியும் என, STDIN மற்றும் STDERR வெளியீடுகள் அனுப்பப்படுகின்றன out.log கோப்பு.

வேலையை மீண்டும் இயக்குவதற்கு முன்பு கடைசி வேலையை முடித்ததை உறுதி செய்தல்:

இது வேலை செய்ய, வேலை தொடங்கிய பிறகு நீங்கள் ஒரு தற்காலிக கோப்பை உருவாக்கி, அது முடிவதற்கு முன்பே அதை அகற்றலாம். வேலையைத் தொடங்குவதற்கு முன் தற்காலிக கோப்பு இருக்கிறதா என்று நீங்கள் சரிபார்க்கலாம். அது நடந்தால், தற்காலிக கோப்பு கிடைக்காதபோதுதான் நீங்கள் வேலையை விட்டு வெளியேறி வேலையை இயக்க முடியும்.

இந்த எளிய ஸ்கிரிப்ட் அதைச் செய்கிறது.

நீங்கள் பார்க்க முடியும் என, தி timer.pid கோப்பு உருவாக்கப்பட்டது.

படிப்பது access.log முந்தைய கிரான் வேலை முடிவதற்குள் கிரான் வேலை இயங்காது என்பதை கோப்பு நிரூபிக்கிறது. நீங்கள் பார்க்க முடியும் என, அது 01:32:01 மணிக்கு இயங்கியது, அடுத்த முறை அது 01:33:01 மணிக்கு ஓட வேண்டும், ஆனால் அது இல்லை. மாறாக, அது சுமார் 3 நிமிடங்கள் கழித்து, 01:35:01 மணிக்கு இயங்கியது.

எளிதாக பிழைத்திருத்தத்திற்காக கிரான் வேலை வெளியீடுகளை ஒழுங்கமைத்தல்:

உங்கள் கிரான் வேலையை பிழைதிருத்தம் செய்ய எளிதாக வெளியீடுகளை வடிவமைக்கலாம்.

அதை எப்படி செய்யலாம் என்பதற்கான உதாரணம் பின்வரும் ஸ்கிரிப்டில் கொடுக்கப்பட்டுள்ளது.

நீங்கள் பார்க்க முடியும் என, வெளியீடுகள், பிழைகள் மற்றும் வெற்றி செய்திகள் பதிவு கோப்பில் நன்றாக அச்சிடப்பட்டுள்ளன.

கிரான் வேலைகள் மற்றும் ஷெல் ஸ்கிரிப்ட்கள் மூலம் நீங்கள் அற்புதமான விஷயங்களைச் செய்யலாம். நான் இங்கே சில யோசனைகளை நிரூபித்தேன். ஆனால் வானம் உங்கள் எல்லை. உங்களிடம் உள்ள எந்த யோசனையையும் பரிசோதிக்க தயங்க. இந்தக் கட்டுரையைப் படித்ததற்கு நன்றி.