પરિચય
ક્રોન નામના લિનક્સમાં ડિમન છે જે નિયમિત અંતરાલે પ્રક્રિયાઓ ચલાવવા માટે વપરાય છે.
આમ કરવાથી જે રીતે સ્ક્રિપ્ટો ચલાવવા માટે તમારી સિસ્ટમ પર અમુક ફોલ્ડર્સ તપાસવામાં આવે છે. ઉદાહરણ તરીકે /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly અને /etc/cron.monthly નામનું ફોલ્ડર છે. / Etc / crontab નામની ફાઈલ પણ છે.
ડિફૉલ્ટ રૂપે તમે નિયમિત સમયાંતરે ચલાવવા માટે સ્ક્રીપ્સને સંબંધિત ફોલ્ડર્સમાં મૂકી શકો છો.
ઉદાહરણ તરીકે, ટર્મિનલ વિન્ડો ખોલો (CTRL, ALT અને T દબાવીને) અને નીચેનાં ls આદેશને ચલાવો:
ls / etc / cron *
તમે પ્રોગ્રામ્સ અથવા સ્ક્રિપ્ટ્સની સૂચિ જોશો જે કલાકદીઠ, દૈનિક, સાપ્તાહિક અને માસિક રૂપે ચાલે છે.
આ ફોલ્ડર્સ સાથેની મુશ્કેલી એ છે કે તેઓ થોડી અસ્પષ્ટ છે. દાખલા તરીકે દૈનિક એટલે કે સ્ક્રિપ્ટ દિવસમાં એકવાર ચાલશે, પરંતુ તે દિવસે તે સ્ક્રિપ્ટ ચાલશે તે સમયનો કોઈ નિયંત્રણ નથી.
તે છે જ્યાં ક્રોન્ટાબ ફાઇલ આવે છે.
Crontab ફાઇલને સંપાદિત કરીને તમે કોઈ ચોક્કસ તારીખ અને સમયને ચલાવવા માટે સ્ક્રિપ્ટ અથવા પ્રોગ્રામ મેળવી શકો છો જ્યારે તમે તેને ચલાવવા માંગો છો. દાખલા તરીકે, તમે દરરોજ સાંજે 6 વાગ્યે તમારી ફાઇલોને બેકઅપ લેવા માગો છો.
પરવાનગીઓ
Crontab આદેશ માટે જરૂરી છે કે વપરાશકર્તાને ક્રોસબૅબ ફાઇલને સંપાદિત કરવાની પરવાનગી છે. ત્યાં મૂળભૂત રીતે બે ફાઇલો છે જે ક્રોન્ટાબ પરવાનગીઓનું સંચાલન કરવા માટે વપરાય છે.
- /etc/cron.allow
- /etc/cron.deny
જો ફાઇલ /etc/cron.allow અસ્તિત્વમાં હોય તો તે વપરાશકર્તાને તે ફાઇલમાં હોવું જોઈએ. જો cron.allow ફાઇલ અસ્તિત્વમાં નથી પરંતુ ત્યાં /etc/cron.deny ફાઇલ છે તો વપરાશકર્તાએ તે ફાઇલમાં અસ્તિત્વમાં ન હોવું જોઈએ.
જો બન્ને ફાઈલો અસ્તિત્વમાં હોય તો /etc/cron.allow /etc/cron.deny ફાઇલને ઓવરરાઇડ કરે છે.
જો કોઈ ફાઈલ અસ્તિત્વમાં ન હોય તો તે સિસ્ટમ ગોઠવણી પર આધાર રાખે છે કે શું વપરાશકર્તા ક્રોસબૅટને સંપાદિત કરી શકે છે.
રુટ વપરાશકર્તા હંમેશા crontab ફાઇલને સંપાદિત કરી શકે છે. ક્રૉંટબ આદેશને ચલાવવા માટે તમે રૂટ વપરાશકર્તા અથવા sudo આદેશ પર સ્વિચ કરવા માટે su આદેશનો ઉપયોગ કરી શકો છો.
ક્રોંટબ ફાઇલનું સંપાદન
પરવાનગીઓ ધરાવતા દરેક વપરાશકર્તા તેમની પોતાની ક્રોંટબ ફાઇલ બનાવી શકે છે. ક્રેન આદેશ મૂળભૂત રીતે અનેક ક્રોસબૅબ ફાઇલો અસ્તિત્વ માટે જુએ છે અને તે બધા દ્વારા ચાલે છે.
તમારી પાસે ક્રોસબૅબ ફાઈલ છે કે નહીં તે ચકાસવા માટે નીચેનો આદેશ ચલાવો:
ક્રોન્ટાબ-એલ
જો તમારી પાસે ક્રોએંટબ ફાઈલ ન હોય તો મેસેજ "noname
Crontab ફાઇલ બનાવવા અથવા તેમાં ફેરફાર કરવા માટે નીચેનો આદેશ ચલાવો:
ક્રોન્ટાબ-ઇ
ડિફૉલ્ટ રૂપે જો ત્યાં કોઈ ડિફૉલ્ટ સંપાદક ન હોય તો તમને વાપરવા માટે ડિફૉલ્ટ સંપાદક પસંદ કરવા માટે કહેવામાં આવશે. વ્યક્તિગત રીતે હું નેનોનો ઉપયોગ કરવાનું પસંદ કરું છું કારણ કે તે વાપરવા માટે એકદમ સીધા આગળ છે અને તે ટર્મિનલથી ચાલે છે.
ખુલે છે તે ફાઇલમાં ઘણી બધી માહિતીઓ છે પરંતુ કી ભાગ એ ટિપ્પણીઓ વિભાગના અંત પહેલા જ ઉદાહરણ છે (ટિપ્પણીઓ # સાથે શરૂ થતી લીટીઓ દ્વારા સૂચવવામાં આવે છે)
# એમએચ ડોમ મોન ડો આદેશ
0 5 * * 1 ટાર- zcf /var/backups/home.tgz / home /
ક્રોસબૅબ ફાઇલની દરેક લીટી પર ફિટ કરવા માટે માહિતીના 6 ટુકડાઓ છે:
- આદેશનો મિનિટ (મીટર) ચલાવવાનો દિવસ છે
- આદેશ ચલાવવાનો છે તે દિવસનો સમય (h)
- મહિનાનો દિવસ આદેશ ચલાવવાનો છે (ડોમ)
- મહિનાનો આદેશ ચલાવો (મોન)
- અઠવાડિયાનો દિવસ આદેશ ચલાવવાનો છે (ડાઉ)
- આદેશ
દરેક આઇટમ માટે (આદેશ સિવાય) તમે વાઇલ્ડકાર્ડ અક્ષરને સ્પષ્ટ કરી શકો છો. નીચેના ઉદાહરણ ક્રોન્ટબ લાઇન જુઓ:
30 18 * * * ટાર- zcf /var/backups/home.tgz / home /
ઉપરોક્ત આદેશ શું કહે છે તે 30 મિનિટ, 18 કલાક અને અઠવાડિયાના કોઈપણ દિવસે, મહિનો અને દિવસે આદેશ ચલાવે છે અને ઘર ડિરેક્ટરીને / var / backups ફોલ્ડરમાં ટાર કરો.
દર કલાકે 30 મિનિટમાં ચલાવવા માટે આદેશ મેળવવા માટે હું નીચેનો આદેશ ચલાવી શકું છું:
30 * * * * આદેશ
છેલ્લા 6 વાગ્યા સુધી દર મિનિટે ચલાવવા માટે આદેશ મેળવવા માટે હું નીચેનો આદેશ ચલાવી શકું છું:
* 18 * * * આદેશ
તમારે તેથી તમારા ક્રોસબૅટ આદેશો સુયોજિત કરવા વિશે સાવચેત રહો.
દાખલા તરીકે:
* * * 1 * આદેશ
ઉપરોક્ત આદેશ દર અઠવાડિયે દર મિનિટે દર અઠવાડિયે દર અઠવાડિયે ચાલશે. મને શંકા છે કે તમે શું કરવા માંગો છો તે છે.
પ્રથમ જાન્યુઆરીના 5 વાગ્યે આદેશ ચલાવવા માટે તમે ક્રોસબૅટ ફાઇલમાં નીચે આપેલ કમાન્ડ પર:
0 5 1 1 * આદેશ
એક Crontab ફાઇલ દૂર કરવા માટે કેવી રીતે
મોટા ભાગના વખતે તમે crontab ફાઇલને દૂર કરવા માંગતા નથી પરંતુ તમે ક્રોસબૅબ ફાઇલમાંથી કેટલીક પંક્તિઓને દૂર કરવા માગો છો.
જો તમે તમારા વપરાશકર્તાના ક્રોન્ટાબ ફાઇલને દૂર કરવા માંગતા હો તો નીચેની આદેશ ચલાવો:
ક્રોન્ટાબ-આર
આ કરવા માટેનો એક સલામત માર્ગ એ નીચેનો આદેશ ચલાવવાનો છે:
ક્રોન્ટાબ-આઇ
આ પ્રશ્ન પૂછે છે "તમને ખાતરી છે?" crontab ફાઇલને દૂર કરતા પહેલા