Master-X
Форум | Новости | Статьи
Главная » Форум » CJs » 
Тема: Вопрос по крону.
цитата
26/11/09 в 22:40
 amazon
Сервер под сиджи.
На нем стоит всумме 27 ежеминутных крон заданий, и 9 двенадцатичасовых.
Это только мои, не считая системных, если таковые имеются.
Я тут где то читал, что минутные кроны можно распределить, что б они не одновременно срабатывали.
Вопросы:
1 - Это не слишком много кронов, не будут ли они мешать друг другу?
2 - Если да, то как их распределить лучше(не нашел тот топик)?
Заранее спасибо.

З.Ы. Запостил тут, потому как имхо топик ближе к сиджеводству, чем к скрипто- и админоводству. )
цитата
26/11/09 в 22:49
 DG
Просто подряд в одном шелл-скрипте запиши, и добавь этот файл в крон.
Если они за минуту не выполнятся, тогда уже надо будет изобретать геморрой..
цитата
26/11/09 в 22:51
 Woland
тот топик: Cron & Sleep
цитата
27/11/09 в 01:28
 amazon
Спасибо за ответы.
Сделал файл, все ли верно, вот его содержание:
Код:

SHELL=/bin/bash
MAILTO=root
* * * * * cd /home/user1/domains/domen1.com/public_html/stream; /usr/local/bin/php -q cron.php 1>/dev/null 2>/dev/null
* * * * * /home/user1/domains/domen1.com/public_html/cgi-bin/te/tedata/cron/cstat > /dev/null 2>&1
* * * * * /home/user1/domains/domen1.com/public_html/cgi-bin/te/tedata/cron/cping > /dev/null 2>&1
* */12 * * * GET http://www.domen1.com/some_dir1/some_dir2/something.php >/dev/null
* * * * * cd /home/user2/domains/domen2.com/public_html/stream; /usr/local/bin/php -q cron.php 1>/dev/null 2>/dev/null
* * * * * /home/user2/domains/domen2.com/public_html/cgi-bin/te/tedata/cron/cstat > /dev/null 2>&1
* * * * * /home/user2/domains/domen2.com/public_html/cgi-bin/te/tedata/cron/cping > /dev/null 2>&1
* */12 * * * GET http://www.domen2.com/some_dir1/some_dir2/something.php >/dev/null
* * * * * cd /home/user3/domains/domen3.com/public_html/stream; /usr/local/bin/php -q cron.php 1>/dev/null 2>/dev/null
* * * * * /home/user3/domains/domen3.com/public_html/cgi-bin/te/tedata/cron/cstat > /dev/null 2>&1
* * * * * /home/user3/domains/domen3.com/public_html/cgi-bin/te/tedata/cron/cping > /dev/null 2>&1
* */12 * * * GET http://www.domen3.com/some_dir1/some_dir2/something.php >/dev/null
* * * * * cd /home/user4/domains/domen4.com/public_html/stream; /usr/local/bin/php -q cron.php 1>/dev/null 2>/dev/null
* * * * * /home/user4/domains/domen4.com/public_html/cgi-bin/te/tedata/cron/cstat > /dev/null 2>&1
* * * * * /home/user4/domains/domen4.com/public_html/cgi-bin/te/tedata/cron/cping > /dev/null 2>&1
* */12 * * * GET http://www.domen4.com/some_dir1/some_dir2/something.php >/dev/null
* * * * * cd /home/user5/domains/domen5.com/public_html/stream; /usr/local/bin/php -q cron.php 1>/dev/null 2>/dev/null
* * * * * /home/user5/domains/domen5.com/public_html/cgi-bin/te/tedata/cron/cstat > /dev/null 2>&1
* * * * * /home/user5/domains/domen5.com/public_html/cgi-bin/te/tedata/cron/cping > /dev/null 2>&1
* */12 * * * GET http://www.domen5.com/some_dir1/some_dir2/something.php >/dev/null
* * * * * cd /home/user6/domains/domen6.com/public_html/stream; /usr/local/bin/php -q cron.php 1>/dev/null 2>/dev/null
* * * * * /home/user6/domains/domen6.com/public_html/cgi-bin/te/tedata/cron/cstat > /dev/null 2>&1
* * * * * /home/user6/domains/domen6.com/public_html/cgi-bin/te/tedata/cron/cping > /dev/null 2>&1
* */12 * * * GET http://www.domen6.com/some_dir1/some_dir2/something.php >/dev/null
* * * * * cd /home/user7/domains/domen7.com/public_html/stream; /usr/local/bin/php -q cron.php 1>/dev/null 2>/dev/null
* * * * * /home/user7/domains/domen7.com/public_html/cgi-bin/te/tedata/cron/cstat > /dev/null 2>&1
* * * * * /home/user7/domains/domen7.com/public_html/cgi-bin/te/tedata/cron/cping > /dev/null 2>&1
* */12 * * * GET http://www.domen7.com/some_dir1/some_dir2/something.php >/dev/null
* * * * * cd /home/user8/domains/domen8.com/public_html/stream; /usr/local/bin/php -q cron.php 1>/dev/null 2>/dev/null
* * * * * /home/user8/domains/domen8.com/public_html/cgi-bin/te/tedata/cron/cstat > /dev/null 2>&1
* * * * * /home/user8/domains/domen8.com/public_html/cgi-bin/te/tedata/cron/cping > /dev/null 2>&1
* */12 * * * GET http://www.domen8.com/some_dir1/some_dir2/something.php >/dev/null
* * * * * cd /home/user9/domains/domen9.com/public_html/stream; /usr/local/bin/php -q cron.php 1>/dev/null 2>/dev/null
* * * * * /home/user9/domains/domen9.com/public_html/cgi-bin/te/tedata/cron/cstat > /dev/null 2>&1
* * * * * /home/user9/domains/domen9.com/public_html/cgi-bin/te/tedata/cron/cping > /dev/null 2>&1
* */12 * * * GET http://www.domen9.com/some_dir1/some_dir2/something.php >/dev/null

Примечания:
Ось на сервере: Linux 2.6.18-128.7.1.el5PAE(для SHELL=/bin/bash);
Как видите крон задания на разных юзерах висит, получается что сам файл с этими всеми заданиями надо будет запускать от рута;
* */12 * * * - запуск раз в 12 часов надо;
* * * * * - раз в минуту;
Вопросы:
1) Верно ли составлен файл?
2) Все ли верно я описал в примечаниях?
3) Какие права надо будет ставить на файлы что б они выполнялись:
а - на сам файл с крон-заданиями?
б - на те файлы, которые эти задания запускают, я так понимаю права менять не надо, верно?
4) Может я еще что-то упустил, что необходимо?

Оценю ответы и советы по максимуму. Спасибо.
цитата
27/11/09 в 01:38
 Woland
Оффтопик: все ли верно
Не всё icon_smile.gif

1. Файла будет 2, один будет выполняться раз в минуту (будет прописан в задание крона), второй раз в 12 часов (прописан туда же).
2. * * * * * в файле не надо и нах, это не задание крона, это команды построчно.




p.s. В топиге по линку ж есть пример:

Код:

#!/bin/sh
cd /home/user/domain1.com/stream/ ; /usr/local/bin/php -q cron.php
cd /home/user/domain2.com/stream/ ; /usr/local/bin/php -q cron.php
cd /home/user/domain3.com/stream/ ; /usr/local/bin/php -q cron.php
cd /home/user/domain4.com/stream/ ; /usr/local/bin/php -q cron.php
cd /home/user/domain5.com/stream/ ; /usr/local/bin/php -q cron.php


Эта страница в полной версии