Nume utilizator: # Dexter
Functie Actuala: AdministratorMesaje : 548 Cash : 2221 Like-uri : 8 Data de inscriere : 05/02/2014
| Subiect: Cron Job linux php Joi Feb 20, 2014 4:51 pm | |
| Cron job - utilitar in linux petru programarea rularii automate unor diverse task-uri in linux.
Schema rapida pentru setarea unui cron php:
1. crontab -e adaugarea intrarii in fisierul de cu programari (trebuie deschis de catre root) pentru editare apasati tasta i (insert) dupa care scrieti comanda:
57 10 * * * wget -O /dev/null http://exemplu.com/mail.php exemplul de mai sus va rula in fiecare zi la ora 10:57 scriptul mail.php (in cazul meu trimite mailuri catre anumite persoane la ora respectiva) fiecare cron(programare) trebuie adaugata pe o linie separata dupa editarea fisierului apasati tasta ESC -> tasta : -> wq si enter (succesiunea de mai sus va salva noua inregistrare in crontab)
2.crontab -l listarea fisierului pentru a vedea daca a fost adaugata noua inregistrare 3./etc/init.d/cron restart comanda pentru restartarea demonului!!! 4.Setati permisiunile fisierului mail.php ca executabil de everyone. permisiunea de forma rwxr-xr-x 755 extra date - vizualizarea ceasului pe server.
ps aux | grep crond - verificarea starii programului ar trebui sa returneze ceva in genu:
root 20271 0.0 0.0 1904 652 pts/0 S+ 10:08 0:00 grep crond
Rezulta ca demonul crond este pornit si rulat de catre root.
cat /etc/crontab
SHELL=/bin/sh PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin MAILTO=root # # check scripts in cron.hourly, cron.daily, cron.weekly, and cron.monthly # -*/15 * * * * root test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons >/dev/null 2>&1
crontab -l Listeaza toate cronurile(programarile) active to list your current crontab
crontab -r Va sterge un cron din tabela will remove (i.e. delete) your current crontab
crontab -u Permisiunile pentru crontab and then following it with either the name of a file to replace the existing user's crontab, or one of the -e, -l or -r options
cmd | mail -s "Subject of mail" user
cmd >> log.file
* * * * * comanda care trebuie executata sau fisierul - - - - - | | | | | | | | | +----- day of week (0 - 6) (Sunday=0) | | | +------- month (1 - 12) | | +--------- day of month (1 - 31) | +----------- hour (0 - 23) +------------- min (0 - 59)
Ex: la ora 18:30 vom sterge toate fisierele temporare pentru userul gigi
30 18 * * * rm /home/gigi/tmp/*
Pentru a dezactiva trimiterea de emailuri la sfarsitul liniei de comanda adaugati urmatoarea comanda:
>/dev/null 2>&1
Pentru salvarea tuturor logurilor intr-un fisier adaugati urmatoarea linie:
> /home/someuser/cronlogs/clean_tmp_dir.log |
|