Hur man kör ett Cron-jobb var 10:e, 20:e och 30:e sekund i Linux
Kort: Cron jobbschemaläggaren stöder inte schemaläggning av jobb som körs med ett intervall på sekunder. I den här artikeln kommer vi att visa dig ett enkelt knep som hjälper dig att köra ett cron-jobb var 30:e sekund eller x sekund i Linux.
Är du ny på cron jobbschemaläggaren och vill köra ett jobb var 30:e sekund? Tyvärr tillåter inte cron det. Du kan inte schemalägga ett cron-jobb att köra var x sekund. Cron stöder endast ett tidsintervall på minst 60 sekunder (dvs. 1 minut). För att köra ett cron-jobb var 30:e sekund måste du använda tricket som vi har förklarat nedan.
I den här guiden kommer vi också att täcka många andra exempel för att köra ett jobb eller kommando, eller skript var x sekund. Men låt oss börja med att täcka hur man kör ett cron-jobb var 30:e sekund i Linux.
Kör Cron Job var 30:e sekund i Linux
För att uppnå ovanstående uppgift, skapa två poster i crontab. Det första jobbet kör datumkommandot efter varje minut (60 sekunder), sedan använder den andra posten sovkommandot för att fördröja en viss tid (30 sekunder i detta fall) och anropa datumkommandot igen.
Du måste lägga till följande poster i crontab (cron-tabell) och öppna den för redigering med följande crontab-kommando (flaggan -e
möjliggör redigering):
# crontab -e
Lägg till följande cron-poster till filen.
* * * * * date>> /tmp/date.log * * * * * sleep 30; date>> /tmp/date.log
Om du nu kontrollerar innehållet i filen /tmp/date.log bör du se att kommandot date körs var 30:e sekund. Vi kan använda kommandot cat för att visa filen och kontrollera tidskolumnen för att bekräfta, enligt följande:
$ cat /tmp/date.log
Du kan också se filen uppdateras i realtid. För att göra det, använd tail-kommandot med flaggan -f
.
$ tail -f /tmp/date.log
Kör Cron Job var 10:e sekund i Linux
Låt oss titta på fler exempel. Den här visar hur man kör ett cron-jobb var tionde sekund. Tricket är att helt enkelt leka med sömnkommandot antal sekunder:
* * * * * date>> /tmp/date.log * * * * * sleep 10; date>> /tmp/date.log * * * * * sleep 20; date>> /tmp/date.log * * * * * sleep 30; date>> /tmp/date.log * * * * * sleep 40; date>> /tmp/date.log * * * * * sleep 50; date>> /tmp/date.log
Återigen om vi tittar på filen /tmp/date.log, bör den uppdateras var tionde sekund baserat på ovanstående crontab-poster:
$ tail -f /tmp/date.log
Här är ett annat exempel på att utföra datumkommandot efter var 15:e sekund:
* * * * * date>> /tmp/date.log * * * * * sleep 15; date>> /tmp/date.log * * * * * sleep 30; date>> /tmp/date.log * * * * * sleep 45; date>> /tmp/date.log
Slutligen, för att köra ett cron-jobb var 20:e sekund, kan du ha något så här:
* * * * * date>> /tmp/date.log * * * * * sleep 20; date>> /tmp/date.log * * * * * sleep 40; date>> /tmp/date.log
Här är också fler artiklar för dig att lära dig schemaläggning av jobb med cron:
- Hur man skapar och hanterar Cron-jobb på Linux
- Cron vs Anacron: Hur man schemalägger jobb med Anacron på Linux
Nu vet du det! Vi har visat dig olika exempel för att köra ett cron-jobb var x sekund i Linux. Läs man-sidorna för cron (genom att köra kommandona man cron
och man crontab
) för mer information.
Om du känner till några användbara cron-kommandotips eller tricks, vänligen dela dem i kommentarerna nedan.