Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » crontab

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

tjanton

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет!
 
Ребят, такая проблема, нужно чтобы PHP файл запускался каждые 5 минут....
 
В ручном режиме (запуск из консоли) все работает нормально, прописываю в кроне... ничего не запускает...

Код:
 
# /etc/crontab - root's crontab for FreeBSD
#
# $FreeBSD: src/etc/crontab,v 1.32 2002/11/22 16:13:39 tom Exp $
#
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin
HOME=/var/log
#
#minute   hour   mday   month   wday   who   command
#
*/5   *   *   *   *   root   /usr/libexec/atrun
*/5   *   *   *   *   php   /usr/local/www/apache22/data/mrtg/cron.php
#
# Save some entropy so that /dev/random can re-seed on boot.
*/11   *   *   *   *   operator /usr/libexec/save-entropy
#
# Rotate log files every hour, if necessary.
0   *   *   *   *   root   newsyslog
#
# Perform daily/weekly/monthly maintenance.
1   3   *   *   *   root   periodic daily
15   4   *   *   6   root   periodic weekly
30   5   1   *   *   root   periodic monthly
#
# Adjust the time zone if the CMOS clock keeps local time, as opposed to
# UTC time.  See adjkerntz(8) for details.
1,31   0-5   *   *   *   root   adjkerntz -a

Всего записей: 43 | Зарегистр. 03-03-2010 | Отправлено: 21:41 16-07-2012
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tjanton
1 - такие вопросы стоит задавать в соответствующей ветке форума.
2 - php У вас здесь получился пользователь, а не команда) Перед php, напишите root, или от кого там вам надо скрипт запускать.

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 21:59 16-07-2012
Ruza



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Перед php, напишите root, или от кого там вам надо скрипт запускать.

Вот как то так:

Цитата:
*/10 * * * *  root /usr/bin/php -q /var/www/html/cron.php


----------
Fools rush in where angels fear to tread.

Всего записей: 5472 | Зарегистр. 10-09-2003 | Отправлено: 22:07 16-07-2012
tjanton

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Теперь так, но все равно не запускается...

Код:
 
# /etc/crontab - root's crontab for FreeBSD
#
# $FreeBSD: src/etc/crontab,v 1.32 2002/11/22 16:13:39 tom Exp $
#
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin
HOME=/var/log
#
#minute    hour    mday    month    wday    who    command
#
*/5    *    *    *    *    root    /usr/libexec/atrun
*/5    *    *    *    *    root    /usr/bin/php -q    /var/www/html/mrtg/cron.php
#
# Save some entropy so that /dev/random can re-seed on boot.
*/11    *    *    *    *    operator /usr/libexec/save-entropy
#
# Rotate log files every hour, if necessary.
0    *    *    *    *    root    newsyslog
#
# Perform daily/weekly/monthly maintenance.
1    3    *    *    *    root    periodic daily
15    4    *    *    6    root    periodic weekly
30    5    1    *    *    root    periodic monthly
#
# Adjust the time zone if the CMOS clock keeps local time, as opposed to
# UTC time.  See adjkerntz(8) for details.
1,31    0-5    *    *    *    root    adjkerntz -a


Всего записей: 43 | Зарегистр. 03-03-2010 | Отправлено: 22:22 16-07-2012
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tjanton
Что говорит /var/log/syslog или messages, не помню куда там во фре пишется cron?
 
p.s. мне вроде казалось, что если crontab менять вручную, а не через ключ -e, то надо crond рестартить...

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 22:28 16-07-2012
Ruza



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
tjanton
Попробуй руками выполнить:  
/usr/bin/php -q /var/www/html/mrtg/cron.php
 
Гложут меня смутные сомнения на счёт /usr/bin/php во freebsd наверное /usr/local/bin/php

----------
Fools rush in where angels fear to tread.

Всего записей: 5472 | Зарегистр. 10-09-2003 | Отправлено: 22:42 16-07-2012 | Исправлено: Ruza, 22:45 16-07-2012
tjanton

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Получилось всем спасибо
 
просто после php ставил tab, а надо было пробел

Всего записей: 43 | Зарегистр. 03-03-2010 | Отправлено: 22:45 16-07-2012
bga83



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
p.s. мне вроде казалось, что если crontab менять вручную, а не через ключ -e, то надо crond рестартить...

в FreeBSD этого точно не требуется. cron сам постоянно просматривает этот файл.

Всего записей: 2008 | Зарегистр. 30-11-2007 | Отправлено: 09:31 17-07-2012
b7music



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Всем привет. Есть скрипт bash

Код:
 
#!/bin/sh
# Задаем переменные
# Текущая дата в формате 2015-09-29_04-10
date_time=`date +"%Y-%m-%d_%H-%M"`
# Куда размещаем backup
yandex_dir='/home/bitrix/backup/nbs22.ru_backup/backup/nbs22.ru_backup/'
# Директория для архива
server_dir='/home/bitrix/'
# Название непосредственно директории с файлами
files_dir='www'
# Пользователь базы данных
user='root'
# Пароль пользователя
password=*************'
# Имя базы для бэкапа
bd_name='sitemanager0'
 
# Монтируем яндекс.диск
mount -t davfs https://webdav.yandex.ru /home/bitrix/backup/nbs22.ru_backup/
# Выгружаем базу данных
/usr/bin/mysqldump --max_allowed_packet=128M --opt -v --databases $bd_name -u$user -p$password |  /usr/bin/gzip -c > $yandex_dir/mysql_$date_time.sql.gz
# Создание архива исходников
tar -czvf $yandex_dir/files_$date_time.tar.gz -C $server_dir $files_dir
# Удаляем архивы старше 3-ми дней
/usr/bin/find $yandex_dir -type f -mtime +3 -exec rm {} \;
# Отключаем яндекс.диск
umount /home/bitrix/backup/nbs22.ru_backup/
 

Установлена Centos 6.
Добавил в /etc/contab  
10 23 * * * bitrix /home/bitrix/backup_to_yandex.sh >/dev/null 2>&1
Сам скрипт лежит по адресу /home/bitrix/backup_to_yandex.sh
 
В итоге в логах видна попытка запуска скрипта, но он не выполняется. Бекап не создается.
Если запускать руками, все работает.
Пробовал добавлять задание от пользователя bitrix и root не запускается.
Подскажите, в чем ошибка.

Всего записей: 674 | Зарегистр. 04-03-2010 | Отправлено: 06:54 31-05-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
b7music

Цитата:
Если запускать руками, все работает.

под кем? mount требует прав суперюзера.
и лучше использовать crontab -e под нужным юзверем или sudo crontab -e -u username, а не системный (все то же самое, только не нужно указывать пользователя в записи)

Всего записей: 15112 | Зарегистр. 20-09-2014 | Отправлено: 07:04 31-05-2018
b7music



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Я пробовал и в crontab -e под пользователем root, все так же запись о запуске есть, по факту скрипт не выполняется.

Всего записей: 674 | Зарегистр. 04-03-2010 | Отправлено: 08:05 31-05-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
b7music

Цитата:
по факту скрипт не выполняется

а права на выполенние скрипту выставлены?

Всего записей: 15112 | Зарегистр. 20-09-2014 | Отправлено: 08:09 31-05-2018
b7music



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Права 755. Сам скрипт делал исполняемым. Если из под консоли запускать под пользователем root все отрабатывает.

Всего записей: 674 | Зарегистр. 04-03-2010 | Отправлено: 08:11 31-05-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
b7music
не имеет это все же отношения к сисадминам..
попробуйте так  
/home/bitrix/backup_to_yandex.sh &> /path/out.log
и потом смотрите содержимое out.log файла - туда должен записаться и вывод и ошибки

Всего записей: 15112 | Зарегистр. 20-09-2014 | Отправлено: 08:27 31-05-2018 | Исправлено: Mavrikii, 08:27 31-05-2018
b7music



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Сделал, в логах крона
May 31 12:35:01 nbs22 CROND[36966]: (bitrix) CMD (/home/bitrix/backup_to_yandex.sh > /home/bitrix/ya.log)
в итоге в логе ya.log
www/
www/aspro_regions/
www/aspro_regions/sitemap/
www/aspro_regions/robots/
www/images/
www/images/color-instagram-48.png
www/images/line.png
www/images/bg940.jpg
 
и все. Архив не создался и не выгрузился.
 
upd. Запустил под рутом, архив начал создаваться.

Всего записей: 674 | Зарегистр. 04-03-2010 | Отправлено: 08:42 31-05-2018 | Исправлено: b7music, 08:47 31-05-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
b7music

Цитата:
(bitrix)

запускается от битрикса, если у него есть права суперюзера, то нужно делать sudo mount и sudo umount
но эти команды попросят пароль, настройкой sudoers через visudo (в CentOS может быть несколько иначе) можно сделать без пароля, но не рекомендуется.

Всего записей: 15112 | Зарегистр. 20-09-2014 | Отправлено: 08:43 31-05-2018 | Исправлено: Mavrikii, 08:47 31-05-2018
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » crontab


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru