Титла: Cron Jobs Публикувано от: SK0RP10N в Dec 12, 2008, 00:42 Здравейте :)
Как мога през web форма да добавям cron jobs ? Благодаря много ;) Титла: Re: Cron Jobs Публикувано от: neter в Dec 12, 2008, 01:00 За точния синтаксис, зависи от езика, който искаш да използваш (спомени го). Относно алгоритъма, имаш два варианта според нужните права, от които се нуждаят задачите, които ще се изпълняват от cron:
1. на задачите не са нужни root права - поставяш потребителя, с който работи web сървърът, в групата на потребителя, чийто crontab ще се използва за задачите или добавяш crontab за потребителя, с който работи web сървърът (ако има нужните права за изпълнението на задачите). Задаваш права на съответния файл /var/spool/cron/crontabs/user и го редактираш чрез инструментите за редактиране на файл на съответния език; 2. на задачите са нужни root права - същото като в т.1, но тогава трябва да дадеш някакво позволение на скрипта да действа като root. Например, чрез добавяне на потребителя в /etc/sudoers с нужните права за изпълнение на дадените задачи посредством sudo без парола. Или добави потребителя към root групата и задай нужните права на файла /var/spool/cron/crontabs/root. Или смени групата на файла /var/spool/cron/crontabs/root... Методи бол и никой от тях не е за препоръчване. Гледай задачите, които ще слагаш в cron-а да не изискват root права ;) Титла: Re: Cron Jobs Публикувано от: SK0RP10N в Dec 12, 2008, 10:18 То добре, обаче в /var/spool/cron/crontabs
няма нищо, нито папки, нито файлове Титла: Re: Cron Jobs Публикувано от: neter в Dec 12, 2008, 10:33 Пак не спомена езика, който ще използваш. Относно липсващите файлове, може да не са във /var/spool/cron/crontabs, а да са във /var/spool/cron, а може и все още да не са създадени, тъй като все още не си изпълнявал командата "crontab -e" за дадения потребител. Изпълни командата "crontab -e" като root или като някой друг потребител, впиши вътре някаква задача, запази и виж дали се е създал съответният файл в някоя от горепосочените папки. Ако няма създаден файл там, а виждаш вписаната задача, когато изпълниш отново "crontab -e" или "crontab -l", тогава намери къде се намира този файл с команда (под root, независимо cron-а на кой потребител се търси)
Код Това накрая е просто наклонена черта, т.е., указваме търсене из цялата система. За текст впиши нещо от съдържанието, което си написал в crontab-а. Пример Код
Титла: Re: Cron Jobs Публикувано от: SK0RP10N в Dec 13, 2008, 11:28 Добре, обаче нещо не можах да направя на php код да променя съдържанието на crontabs на моя user...
Титла: Re: Cron Jobs Публикувано от: neter в Dec 13, 2008, 12:42 Как ще бъде структуриран кодът, зависи много от това по какъв точно начин искаш да редактираш cron файла. Ето един прост пример, при който отваряме cron файла в текстово поле, редактираме го като обикновен текст и го запазваме:
Код Ако получиш грешка относно права, то погледни какви права има cron файлът (трябва потребителят на apache да може да чете и пише в него) и какви права има папката, в която се намира cron файлът (трябва потребителят на apache да може да чете, пише и изпълнява в тази папка) ;) Титла: Re: Cron Jobs Публикувано от: SK0RP10N в Dec 13, 2008, 17:27 Еее, жив и здрав да си :)
Стана, най-сетне ;) Имам да те черпя една каса бира :) Благодаря много |