Skip to main content

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

Anonim

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

క్రాన్ ఫోల్డర్స్ లో స్క్రిప్ట్లు ఉంచడం

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

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

ls / etc / cron *

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

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

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

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

అనుమతులు

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

  • /etc/cron.allow
  • /etc/cron.deny

ఫైలును /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 సందేశాన్ని ఫైల్ చేయకపోతే "కోసం crontab సంఖ్య "కనిపిస్తే, లేకపోతే మీ crontab ఫైలు ప్రదర్శించబడుతుంది (ఈ ఫంక్షనాలిటీ సిస్టమ్ నుండి సిస్టమ్కు భిన్నంగా ఉంటుంది, కొన్నిసార్లు అది ప్రదర్శిస్తుంది మరియు ఇతర సమయాల్లో ఏదీ ప్రదర్శించదు," ఈ ఫైల్ను సవరించవద్దు ").

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

crontab -e

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

# m h dom mon dow command

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

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

  • రోజు యొక్క నిమిషం కమాండ్ రన్ (m)
  • కమాండ్ రోజు (h)
  • నెలలోని కమాండ్ ఆదేశం (ప్రధమస్థానం)
  • నెలలో ఆదేశం (నెల)
  • వారానికి ఆ రోజు కమాండ్ (డౌ)
  • కమాండ్

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

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

30 నిమిషాల, 18 గంటలు మరియు ఏ రోజు, నెల మరియు రోజులో, ఈ crontab ఎంట్రీ హోమ్ డైరెక్టరీని / var / backups ఫోల్డర్కు జిప్ మరియు తారు చేస్తుంది.

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

30 * * * * కమాండ్

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

* 18 * * * కమాండ్

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

ఉదాహరణకి:

* * * 1 * కమాండ్

జనవరిలో ప్రతి వారంలో ప్రతి గంటకు ప్రతి గంటకు ఈ ఆదేశం అమలు అవుతుంది.

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

0 5 1 1 * కమాండ్

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

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

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

crontab -r

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

crontab -i

Crontab ఫైలును తొలగిస్తుంది ముందు ఆపరేటింగ్ సిస్టమ్ ధృవీకరణ కోసం అడుగుతుంది.