ఉద్యోగాలు షెడ్యూల్ చేయడానికి Linux Crontab ఫైల్ను ఎలా సవరించాలి

పరిచయం

లైనక్స్లో డెమోన్ క్రాన్ అని పిలుస్తారు, ఇది రెగ్యులర్ వ్యవధిలో ప్రక్రియలను అమలు చేయడానికి ఉపయోగించబడుతుంది.

దీన్ని అమలు చేసే విధానం మీ సిస్టమ్లోని కొన్ని ఫోల్డర్లను అమలు చేయడానికి స్క్రిప్ట్లను తనిఖీ చేస్తుంది. ఉదాహరణకు /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly మరియు /etc/cron.monthly అనే ఫోల్డర్ ఉంది. / Etc / crontab అనే ఫైలు కూడా ఉంది.

అప్రమేయంగా మీరు వాటిని స్క్రిప్టులను సంబంధిత ఫోల్డర్లలో ఉంచవచ్చు.

ఉదాహరణకు టెర్మినల్ విండోను తెరవండి (CTRL, ALT మరియు T ను నొక్కడం ద్వారా) కింది ls ఆదేశాన్ని అమలు చేయండి:

ls / etc / cron *

మీరు రోజువారీ, రోజువారీ, వారం మరియు నెలవారీ అమలు చేసే ప్రోగ్రామ్లు లేదా స్క్రిప్ట్ల జాబితాను చూస్తారు.

ఈ ఫోల్డర్లతో ఉన్న సమస్య వారు ఒక బిట్ అస్పష్టమైనది. ఉదాహరణకు రోజువారీ అంటే, స్క్రిప్ట్ ఒక రోజులోనే నడుపుతుంది, కానీ స్క్రిప్ట్ ఆ రోజు సమయంలో అమలు చేయగల సమయములో మీకు నియంత్రణ లేదు.

Crontab ఫైలు ఇక్కడ వస్తుంది.

Crontab ఫైలును సవరించుట ద్వారా మీరు స్క్రిప్ట్ లేదా ప్రోగ్రామ్ను ఖచ్చితమైన తేదీ మరియు సమయం నడపడానికి మీరు నడుపుటకు పొందవచ్చు. ఉదాహరణకు, రాత్రి 6 గంటలకు ప్రతి రాత్రి మీ ఫైళ్ళను బ్యాకప్ చేయాలని మీరు కోరుకుంటున్నారు.

అనుమతులు

Crontab ఆదేశం ఒక వినియోగదారుకు crontab ఫైల్ను సవరించుటకు అనుమతులు కలిగివుంటాయి. Crontab అనుమతులను నిర్వహించడానికి ఉపయోగించే రెండు ఫైల్స్ ప్రధానంగా ఉన్నాయి:

ఫైలును /etc/cron.allow ఉన్నట్లయితే, అప్పుడు cronab ఫైలును సవరించుకోవాలనుకునే యూజర్ ఆ ఫైల్ లో ఉండాలి. Cron.allow ఫైలు ఉనికిలో లేనప్పటికీ, /etc/cron.deny ఫైల్ వున్నట్లయితే అప్పుడు ఆ ఫైలులో ఫైల్ తప్పక ఉండకూడదు.

రెండు ఫైళ్ళు ఉంటే /etc/cron.allow /etc/cron.deny ఫైలును overrides.

ఒకవేళ ఫైల్ ఏదీ లేకుంటే అది వినియోగదారుని crontab ను సవరించగలరో లేదో సిస్టమ్ ఆకృతీకరణపై ఆధారపడి ఉంటుంది.

Root వాడుకరి ఎల్లప్పుడూ crontab ఫైలును సవరించవచ్చు. Cructab ఆదేశమును నడుపుటకు రూట్ యూజర్ లేదా sudo ఆదేశంకు మారటానికి su su తో వాడవచ్చు.

Crontab ఫైల్ను సవరించడం

అనుమతులను కలిగి ఉన్న ప్రతి యూజర్ వారి సొంత crontab ఫైల్ను సృష్టించవచ్చు. క్రాన్ ఆదేశం ప్రాథమికంగా బహుళ crontab ఫైళ్ళ ఉనికి మరియు వాటి గుండా వెళుతుంది.

మీకు ఒక crontab ఫైలు ఉందా అని తనిఖీ చేసేందుకు కింది ఆదేశాన్ని అమలు చేయండి:

crontab -l

మీరు మీ crontab ఫైలు ప్రదర్శించబడక పోతే, "cntab" కు మీ కాంటోబ్ ఫైల్ను ప్రదర్శించకుండా ఒక crontab ఫైల్ను కలిగి ఉండకపోతే (ఈ పనితనం సిస్టమ్ నుండి సిస్టమ్కు భిన్నంగా ఉంటుంది, కొన్నిసార్లు ఇది ప్రదర్శిస్తుంది మరియు ఇతర సమయాల్లో ఏదీ ప్రదర్శించదు. " ఈ ఫైల్ను సవరించవద్దు ").

ఒక crontab ఫైల్ను సృష్టించుటకు లేదా సవరించడానికి కింది ఆదేశాన్ని నడుపుము:

crontab -e

అప్రమేయంగా ఎటువంటి డిఫాల్ట్ ఎడిటర్ ఎంపికకాకపోతే మీరు ఉపయోగించడానికి డిఫాల్ట్ ఎడిటర్ని ఎంచుకోమని అడగబడతారు. వ్యక్తిగతంగా నానోను ఉపయోగించుకోవడమే నేను కోరుకుంటున్నాను, ఇది చాలా నేరుగా ముందుకు వెళ్లడానికి మరియు టెర్మినల్ నుండి నడుస్తుంది.

తెరుచుకునే ఫైల్ చాలా సమాచారం కలిగి ఉంది కాని కీలక భాగం వ్యాఖ్యల విభాగానికి ముగింపు ముందు ఉదాహరణ (వ్యాఖ్యలు # తో ప్రారంభమయ్యే పంక్తులు సూచించబడతాయి).

# mh dom mon dow ఆదేశం

0 5 * * 1 tar -zcf /var/backups/home.tgz / home /

Crontab ఫైలు యొక్క ప్రతి లైనుకు సరిపోయే సమాచారము 6 భాగములు:

ప్రతి అంశానికి (కమాండ్ మినహా) మీరు వైల్డ్కార్డ్ పాత్రను పేర్కొనవచ్చు. క్రింది ఉదాహరణ crontab పంక్తి వద్ద చూడండి:

30 18 * * * tar -zcf /var/backups/home.tgz / home /

పైన పేర్కొన్న ఆదేశం ఏమంటే, 30 నిమిషాలు, 18 గంటలు మరియు ఏ రోజున, నెల మరియు రోజులు / var / backups ఫోల్డర్కు ఇంటి డైరెక్టరీని zip మరియు తారు చేయటానికి కమాండ్ అమలు చేయబడుతుంది.

ప్రతి గంటకు 30 నిముషాల వ్యవధిలో అమలు చేయడానికి ఒక ఆదేశం పొందడానికి నేను ఈ కింది ఆదేశాన్ని అమలు చేయగలము:

30 * * * * కమాండ్

6 నిమిషాలకు ప్రతి నిమిషంలో అమలు చేయడానికి ఒక ఆదేశం పొందడానికి నేను క్రింది ఆదేశాన్ని అమలు చేయగలను:

* 18 * * * కమాండ్

మీరు మీ crontab ఆదేశాలను ఏర్పాటు గురించి జాగ్రత్తగా ఉండాలి.

ఉదాహరణకి:

* * * 1 * కమాండ్

ఈ కమాండ్ ప్రతి వారంలో ప్రతి నెలలో ప్రతి వారం ప్రతి నెలలో ప్రతిరోజూ అమలు అవుతుంది. నేను మీరు ఏమి ఉంది అనుమానం.

కమాండ్ ఫైల్ను కింది ఆదేశాల వద్ద జనవరి 1 వ తేదీన 5 వ తేదీన కమాండ్ వద్ద అమలుచేయాలి:

0 5 1 1 * కమాండ్

ఒక Crontab ఫైలు తొలగించు ఎలా

చాలా సమయం మీరు crontab ఫైలుని తీసివేయకూడదు కాని మీరు crontab ఫైలు నుండి కొన్ని వరుసలను తొలగించాలని అనుకోవచ్చు.

మీరు మీ యూజర్ యొక్క crontab ఫైల్ను తొలగించాలనుకుంటే, కింది ఆదేశాన్ని అమలు చేయండి:

crontab -r

ఈ కింది ఆదేశాన్ని నడుపుటకు ఇది ఒక సురక్షిత మార్గం:

crontab -i

ఈ ప్రశ్న అడుగుతుంది "మీరు ఖచ్చితంగా ఉన్నారా?" crontab ఫైలు తొలగించే ముందు.