Sådan køres PHP Script som normal bruger med Cron


Cron er et kraftfuldt værktøj til tidsbaseret planlægning af job i Unix-lignende operativsystemer inklusive Linux. Det kører som en dæmon og kan bruges til at planlægge job som kommandoer eller shell-scripts til at udføre sikkerhedskopier, planlægge opdateringer plus mange flere, der kører periodisk og automatisk i baggrunden på bestemte tidspunkter, datoer eller intervaller.

En begrænsning ved cron er, at det antager, at et system kører for evigt; så det er velegnet til andre servere end desktops maskiner. Derudover kan du planlægge en opgave på et givet eller senere tidspunkt ved hjælp af kommandoerne 'at' eller 'batch': men opgaven køres kun én gang (den gentages ikke).

I denne artikel vil vi forklare, hvordan man tillader en normal systembruger at køre eller udføre et PHP-script via en cron-jobplanlægning i Linux.

Du kan planlægge job ved hjælp af programmet crontab (CRON TABle). Hver bruger kan have sin egen crontab-fil, der består af seks felter til at definere et job:

  • Minute - accepterer værdier mellem 0-59.
  • Time - accepterer værdier mellem 0-23.
  • Måned dag - gemmer værdier mellem 1-31.
  • Årets måned - gemmer værdier mellem 1-12 eller jan-dec. Du kan bruge de første tre bogstaver i hver måneds navn, dvs. jan eller juni.
  • Ugedag - indeholder værdier mellem 0-6 eller søn-lør. Her kan du også bruge de første tre bogstaver i hver dags navn, dvs. søn eller ons.
  • Kommando - kommando, der skal udføres.

For at oprette eller redigere poster i din egen crontab-fil skal du skrive:

$ crontab -e

Og for at se alle dine crontab-poster skal du skrive denne kommando (som blot udskriver crontab-filen til std-output):

$ crontab -l

Men hvis du er systemadministrator og ønsker at udføre et PHP-script som en anden bruger, skal du planlægge det i/etc/crontab-filen eller root-brugerens crontab-fil, der understøtter en ekstra fil til angivelse af brugernavnet:

$ sudo vi /etc/crontab

Og planlæg, at dit PHP-script skal udføres på denne måde, angiv brugernavnet efter timing-sektionen.

0 0 * * * tecmint /usr/bin/php -f /var/www/test_site/cronjobs/backup.php

Ovenstående post udfører scriptet /var/www/test_site/cronjobs/backup.php hver dag ved midnat som brugertekst.

Hvis du automatisk vil udføre ovenstående script hvert tiende minut, skal du tilføje følgende post til crontab-filen.

*/10 * * * * tecmint /usr/bin/php -f /var/www/test_site/cronjobs/backup.php

I ovenstående eksempel repræsenterer */10 * * * * hvornår jobbet skal ske. Den første figur viser minutter - i dette scenarie hvert "ti" minut. De øvrige tal viser henholdsvis time, dag, måned og ugedag.

Du kan også lide at læse disse følgende relaterede artikler.

  1. Brug af Shell Scripting til at automatisere Linux-systemvedligeholdelsesopgaver
  2. 12 Nyttig PHP-kommandolinjebrug Alle Linux-brugere skal vide
  3. Sådan køres PHP-koder i Linux Terminal
  4. 30 Nyttige Linux-kommandoer til systemadministratorer

Det er alt! Vi håber, du finder denne artikel nyttig. Hvis du har spørgsmål eller ekstra ideer til at dele om dette emne, skal du bruge kommentarformularen nedenfor.