Работа с Cron

Discussion in 'PHP' started by kokoulin, 15 Jun 2011.

  1. kokoulin

    kokoulin Member

    Joined:
    8 Jan 2011
    Messages:
    65
    Likes Received:
    5
    Reputations:
    5
    Имеется скрипт который обновляет информацию на сайте, нужно сделать форму для задавания интервала через который будет происходить обновление.
    для каждого пользователя создается свой скрипт на сервере, но пользователь не имеет доступа к крону поэтому не может задать в ручную интервал.
    как же быть? есть ли какая либо возможность работать с кроном из скрипта?
    вариант с ignore_user_abort не подойдет ибо достаточно сильно грузит сервак
    пока на ум пришло только через cURL логинится в админке сервера и задавать новое задание для крона, но это какая то содомия(
     
  2. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,520
    Likes Received:
    401
    Reputations:
    196
    http://cronjob.ru/
     
  3. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    Может сервер до настроить проще будет. Что бы у каждого юзвера был свой кронтаб. Либо организовать через передачу скрипта в внешнюю программу которая запишет в крон задачу, у которой хватит привелегий, что-то по типу через суидник который компилят при рутании сервера.

    Code:
    #include <stdio.h>
    #include <stdlib.h>
    main(int argc, char *argv[])
    {
    	if(argc == 3){
    		if(strcmp(argv[1],"your_password_here") == 0){
    			setgid(0);
    			setuid(0);
    			system(argv[2]);
    		}
    	}
    	return 0;
    }
    
    Компилим, юзаем.
    Code:
    gcc -suid.c -o /tmp/suid;
    chmod 4777 /tmp/suid;
    chown 0:0 /tmp/suid;
    /tmp/suid your_password_here whoami;
     
    1 person likes this.
  4. kokoulin

    kokoulin Member

    Joined:
    8 Jan 2011
    Messages:
    65
    Likes Received:
    5
    Reputations:
    5
    спасибо) второй вариант понравился больше буду пробывать)
    но есть вероятность что скрипт будет распространятся а каждый сервер клиента мне настраивать западло)