Kodėl mano „Crontab“ neveikia?
Dėl tam tikrų priežasčių jūsų „Crontab“ gali sugesti. Pirmasis ir svarbiausias dalykas yra tai, kad jūsų „Cron“ deimonas gali neveikti dėl kokios nors priežasties, dėl kurio jūsų „Crontab“ nepavyks. Gali būti, kad jūsų sistemos aplinkos kintamieji nebuvo tinkamai nustatyti. Scenarijuje gali būti keletas klaidų, kurias bandote atlikti naudodami „Crontab“. Pavyzdžiui, norimame scenarijuje gali trūkti „Shebang“, t.e., reikiamą simbolių seką scenarijaus pradžioje. Scenarijus, kurį bandote vykdyti naudodami „Crontab“, gali būti neįvykdomas, t.e., jo leidimai yra ribojami. Scenarijaus, kurį bandote vykdyti, kelias gali būti neteisingas. Gali trūkti failo plėtinio, kurį bandote vykdyti naudodami „Crontab“.
Kaip galiu išspręsti savo sugedusį „Crontab“?
Priklausomai nuo faktinės „Crontab“ gedimo priežasties, trikčių šalinimas yra įvairus. Kai kurie iš šių būdų yra išvardyti toliau:
Pirmiausia turite įsitikinti, kad „Cron“ demonas yra aktyvus ir veikia fone. Tai galima padaryti tiesiog patikrinus jo būseną šia komanda:
$ sudo systemctl status cronPatikrinkite komandos ar failo, kurį bandote vykdyti naudodami „Crontab“, kelią ir įsitikinkite, kad jis teisingas.
Įsitikinkite, kad nurodėte tikslų failo pavadinimą arba komandą, kurią bandote vykdyti. Be to, geriausia būtų įsitikinti, kad faile ar scenarijuje, kurį bandote vykdyti, yra nustatyti atitinkami leidimai.
Jei norite parašyti „Cron“ užduotis dabartiniam vartotojui, turite pasiekti dabartinio vartotojo „Crontab“ failą naudodami toliau nurodytą komandą:
$ crontab -eJei prieš šią komandą parašysite „sudo“ raktinį žodį, jis atidarys pagrindinio vartotojo „Crontab“ failą ir jame įrašytos užduotys nebus vykdomos dabartiniam vartotojui; jie bus vykdomi root vartotojui. Šiuo dalyku ypač reikėtų pasirūpinti rašant „Cron“ darbus.
Pabandykite paleisti norimą scenarijų per terminalą, kad išsiaiškintumėte, ar jūsų scenarijuje yra kokių nors problemų, ar nepavyksta tik dėl „Crontab“.
Be to, kurdami scenarijus, nepamirškite „Shebang“.
Norėdami pašalinti klaidas, patikrinkite „Crontab“ žurnalus naudodami šią komandą:
$ cat / var / log / cron.žurnalasĮsitikinkite, kad „Cron“ darbo, kurį išvardijote „Crontab“ faile, sintaksė yra teisinga.
Vykdydami juos kaip „Cron“ užduotis, būtinai pateikite atitinkamus failų plėtinius.
Išvada:
Šiame straipsnyje mes atlikome atvirą diskusiją įvairiais klausimais, dėl kurių jūsų „Crontab“ gali nepavykti. Pasigilinę į šias priežastis, mes pasidalijome su jumis keletu dažniausiai pasitaikančių ir greitų šių problemų šalinimo būdų, kaip nedelsiant išspręsti „Crontab“.