Kør Shell Script som Cron Job fra Bestemt Mappe Uden cd - Sådan Gør Du

Hvordan kan en kommando (shell script) køres som en cron job fra en bestemt mappe uden at bruge cd?

For at køre en kommando eller et shell script som en cron job fra en bestemt mappe uden at bruge cd, kan du specificere den fulde sti til scriptet direkte i crontab-filen. Alternativt kan du kombinere cd med kommandoen i en enkelt linje eller bruge sh eller bash med -c flaget.

Hvordan kan en kommando (shell script) køres som en cron job fra en bestemt mappe uden at bruge cd?

For at køre en kommando eller et shell script som en cron job fra en bestemt mappe uden at bruge cd-kommandoen, kan du specificere den fulde sti til scriptet eller kommandoen direkte i din crontab-fil. Her er nogle metoder til at gøre dette:

  • Brug af absolut sti:

    Angiv den fulde sti til scriptet eller kommandoen i crontab-filen. Dette sikrer, at cron jobbet køres fra den ønskede mappe.

    */5 * * * * /path/to/your/script.sh
  • Angiv arbejdsmappen med cd i samme linje:

    Selvom du ikke ønsker at bruge cd separat, kan du kombinere det med kommandoen i en enkelt linje.

    */5 * * * * cd /path/to/your/directory && ./script.sh
  • Brug af sh eller bash med -c flag:

    Du kan bruge sh eller bash med -c flaget til at specificere arbejdsmappen og kommandoen i en enkelt linje.

    */5 * * * * sh -c 'cd /path/to/your/directory && ./script.sh'
  • Brug af miljøvariablen CRON_TZ:

    Selvom dette ikke direkte ændrer arbejdsmappen, kan det være nyttigt at sikre, at cron jobbet kører i den korrekte tidszone.

    CRON_TZ=Europe/Copenhagen
    */5 * * * * /path/to/your/script.sh

Ved at bruge disse metoder kan du sikre, at dit cron job kører fra den ønskede mappe uden at skulle bruge cd separat.