இந்த டுடோரியலில், கிரானுடன் ஒரு வேலையைத் திட்டமிட நீங்கள் புரிந்து கொள்ள வேண்டிய அனைத்தையும் பற்றிய அடிப்படை அறிமுகத்தை நாங்கள் உங்களுக்கு வழங்குவோம். இதில் க்ரோனின் அடிப்படை தொடரியல், க்ரோன்டாப் கோப்பைத் திருத்துதல், சில உதாரணங்களுடன் கிரானுடன் ஒரு வேலையைத் திட்டமிடுதல், கிரான் வேலையைப் பார்ப்பது போன்றவை அடங்கும்.
கிரான் வேலையின் அடிப்படைகள்
ஒரு கிரான் வேலையின் சில அடிப்படைகளைப் புரிந்துகொள்வோம்.
கிராண்ட் என்றால் என்ன?
கிராண்ட் என்பது லினக்ஸ் அமைப்பில் உள்ள டீமான் ஆகும், இது பின்னணியில் இயங்குகிறது மற்றும் அந்த நேரத்தில் ஏதேனும் வேலை திட்டமிடப்பட்டுள்ளதா என்று ஒவ்வொரு நிமிடமும் சரிபார்க்கிறது. இருந்தால், அது அந்த வேலையைச் செய்கிறது, இல்லையெனில் அது செயலற்றதாக இருக்கும்.
கிரான் வேலை தொடரியல்
கிரான் வேலைக்கான தொடரியல் பின்வருமாறு:
* * * * *கட்டளை/கையால் எழுதப்பட்ட தாள்
இடமிருந்து:
- முதல் * நிமிடங்களுக்கு ஒத்திருக்கிறது (0-59)
- இரண்டாவது * மணிநேரத்திற்கு ஒத்திருக்கிறது (0-23)
- மூன்றாவது * மாதத்தின் நாளுக்கு ஒத்திருக்கிறது (1-31)
- நான்காவது * ஆண்டின் மாதத்துடன் ஒத்துள்ளது (1-12)
- ஐந்தாவது * வாரத்தின் நாளுக்கு ஒத்திருக்கிறது (0-6, ஞாயிறு முதல் சனிக்கிழமை வரை)
ஒரு புலத்தில் பல மதிப்புகளைக் குறிப்பிட, பின்வரும் ஆபரேட்டர் சின்னங்களைப் பயன்படுத்தவும்:
- நட்சத்திரம் (*): ஒரு புலத்திற்கு சாத்தியமான அனைத்து மதிப்புகளையும் குறிப்பிட
- கோடு (-): க்கு கள் மதிப்புகளின் வரம்பைக் குறிப்பிடவும்
- கமா (,): மதிப்புகளின் பட்டியலைக் குறிப்பிட
- பிரிப்பான் (/): ஒரு படி மதிப்பை குறிப்பிட
க்ரோன்டாப் கோப்பைத் திருத்துதல்
Crontab என்பது ஒரு குறிப்பிட்ட தொடரியல் திட்டமிடப்பட்ட வேலைகளைக் கொண்ட ஒரு கோப்பு. இரண்டு வகையான crontab கோப்புகள் உள்ளன; ஒன்று அமைப்பு சார்ந்த கிரான் வேலைகளுக்கும் மற்றொன்று பயனர் சார்ந்த கிரான் வேலைகளுக்கும்.
சிஸ்டம் கிரான் வேலைகள்
கணினி அளவிலான கிரான் வேலைகள் அமைந்துள்ள /etc/crontab கோப்பு மற்றும் /etc/cron.d அடைவு, மற்றும் அவர்கள் மூலம் இயங்கும் /etc/cron.hourly , /etc/cron.daily , /etc/cron.weekly மற்றும் /etc/cron. மாதாந்திர. கணினி நிர்வாகி மட்டுமே இந்தக் கோப்புகளை அணுக முடியும்.
ஒரு கணினி நிர்வாகி பின்வரும் கட்டளையைப் பயன்படுத்தி ஒரு கிரான் வேலையை வரையறுக்கலாம்:
$நானோ /முதலியன/crontabவேலையின் தொடரியல் இங்கே /etc/crontab கோப்பு:
# min hr dayofmonth மாதம் dayweek பயனர்பெயர் கட்டளை* * * * *பயனர் 1ifconfig
பயனர் சார்ந்த கிரான் வேலைகள்
பயனர் சார்ந்த கிரான் வேலைகள் / இல் அமைந்துள்ளன var / spool / cron / crontabs அடைவு நீங்கள் இந்த வேலைகளை கைமுறையாக திருத்த முடியும் என்றாலும், இந்த வேலைகளை crontab -e கட்டளையைப் பயன்படுத்தி திருத்த பரிந்துரைக்கப்படுகிறது.
ஒரு நிலையான பயனர் பின்வரும் கட்டளையைப் பயன்படுத்தி ஒரு கிரான் வேலையை வரையறுக்கலாம்:
$crontabமற்றும் மற்றும்உதாரணமாக, நீங்கள் ஒரு சோதனை பயனராக உள்நுழைந்திருந்தால், crontab -e கட்டளையை இயக்குவது சோதனை பயனருக்கான crontab கோப்பைத் திருத்தும். இதேபோல், நீங்கள் ரூட் பயனராக உள்நுழைந்திருந்தால், crontab -e கட்டளை மூல பயனருக்கான crontab கோப்பைத் திருத்தும்.
வேறு எந்த பயனருக்கும் crontab கோப்பைத் திருத்த கீழேயுள்ள கட்டளையை டெர்மினலில் வழங்கவும்:
$சூடோcrontab-உ <பயனர்பெயர்> மற்றும் மற்றும்எடுத்துக்காட்டாக, நீங்கள் test1 பயனராக உள்நுழைந்து, test2 பயனருக்கான crontab கோப்பைத் திருத்த விரும்பினால், கட்டளை:
$சூடோcrontab-உசோதனை 2மற்றும் மற்றும்க்ரோன்டாப் கோப்பில் சேர்க்கக்கூடிய கிரான் வேலையின் தொடரியல் இங்கே:
# m h dayofmonth மாதம் நாள் வாரத்தின் கட்டளை* * * * * ifconfig
பயனர்பெயர் பதிவு செய்யப்படவில்லை என்பதை பயனர் குறிப்பிட்ட வேலைகளில் நீங்கள் காணலாம்.
க்ரோன்டாப் கட்டளைகள்
க்ரோன்டாப் கட்டளை க்ரோன் வேலைகளைத் திருத்தவும், பட்டியலிடவும் மற்றும் அகற்றவும் பயன்படுத்தப்படுகிறது:
- crontab -e தற்போதைய பயனரின் crontab கோப்பை திருத்த
- crontab -l க்ரோன்டாப் கோப்பின் உள்ளடக்கங்களைக் காண்பிக்க
- crontab -u [பயனர்பெயர்] வேறு எந்த பயனரின் கிராண்டாப் கோப்பையும் திருத்த
- crontab -r தற்போதைய பயனரின் crontab கோப்பை நீக்க
- crontab -i தற்போதைய பயனரின் க்ரொன்டாப் கோப்பை அகற்றுவதற்கு முன் உடனடியாக காண்பிக்க
கிரானுடன் ஒரு வேலையைத் திட்டமிடுதல்
க்ரோன் மூலம், நீங்கள் ஒரு குறிப்பிட்ட நேரத்தில், தேதி மற்றும் இடைவெளியில் குறைந்தபட்ச யூனிட்டுடன் நிமிடங்களில் ஒரு வேலையை இயக்கலாம், அதாவது, நீங்கள் ஒவ்வொரு நிமிடமும் ஒரு வேலையை இயக்கலாம்.
கிரானுடன் ஒரு வேலையைத் திட்டமிட, முந்தைய பிரிவில் விவாதிக்கப்பட்ட முறையைப் பயன்படுத்தி க்ரோன்டாப் கோப்பைத் திறக்கவும். நீங்கள் க்ரோன்டாப் கோப்பைத் திறந்தவுடன், ஒரு உரை எடிட்டரைத் தேர்ந்தெடுக்கும்படி கேட்கப்படுவீர்கள். உங்களுக்கு விருப்பமான உரை திருத்தியைத் தேர்ந்தெடுக்க எண்ணைத் தட்டச்சு செய்க. கோப்பின் அடிப்பகுதி வரை கீழே உருட்டி மேலே விவரிக்கப்பட்ட தொடரியலில் வேலைகளைச் சேர்க்கவும். ஒரு கோப்பில் உள்ள ஒவ்வொரு வரியும் ஒரு கட்டளையைக் குறிப்பிடுகிறது. வரிசையில் உள்ள முதல் ஐந்து உள்ளீடுகள் திட்டமிடப்பட்ட நேரத்தைக் குறிப்பிடுகின்றன, மேலும் கடைசி கட்டம் எந்த கட்டளை அல்லது ஸ்கிரிப்ட் இயங்க வேண்டும் என்பதைக் குறிப்பிடுகிறது.
உதாரணமாக:
க்ரோன்டாப் கோப்பில் உள்ள பின்வரும் வரி திங்கள் முதல் சனிக்கிழமை வரை வாரத்தின் ஒவ்வொரு நாளிலும் 5 மணிநேரத்திற்கு மேல் ஒவ்வொரு 30 வது நிமிடத்திலும் கட்டளை/ஸ்கிரிப்டை இயக்க கிரான் வேலையை திட்டமிடும்.
* /30 5 * * 1-6கட்டளை/கையால் எழுதப்பட்ட தாள்
நிமிடங்கள்
இந்த புலத்தில், கட்டளை செயல்படுத்தப்பட வேண்டிய நிமிடங்களை நாங்கள் குறிப்பிடுகிறோம். இது 0 முதல் 59 வரை குறிப்பிடப்பட்டுள்ளது. இந்தத் துறையில் * ஒவ்வொரு நிமிடமும் வேலையை இயக்குவதாகும். மேலே உள்ள க்ரோன்டாப் வரிசையில், */30 ஒவ்வொரு 30 நிமிடங்களுக்கும் குறிப்பிட்ட கட்டளை/ஸ்கிரிப்டை இயக்க கிரான் வேலையைச் சொல்கிறது.
மணி
இந்த புலத்தில், கட்டளை செயல்படுத்தப்படும் நேரங்களை நாங்கள் குறிப்பிடுகிறோம். இது 0 முதல் 23 வரை குறிப்பிடப்பட்டுள்ளது. இந்தத் துறையில் * ஒவ்வொரு மணி நேரமும் வேலையை இயக்குவதாகும். மேலே உள்ள க்ரோன்டாப் வரிசையில், மதிப்பு 5 ஒவ்வொரு ஐந்து மணி நேரத்திற்கும் குறிப்பிட்ட கட்டளை/ஸ்கிரிப்டை இயக்க கிரான் வேலையைச் சொல்கிறது.
மாதத்தின் நாள்
இந்த துறையில், கட்டளை செயல்படுத்தப்பட வேண்டிய மாதங்களின் குறிப்பிட்ட நாட்களை நாங்கள் குறிப்பிடுகிறோம். இது 1 முதல் 31 வரை குறிப்பிடப்பட்டுள்ளது. இந்தத் துறையில் * என்பது ஒவ்வொரு நாளும். மேலே உள்ள க்ரோன்டாப் வரிசையில், * ஒவ்வொரு நாளும் குறிப்பிட்ட கட்டளை/ஸ்கிரிப்டை இயக்க கிரான் வேலையைச் சொல்கிறது.
ஆண்டின் மாதம்
இந்த துறையில், கட்டளை செயல்படுத்தப்பட வேண்டிய குறிப்பிட்ட மாதங்களை நாங்கள் குறிப்பிடுகிறோம். இது 1 முதல் 12 வரை குறிப்பிடப்பட்டுள்ளது. இந்தத் துறையில் * என்பது ஒவ்வொரு மாதமும். மேலே உள்ள க்ரோன்டாப் வரிசையில், * ஒவ்வொரு மாதமும் குறிப்பிட்ட கட்டளை/ஸ்கிரிப்டை இயக்க கிரான் வேலையை சொல்கிறது.
வாரத்தின் நாள்
இந்த துறையில், கட்டளையை செயல்படுத்த விரும்பும் வாரத்தின் குறிப்பிட்ட நாட்களை நாங்கள் குறிப்பிடுகிறோம். இது ஞாயிறு முதல் சனிக்கிழமை வரை 0 முதல் 6 வரை குறிப்பிடப்பட்டுள்ளது (ஞாயிற்றுக்கிழமைக்கு 0 மற்றும் சனிக்கிழமைக்கு 6). இந்தத் துறையில் * என்பது வாரத்தில் ஒவ்வொரு நாளும். மேலே உள்ள க்ரோன்டாப் வரிசையில், * குறிப்பிட்ட கட்டளை/ஸ்கிரிப்டை வாரத்தில் ஒவ்வொரு நாளும் இயக்க கிரான் வேலையைச் சொல்கிறது.
கிரான் வேலைகளின் எடுத்துக்காட்டுகள்
கிரான் வேலைகளுக்கான சில உதாரணங்கள் இங்கே:
ஒவ்வொரு 15 நிமிடங்களுக்கும் ஒரு கிரான் வேலையை இயக்கவும்
ஒவ்வொரு 15 நிமிடங்களுக்கும் ஒரு கிரான் வேலையை திட்டமிட, க்ரோன்டாப் கோப்பில் கீழே உள்ள வரியைச் சேர்க்கவும்:
* /பதினைந்து * * * *கட்டளை/கையால் எழுதப்பட்ட தாள்தினமும் அதிகாலை 5 மணிக்கு கிரான் வேலையை நடத்துங்கள்
ஒவ்வொரு நாளும் அதிகாலை 5 மணிக்கு ஒரு கிரான் வேலையைத் திட்டமிட, க்ரோன்டாப் கோப்பில் கீழே உள்ள வரியைச் சேர்க்கவும்:
0 5 * * *கட்டளை/கையால் எழுதப்பட்ட தாள்தினமும் மாலை 5 மணிக்கு ஒரு கிரான் வேலையை நடத்துங்கள்
ஒவ்வொரு நாளும் மாலை 5 மணிக்கு ஒரு கிரான் வேலையைத் திட்டமிட, க்ரோன்டாப் கோப்பில் கீழே உள்ள வரியைச் சேர்க்கவும்:
0 17 * * *கட்டளை/கையால் எழுதப்பட்ட தாள்ஒவ்வொரு மாதமும் முதல் நாளில் காலை 9 மணிக்கு ஒரு கிரான் வேலையை இயக்கவும்
ஒவ்வொரு மாதமும் முதல் நாள் காலை 9 மணிக்கு ஒரு கிரான் வேலையைத் திட்டமிட, க்ரோன்டாப் கோப்பில் கீழே உள்ள வரியைச் சேர்க்கவும்:
0 9 1 * *கட்டளை/கையால் எழுதப்பட்ட தாள்மார்ச் 15 ஆம் தேதி ஒவ்வொரு மணி நேரமும் ஒரு கிரான் வேலையை இயக்கவும்
ஒவ்வொரு மார்ச் 15 ஆம் தேதியும் ஒவ்வொரு மணிநேரமும் ஒரு கிரான் வேலையைத் திட்டமிட, க்ரோன்டாப் கோப்பில் கீழே உள்ள வரியைச் சேர்க்கவும்:
0 * பதினைந்து 3 *கட்டளை/கையால் எழுதப்பட்ட தாள்ஒவ்வொரு 5 மணி நேரத்திற்கும் ஒரு கிரான் வேலையை இயக்கவும்
ஒவ்வொரு 5 மணி நேரத்திற்கும் ஒரு கிரான் வேலையை திட்டமிட, க்ரோன்டாப் கோப்பில் கீழே உள்ள வரியைச் சேர்க்கவும்:
0 * /5 * * *கட்டளை/கையால் எழுதப்பட்ட தாள்ஒவ்வொரு 15 நிமிடங்களுக்கும் ஒரு கிரான் வேலையை இயக்கவும்
ஒவ்வொரு 15 நிமிடங்களுக்கும் ஒரு கிரான் வேலையை திட்டமிட, க்ரோன்டாப் கோப்பில் கீழே உள்ள வரியைச் சேர்க்கவும்:
* /பதினைந்து * * * *சரங்களைப் பயன்படுத்துதல்
ஒரு வேலையை வரையறுக்க பின்வரும் சரங்களையும் பயன்படுத்தலாம்:
- @மணிநேரம்: ஒவ்வொரு மணி நேரத்திற்கும் ஒரு வேலையைச் செய்ய, அதாவது. 0 * * * * *
- @நள்ளிரவு: ஒவ்வொரு நாளும் ஒரு வேலையைச் செய்ய, அதாவது. 0 0 * * *
- @தினசரி: நள்ளிரவைப் போலவே
- @வாரந்தோறும்: வாரத்திற்கு ஒரு முறை ஒரு வேலையைச் செய்ய, அதாவது. 0 0 * * 0
- @மாதாந்திர: ஒவ்வொரு மாதமும் ஒரு வேலையைச் செய்ய, அதாவது. 0 0 1 * *
- @ஆண்டுதோறும்: ஒவ்வொரு வருடமும் ஒரு வேலையைச் செய்ய, அதாவது. 0 0 1 1 *
- @ஆண்டு: அதே போல் @ஆண்டுதோறும்
- @reboot: ஒவ்வொரு தொடக்கத்திலும் ஒரு வேலையைச் செய்ய
உதாரணமாக, ஒவ்வொரு வாரமும் ஒரு ஸ்கிரிப்ட் அல்லது கட்டளையை இயக்க, க்ரோன்டாப் கோப்பில் உள்ளீடு:
@வாராந்திர கட்டளை/கையால் எழுதப்பட்ட தாள்முன் வரையறுக்கப்பட்ட கிரான் கோப்பகங்கள்
லினக்ஸில் சில முன் வரையறுக்கப்பட்ட கிரான் கோப்பகங்கள் உள்ளன, அங்கு சேமித்த ஸ்கிரிப்ட்கள் தானாகவே செயல்படுத்தப்படும். இந்த கோப்பகங்களின் கீழ் நாம் ஏதேனும் ஸ்கிரிப்டை வைத்தால், அது கட்டமைக்கப்பட்ட நேரத்தில் தானாகவே செயல்படுத்தப்படும்.
- /etc/cron.daily
- /etc/cron.hourly
- /etc/cron. மாதாந்திர
- /etc/cron.weekly
உதாரணமாக, ஒவ்வொரு மாதமும் ஒரு ஸ்கிரிப்டை இயக்க, நீங்கள் அதை /etc/cron.monthly இல் வைக்க வேண்டும்.
கிரான் வேலைகளைப் பார்க்கவும்
தற்போதைய பயனருக்கான வேலைகளைப் பார்க்கவும்
தற்போதைய பயனருக்கு திட்டமிடப்பட்ட அனைத்து கிரான் வேலைகளையும் காண பின்வரும் கட்டளையைப் பயன்படுத்தவும்:
$crontab-திரூட் பயனர்களுக்கான வேலைகளைப் பார்க்கவும்
ரூட் பயனரின் திட்டமிடப்பட்ட அனைத்து வேலைகளையும் காண, பின்வரும் கட்டளையை டெர்மினலில் வழங்கவும்:
$பூனை /முதலியன/crontabநீங்கள் ரூட் பயனராக உள்நுழைய வேண்டும் அல்லது கட்டளையை சூடோவாக இயக்க வேண்டும்.
பிற பயனர்களுக்கான வேலைகளைப் பார்க்கவும்
ஒரு குறிப்பிட்ட பயனரின் திட்டமிடப்பட்ட அனைத்து வேலைகளையும் காண, டெர்மினலில் பின்வரும் கட்டளையை உண்மையான பயனர்பெயருடன் மாற்றவும்:
$சூடோcrontab-உ <பயனர்பெயர்> -திஇந்த கட்டளையை இயக்க, உங்களுக்கு சூடோ சலுகைகள் தேவைப்படும்.
மணிநேர கிரான் வேலைகளைப் பார்க்கவும்
ஒவ்வொரு மணிநேரமும் இயங்குவதற்கு கட்டமைக்கப்பட்ட அனைத்து கிரான் வேலைகளையும் காண, பின்வரும் கட்டளையை டெர்மினலில் வழங்கவும்:
$ls -தி /முதலியன/கிரான். மணிநேரம்தினசரி கிரான் வேலைகளைப் பார்க்கவும்
தினசரி இயங்க கட்டமைக்கப்பட்டுள்ள அனைத்து கிரான் வேலைகளையும் காண, பின்வரும் கட்டளையை டெர்மினலில் வழங்கவும்:
$ls -தி /முதலியன/cron.daily/வாராந்திர கிரான் வேலைகளைப் பார்க்கவும்
வாராந்திர இயக்கத்தில் கட்டமைக்கப்பட்ட அனைத்து கிரான் வேலைகளையும் காண, பின்வரும் கட்டளையை டெர்மினலில் வழங்கவும்:
$ls -தி /முதலியன/கிரான். வாரந்தோறும்/மாதாந்திர கிரான் வேலைகளைப் பார்க்கவும்
மாதாந்திர இயக்கத்திற்கு கட்டமைக்கப்பட்ட அனைத்து கிரான் வேலைகளையும் காண, பின்வரும் கட்டளையை டெர்மினலில் வழங்கவும்:
$ls -தி /முதலியன/மாதந்தோறும்/அனைத்து கிரான் வேலைகளையும் காப்புப் பிரதி எடுக்கவும்
ஒரு கோப்பில் அனைத்து கிரான் வேலைகளையும் காப்புப் பிரதி எடுக்க பரிந்துரைக்கப்படுகிறது, இதனால் நீக்கப்பட்டால் மீட்க முடியும். தற்போதைய அனைத்து வேலைகளையும் காப்புப் பிரதி எடுக்க, திசைதிருப்பு ஆபரேட்டரைப் பயன்படுத்தி crontab -l இன் வெளியீட்டை ஒரு கோப்பில் திருப்பிவிடவும்.
$crontab-தி >backup_cron.txtஅனைத்து திட்டமிடப்பட்ட கிரான் வேலைகளையும் நீக்குதல்
அனைத்து திட்டமிடப்பட்ட கிரான் வேலைகளையும் அகற்ற, -r கொடியை பின்வருமாறு பயன்படுத்தவும்:
$crontab-ஆர்கிரான் அனுமதி
இரண்டு கோப்பு மூலம் crontab கட்டளைக்கான அணுகலை நாம் கட்டுப்படுத்தலாம்: / etc/cron.allow மற்றும்/etc/cron.deny.
- /etc/cron.allow - நீங்கள் crontab கட்டளைகளை அணுக அனுமதிக்க விரும்பும் பயனர்களை (ஒரு வரிக்கு ஒன்று) சேர்க்கவும். இந்த பயனர்கள் அட்டவணை வேலைகளை இயக்கலாம்.
- /etc/cron.deny - நீங்கள் crontab கட்டளைகளுக்கான அணுகலை மறுக்க விரும்பும் பயனர்களை (ஒரு வரிக்கு ஒன்று) சேர்க்கவும். இந்த பயனர்கள் திட்டமிடப்பட்ட வேலைகளை இயக்க முடியாது.
க்ரோன்டாப் தொடரியல் ஜெனரேட்டர்கள்
க்ரோன்டாப்களுக்கான தொடரியலை உருவாக்க அனுமதிக்கும் சில வலைத்தளங்கள் உள்ளன. இந்த வலைத்தளங்கள் இலக்கணத்தை நினைவில் கொள்ளாமல் க்ரோன்டாப் வெளிப்பாட்டை உருவாக்குவதை எளிதாக்குகின்றன. போன்ற தொடரியல் ஜெனரேட்டர்களுக்கு பல்வேறு வலைத்தளங்கள் உள்ளன crontabgenerator.com , crontab-generator.org , மற்றும் cronmaker.com . நான் பெரும்பாலும் விரும்புவது மற்றும் உதவியாக இருப்பது crontab.guru . பயனர் உள்ளீட்டின் அடிப்படையில், இது ஒரு க்ரோன்டாப் வெளிப்பாட்டை உருவாக்குகிறது, அதை நீங்கள் க்ரோன்டாப் கோப்பில் நகலெடுத்து ஒட்டலாம்.
முடிவுரை
இந்த டுடோரியலில், கிரான் வேலைகளின் அடிப்படைகள், அதன் தொடரியல் மற்றும் அதை எவ்வாறு அமைப்பது என்பதை நாங்கள் விளக்கியுள்ளோம். கிரான் வேலைகளை எவ்வாறு பார்ப்பது, காப்புப்பிரதியை உருவாக்குவது மற்றும் இனி தேவைப்படாவிட்டால் அவற்றை அகற்றுவது பற்றியும் நாங்கள் விவாதித்தோம்.