Batch

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

batch - Schemalägg jobb för exekvering när systemet har låg belastning

Kommandot `batch` används för att schemalägga jobb som ska köras när systemets belastning är låg i Unix-liknande operativsystem.

Syntax

batch [ALTERNATIV]

Beskrivning

Kommandot `batch` schemalägger kommandon för att köras vid ett senare tillfälle när systemets belastning är låg. Jobben köas av `atd`-demonen och körs när systemets belastning är under ett specifikt tröskelvärde.

Alternativ

Kommandot `batch` stöder flera alternativ som kan användas för att justera hur schemaläggningen utförs:

  • -f FIL - Läs jobbdefinitionen från en specifik fil istället för standardingång.
  • -m - Skicka ett e-postmeddelande till användaren när jobbet är klart, även om ingen utdata genererades.
  • -q QUEUE - Ange vilken kö jobbet ska placeras i (standard är "b").
  • --help - Visa hjälpmeddelande och avsluta.
  • --version - Visa versionsinformation och avsluta.

Exempel

Här är några praktiska exempel som visar hur du kan använda `batch`-kommandot:

  • För att schemalägga ett kommando att köras när systemets belastning är låg:

echo "sh /path/to/script.sh" | batch

  • För att läsa jobbdefinitionen från en fil:

batch -f /path/to/commands.txt

  • För att ange vilken kö jobbet ska placeras i:

echo "sh /path/to/script.sh" | batch -q b

Skillnader mellan macOS och Linux

Det finns några skillnader att tänka på när man använder `batch`-kommandot på macOS jämfört med Linux:

  • Standardinstallationer: `batch` är vanligtvis förinstallerat på de flesta Linux-distributioner som en del av GNU at-paketet. På macOS är det inte förinstallerat, men kan installeras via paketverktyg som Homebrew.
  • Start av demon: På Linux startas `atd`-demonen automatiskt för att hantera schemalagda jobb. På macOS kan det krävas ytterligare konfiguration för att säkerställa att `atd`-demonen körs korrekt.
  • Hanteringsverktyg: På Linux används `systemctl` eller `service` för att hantera `atd`-demonen. På macOS används `launchctl`.

Exempel på att starta `atd`-demonen:

  • På Linux:

sudo systemctl start atd

  • På macOS:

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.atrun.plist

Det är alltid bra att konsultera `man`-sidan för `batch` på din specifika plattform för att se vilka alternativ och funktioner som är tillgängliga och hur de används.

Felsökning

Om dina schemalagda jobb inte körs som förväntat, kontrollera följande:

  • Att `atd`-demonen körs (kan kontrolleras med `systemctl status atd` på Linux eller `launchctl list | grep atrun` på macOS).
  • Att du har tillräckliga rättigheter för att schemalägga jobb (använd `sudo` om nödvändigt).
  • Att tidssyntaxen är korrekt och förstås av `batch`.

Se även

  • at - Schemalägg kommandon för en engångskörning.
  • cron - Schemaläggning av återkommande uppgifter.
  • crontab - Installera, visa och ta bort schemalagda uppgifter.
  • launchctl - Hantera schemaläggning och tjänster på macOS.

Källor