Een daemon in Linux genoemd cron voert processen met regelmatige tussenpozen uit. Het controleert bepaalde mappen op uw systeem zodat scripts in een reeks mappen kunnen worden uitgevoerd, waaronder /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly en /etc/cron.monthly. Er is ook een bestand met de naam / etc / crontab.
Scripts in Cron-mappen plaatsen
U kunt eenvoudig scripts in de relevante mappen plaatsen om ze met regelmatige tussenpozen te laten werken.
Open bijvoorbeeld een terminalvenster en voer de volgende ls-opdracht uit:
ls / etc / cron *
U ziet de lijst met programma's of scripts die elk uur, dagelijks, wekelijks en maandelijks worden uitgevoerd.
Het probleem met deze mappen is dat ze een beetje vaag zijn. Bijvoorbeeld, dagelijks betekent dat het script eenmaal per dag wordt uitgevoerd, maar u hebt geen controle over de tijd dat het script gedurende die dag wordt uitgevoerd.
Dat is waar het crontab-bestand binnenkomt.
Door het crontab-bestand te bewerken, kunt u een script of programma laten uitvoeren op de exacte datum en tijd waarop u het wilt laten uitvoeren.
machtigingen
De opdracht crontab vereist dat een gebruiker machtigingen heeft om een crontab-bestand te bewerken. Er zijn in principe twee bestanden die worden gebruikt om crontab-machtigingen te beheren:
- /etc/cron.allow
- /etc/cron.deny
Als het bestand /etc/cron.allow bestaat, moet de gebruiker die het crontab-bestand wil bewerken zich in dat bestand bevinden. Als het cron.allow-bestand niet bestaat, maar er is een bestand /etc/cron.deny dan moet de gebruiker niet in dat bestand bestaan. Als beide bestanden bestaan, heft het /etc/cron.allow het /etc/cron.deny-bestand op. Als geen van beide bestanden bestaat, is het afhankelijk van de systeemconfiguratie of een gebruiker de crontab kan bewerken.
De root-gebruiker kan altijd het crontab-bestand bewerken. U kunt de opdracht su gebruiken om over te schakelen naar de rootgebruiker of de opdracht sudo om de opdracht crontab uit te voeren.
Het Crontab-bestand bewerken
Elke gebruiker met de juiste machtigingen kan zijn eigen crontab-bestand maken. De cron-opdracht zoekt in principe naar alle crontab-bestanden en loopt door elk van hen.
Voer de volgende opdracht uit om te controleren of u een crontab-bestand hebt:
crontab -l
Als u geen crontab-bestand hebt, verschijnt de melding "geen crontab voor Als u een crontab-bestand wilt maken of bewerken, voert u de volgende opdracht uit: crontab -e Het bestand dat wordt geopend bevat veel informatie, maar het belangrijkste deel is het voorbeeld vlak voor het einde van de sectie Opmerkingen (opmerkingen worden aangeduid door regels die beginnen met #). # m h dom mon dow-opdracht 0 5 * * 1 tar -zcf /var/backups/home.tgz / home / Er zijn 6 stukjes informatie die op elke regel van het crontab-bestand passen: Voor elk item (behalve de opdracht) kunt u een jokerteken opgeven. Bekijk het volgende voorbeeld crontab regel: 30 18 * * * tar -zcf /var/backups/home.tgz / home / Na 30 minuten, 18 uur en elke dag, maand en dag van de week, zal deze crontab-invoer de basismap rippen en tareren naar de map / var / backups. Voer de volgende opdracht uit om een opdracht 30 minuten na elk uur te laten uitvoeren: 30 * * * * opdracht Voer de volgende opdracht uit om een opdracht te krijgen die elke minuut na 18.00 uur wordt uitgevoerd: * 18 * * * opdracht Je moet daarom voorzichtig zijn met het opstellen van je crontab-commando's. Bijvoorbeeld: * * * 1 * opdracht Deze opdracht wordt in januari elke minuut van elk uur van elke dag van elke week uitgevoerd. Als u om 01.00 uur een opdracht wilt uitvoeren op 1 januari, voert u met de volgende opdracht het crontab-bestand uit: Meestal wilt u het crontab-bestand niet verwijderen, maar wilt u mogelijk enkele rijen uit het crontab-bestand verwijderen. Als u echter het crontab-bestand van uw gebruiker wilt verwijderen, voert u de volgende opdracht uit: crontab -r Een veiligere manier om dit te doen is om het volgende commando uit te voeren: crontab -i Het besturingssysteem vraagt om verificatie voordat het crontab-bestand wordt verwijderd.
Hoe een Crontab-bestand te verwijderen




