- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева

Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Добавляю в crontab -e
строку
Если запускать /var/www/pp/pp_cron - скрипт прекрасно отрабатывает.
Вопрос: почему он не работает через cron? Что я делаю не так?
Напишите
30 * * * * root /var/www/pp/pp_cron > /path/to/log_file 2>&1
в этом файлике будет весь вывод, в т.ч. сообщения об ошибках, если они есть.
Также почитайте, что пишут в /var/log/cron
А вообще у меня есть сильные сомнения, что вы правильно редактируете задания.
Пользователь, от которого крон выполняет команду, указывается только в /etc/crontab
А вы запускаете "crontab -e" и таким образом редактируете файл /var/cron/tabs/root (ну или под каким пользователем вы в этот момент работаете)
То есть, в указанный log_file будет писаться что-то вроде "root: command not found" :)
Сделал:
Файл log_file не создается вообще. Такое впечатление, что эта команда тупо не выполняется.
В /etc/crontab такое:
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
Такого пути /var/cron/tabs/root у меня нет вообще.
В /var/log/cron.log у меня:
May 11 01:09:01 server /USR/SBIN/CRON[3113]: (root) CMD ( [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -print0 | xargs -n 200 -r -0 rm)
May 11 01:10:01 server /USR/SBIN/CRON[3133]: (www-data) CMD ([ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh)
May 11 01:12:35 server crontab[3143]: (root) BEGIN EDIT (root)
May 11 01:12:53 server crontab[3143]: (root) REPLACE (root)
May 11 01:12:53 server crontab[3143]: (root) END EDIT (root)
May 11 01:13:01 server /usr/sbin/cron[32346]: (root) RELOAD (crontabs/root)
May 11 01:15:01 server /USR/SBIN/CRON[3161]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
May 11 01:17:01 server /USR/SBIN/CRON[3167]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
May 11 01:18:56 server crontab[3180]: (root) BEGIN EDIT (root)
May 11 01:19:09 server crontab[3180]: (root) END EDIT (root)
May 11 01:20:01 server /USR/SBIN/CRON[3192]: (www-data) CMD ([ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh)
Что это и почему я здесь не вижу чего-нибудь похожего на мою команду я чесно говоря не знаю.
Ну у вас интервал выполнения установлен в 30 минут, а в логе только 15-минутный кусок.
Видимо, не пришло время ещё :)
Такого пути /var/cron/tabs/root у меня нет вообще.
Наверное, в вашей системе пользовательские кронтабы хранятся в другом месте.
В любом случае, в /var/log/cron должна появиться запись о запуске вашей команды.
Разве? Помоему первое поле отвечает за сек. 0-59, то есть в моем случае каждую минуту на 30 сек.
Разве? Помоему первое поле отвечает за сек. 0-59, то есть в моем случае каждую минуту на 30 сек.
man 5 crontab
вряд ли у вас какой-то дикий крон с секундами :)
Вы правы, это минуты.
В /var/log/cron.log появилась запись:
ровно на 30 минуте.
Но все равно скрипт не отработал, но в log_file:
Я понимаю, что об этом вы писали в первом посте, но я чесно говоря не понял. Что это значит?
Reise добавил 11.05.2011 в 03:26
И тогда возникает вопрос, а как же тогда добавиться, что срабатывало раз в минуту например?
Вы правы, это минуты.
В /var/log/cron.log появилась запись:
ровно на 30 минуте.
Но все равно скрипт не отработал, но в log_file:
Я понимаю, что об этом вы писали в первом посте, но я чесно говоря не понял. Что это значит?
Reise добавил 11.05.2011 в 03:26
И тогда возникает вопрос, а как же тогда добавиться, что срабатывало раз в минуту например?
Это значит, что не нужно указывать имя пользователя (root), если вы редактируете кронтаб пользователя ("crontab -e").
Если же вы редактируете файл "/etc/crontab", то вы редактируете системный кронтаб, в котором надо указывать пользователей.
Чтобы запускать команду раз в минуту, везде поставьте звёздочки.
Читайте мануал, там всё про это написано :)
если это последняя строка в файле, после неё должен быть перевод строки
;8933099]Это значит, что не нужно указывать имя пользователя (root), если вы редактируете кронтаб пользователя ("crontab -e").
Если же вы редактируете файл "/etc/crontab", то вы редактируете системный кронтаб, в котором надо указывать пользователей.
Вы абсолютно правы, неся задание в системный crontab и поправив интервал - все сразу заработало.
;8933099]Читайте мануал, там всё про это написано
Я бы с радостью, но там все на английском. Кстати интересуюсь вопросом, нельзя ли как-то русифицировать маны? Английский немного знаю, но не настолько, чтобы быстро сориентироваться и разобраться в проблеме. Например когда меня нужно быстро разобрать ман, гуглю man команда и обычно первый результат этот ман на русском. Нельзя ли в системе так сделать, то есть русифицировать маны. У меня debian 6.
если это последняя строка в файле, после неё должен быть перевод строки
Это было, спасибо.
[umka], большое спасибо за помощь.