Crontab используется мной на хостинге masterhost.
0 */1 * * * bash /home/u55255/ptiza-nn.ru/www/backup.sh > /dev/null 2>&1
Уже второй день мучаюсь помогите.
> Crontab используется мной на хостинге masterhost.
> 0 */1 * * * bash /home/u55255/ptiza-nn.ru/www/backup.sh > /dev/null 2>&1
> Уже второй день мучаюсь помогите.Чей кронтаб? рутовый? или пользователя "bash"? ))
Подозреваю, что пользователь - это u55255 и работаете вы под ним.
Зачем добавляете bash? Для выполнения скрипта?
Уберите и не сбивайте с толку кронтаб.
Выполните
chmod 555 /home/u55255/ptiza-nn.ru/www/backup.sh
И приведите к виду
0 */1 * * * /home/u55255/ptiza-nn.ru/www/backup.sh > /dev/null 2>&1
>[оверквотинг удален]
>> 0 */1 * * * bash /home/u55255/ptiza-nn.ru/www/backup.sh > /dev/null 2>&1
>> Уже второй день мучаюсь помогите.
> Чей кронтаб? рутовый? или пользователя "bash"? ))
> Подозреваю, что пользователь - это u55255 и работаете вы под ним.
> Зачем добавляете bash? Для выполнения скрипта?
> Уберите и не сбивайте с толку кронтаб.
> Выполните
> chmod 555 /home/u55255/ptiza-nn.ru/www/backup.sh
> И приведите к виду
> 0 */1 * * * /home/u55255/ptiza-nn.ru/www/backup.sh > /dev/null 2>&1Еще такой вопрос, после того как я забил в crontab 0 */1 * * * /home/u55255/ptiza-nn.ru/www/backup.sh > /dev/null 2>&1 задание выполнится в начале следующего часа или через час ?
> Еще такой вопрос, после того как я забил в crontab 0 */1 * * * /home/u55255/ptiza-nn.ru/www/backup.sh > /dev/null 2>&1 задание выполнится в начале следующего часа или через час ?Будет выполняться периодически в 0 минут каждый час.
Ваша запись эквивалентна
0 * * * * /home/u55255/ptiza-nn.ru/www/backup.sh > /dev/null 2>&1
Или
@hourly /home/u55255/ptiza-nn.ru/www/backup.sh > /dev/null 2>&1
> Будет выполняться периодически в 0 минут каждый час.
> Ваша запись эквивалентна
> 0 * * * * /home/u55255/ptiza-nn.ru/www/backup.sh > /dev/null 2>&1
> Или
> @hourly /home/u55255/ptiza-nn.ru/www/backup.sh > /dev/null 2>&1К сожалению не сработало, в 3 часа скрипт так и не запустился =_= т.е. не сделал резервные копии сайта. Сам скрипт рабочий запускал его bash /home/u55255/ptiza-nn.ru/www/backup.sh > /dev/null 2>&1
>> Будет выполняться периодически в 0 минут каждый час.
>> Ваша запись эквивалентна
>> 0 * * * * /home/u55255/ptiza-nn.ru/www/backup.sh > /dev/null 2>&1
>> Или
>> @hourly /home/u55255/ptiza-nn.ru/www/backup.sh > /dev/null 2>&1
> К сожалению не сработало, в 3 часа скрипт так и не запустился
> =_= т.е. не сделал резервные копии сайта. Сам скрипт рабочий запускал
> его bash /home/u55255/ptiza-nn.ru/www/backup.sh > /dev/null 2>&1Покажите
ll /home/u55255/ptiza-nn.ru/www/backup.sh
sed q /home/u55255/ptiza-nn.ru/www/backup.shВидимо запись
0 */1 * * * /home/u55255/ptiza-nn.ru/www/backup.sh > /dev/null 2>&1
не эквивалентна
0 * * * * /home/u55255/ptiza-nn.ru/www/backup.sh > /dev/null 2>&1
Аналогии с минутами не верны. Исправьте.
Должно выполняться каждый час. Или нужно иначе?
> Покажите
> ll /home/u55255/ptiza-nn.ru/www/backup.sh
> sed q /home/u55255/ptiza-nn.ru/www/backup.sh/home/u55255$ ll /home/u55255/ptiza-nn.ru/www/backup.sh
-bash: line 24: ll: команда не найдена/home/u55255$ sed q /home/u55255/ptiza-nn.ru/www/backup.sh
#!/bin/bash> Видимо запись
> 0 */1 * * * /home/u55255/ptiza-nn.ru/www/backup.sh > /dev/null 2>&1
> не эквивалентна
> 0 * * * * /home/u55255/ptiza-nn.ru/www/backup.sh > /dev/null 2>&1
> Аналогии с минутами не верны. Исправьте.
> Должно выполняться каждый час. Или нужно иначе?Желательно отладочно каждые 10 минут.
>[оверквотинг удален]
> -bash: line 24: ll: команда не найдена
> /home/u55255$ sed q /home/u55255/ptiza-nn.ru/www/backup.sh
> #!/bin/bash
>> Видимо запись
>> 0 */1 * * * /home/u55255/ptiza-nn.ru/www/backup.sh > /dev/null 2>&1
>> не эквивалентна
>> 0 * * * * /home/u55255/ptiza-nn.ru/www/backup.sh > /dev/null 2>&1
>> Аналогии с минутами не верны. Исправьте.
>> Должно выполняться каждый час. Или нужно иначе?
> Желательно отладочно каждые 10 минут.ls -lA /home/u55255/ptiza-nn.ru/www/backup.sh
каждые 10 минут
*/10 * * * * /home/u55255/ptiza-nn.ru/www/backup.sh > /dev/null 2>&1
> ls -lA /home/u55255/ptiza-nn.ru/www/backup.sh/home/u55255$ ls -lA /home/u55255/ptiza-nn.ru/www/backup.sh
-r-xr-xr-x 1 u55255 u55255 1417 20 СОЧ 17:35 /home/u55255/ptiza-nn.ru/www/backup.sh
>> ls -lA /home/u55255/ptiza-nn.ru/www/backup.sh
> /home/u55255$ ls -lA /home/u55255/ptiza-nn.ru/www/backup.sh
> -r-xr-xr-x 1 u55255 u55255 1417 20 СОЧ 17:35 /home/u55255/ptiza-nn.ru/www/backup.shЗамените первую строку вашего скрипта /home/u55255/ptiza-nn.ru/www/backup.sh на
#!/usr/bin/env bash
> Замените первую строку вашего скрипта /home/u55255/ptiza-nn.ru/www/backup.sh на
> #!/usr/bin/env bashСкрипт начал писать
Недостаточно привилегий
>> Замените первую строку вашего скрипта /home/u55255/ptiza-nn.ru/www/backup.sh на
>> #!/usr/bin/env bash
> Скрипт начал писать
> Недостаточно привилегийдавайте
ls -l `which sh`
ls -l `which bash`
uname -a
> Crontab используется мной на хостинге masterhost.
> 0 */1 * * * bash /home/u55255/ptiza-nn.ru/www/backup.sh > /dev/null 2>&1
> Уже второй день мучаюсь помогите.Попробуйте запустить что-нибудь простенькое тестовое, скажем, раз в пять минут, чтобы проверить, правильно ли вообще работает cron.
И ещё. Чуть ли не половина виденных мною проблем с кроном возникала из-за незаданных или неправильно заданных переменных среды, в основном PATH (man 5 crontab тут поможет).
> Попробуйте запустить что-нибудь простенькое тестовое, скажем, раз в пять минут, чтобы проверить,
> правильно ли вообще работает cron.Запустил */3 * * * * /usr/local/bin/wget -O - -q "http://ptiza-nn.ru/sitedir.php" cron отработал как часы.
> И ещё. Чуть ли не половина виденных мною проблем с кроном возникала
> из-за незаданных или неправильно заданных переменных среды, в основном PATH (man
> 5 crontab тут поможет).если вы имеете ввиду /etc/crontab править, то не получится это может делать только хостер, у меня же виртуальный хостинг.
> Запустил */3 * * * * /usr/local/bin/wget -O - -q "http://ptiza-nn.ru/sitedir.php" cron отработал как часы.Не здипи, выше нарисованное не могло сработать, патамуша юзера "/usr/local/bin/wget" не существует.
Кронтаб состоит из ТРЕХ ОСНОВНЫХ ЧАСТЕЙ, [ВРЕМЯ] [ЮЗЕР] [КОМАНДА]
[ВРЕМЯ] делится ещё на 5 (масок, значений или один псевдоним: (hourly, daily, weekly...))
> Не здипи, выше нарисованное не могло сработать, патамуша юзера "/usr/local/bin/wget" не
> существует.
> Кронтаб состоит из ТРЕХ ОСНОВНЫХ ЧАСТЕЙ, [ВРЕМЯ] [ЮЗЕР] [КОМАНДА]
> [ВРЕМЯ] делится ещё на 5 (масок, значений или один псевдоним: (hourly, dayly,
> weekly...))Что такое не здипи ?
Такой пример я нашел для запуска php скрипта. И он работает.
> И он работает.Ну значит там убогая FreeBSD
---chmod +x /home/u55255/ptiza-nn.ru/www/backup.sh надеюсь сделали?
> chmod +x /home/u55255/ptiza-nn.ru/www/backup.sh надеюсь сделали?Вот такое мне посоветовал Михалыч chmod 555 /home/u55255/ptiza-nn.ru/www/backup.sh, думаю это одинаковые команды ?
> Вот такое мне посоветовал Михалыч chmod 555 /home/u55255/ptiza-nn.ru/www/backup.sh,
> думаю это одинаковые команды ?Вы бы, батенька, матчасть бы, хотя бы в части элементарных знаний - подучили. А то дремучий, как антрацит. Вопросы задаете на уровне "третьего класса средней школы". Даже любопытно стало - что же Вы там тогда такое в скрипте написали?
> Вы бы, батенька, матчасть бы, хотя бы в части элементарных знаний
> - подучили. А то дремучий, как антрацит. Вопросы задаете на уровне
> "третьего класса средней школы". Даже любопытно стало - что же Вы
> там тогда такое в скрипте написали?В скрипте резервное копирование сайта и базы данных на сервер и в облако. С Матчастью согласшусь плохо, так же плохо и с bash, пишу впервые.
> В скрипте резервное копирование сайта и базы данных на сервер и в
> облако. С Матчастью согласшусь плохо, так же плохо и с bash,
> пишу впервые.о как. то не знает как существование файла проверить, а то на те и в ооооблако ... однако!
здипит похоже чего то он ...
> Кронтаб состоит из ТРЕХ ОСНОВНЫХ ЧАСТЕЙ, [ВРЕМЯ] [ЮЗЕР] [КОМАНДА]
> [ВРЕМЯ] делится ещё на 5 (масок, значений или один псевдоним: (hourly, daily,
> weekly...))pavlinux, при всём уважении, ты не прав. Это _системный_ кронтаб состоит из таких частей, а в юзерском (о котором тут и речь) нет части [ЮЗЕР] за очевидной ненадобностью.
> Запустил */3 * * * * /usr/local/bin/wget -O - -q "http://ptiza-nn.ru/sitedir.php" cron
> отработал как часы.Крон работает. Это хорошо.
>> И ещё. Чуть ли не половина виденных мною проблем с кроном возникала
>> из-за незаданных или неправильно заданных переменных среды, в основном PATH (man
>> 5 crontab тут поможет).
> если вы имеете ввиду /etc/crontab править, то не получится это может делать
> только хостер, у меня же виртуальный хостинг.Нет, вы работаете со своим кронтабом, а не с общесистемным. Его можно редактировать командой "crontab -e". Попробуйте, кстати, запустить из крона что-то вроде
/bin/sh -c set > /какой/нибудь/файли покажите, что в этом файле получилось (естественно, убрав конфиденциальную информацию, если она там будет). Там будут все переменные среды.
> и покажите, что в этом файле получилось (естественно, убрав конфиденциальную информацию,
> если она там будет). Там будут все переменные среды.BLOCKSIZE=K
EDITOR=vi
FTP_PASSIVE_MODE=YES
HISTSIZE=1024
HISTTIMEFORMAT='%h %d %H:%M:%S '
HOME=/home/u55255
IFS='
'
LANG=ru_RU.KOI8-R
LC_TIME=C
MAIL=/var/mail/u55255
MM_CHARSET=KOI8-R
OPTIND=1
PAGER=less
PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin:/home/u55255/bin
PPID=63096
PS1='$ '
PS2='> '
PS4='+ '
PWD=/home/u55255
SHELL=/usr/local/bin/bash
SHLVL=1
SSH_TTY=/dev/pts/0
TERM=xterm
USER=5121
_=/bin/sh
Хм... Это точно из кронтаба запущено? Смущает наличие SSH_TTY и TERM.
> Хм... Это точно из кронтаба запущено? Смущает наличие SSH_TTY и TERM.Нет, не из crontab'а. Сейчас исправлю
> Хм... Это точно из кронтаба запущено? Смущает наличие SSH_TTY и TERM.Вот это точно из crontab'a
HOME=/home/u55255
IFS='
'
OPTIND=1
PATH=/usr/bin:/bin
PPID=41770
PS1='$ '
PS2='> '
PS4='+ '
PWD=/home/u55255
SHELL=/bin/sh
USER=u55255
Так. А предыдущий вывод явно был из оболочки, где пресловутый скрипт нормально работает?Бросается в глаза различия в значениях PATH и SHELL. Очень может быть, что скрипт запускает что-то, чего нет в /usr/bin и /bin. Может быть также где-то всплывают различия между sh и bash. Но это уже надо сам скрипт изучать, так не скажу.
Попробуйте вписать вот эти самые
PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin:/home/u55255/bin
SHELL=/usr/local/bin/bashв кронтаб.
> Попробуйте вписать вот эти самые
>PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin:/home/u55255/bin
> SHELL=/usr/local/bin/bash
> в кронтаб.Вписать в /etc/crontab или crontab -e ?
> Вписать в /etc/crontab или crontab -e ?:-) Интересный вопрос, учитывая, что в /etc/crontab вы ничего записать не можете. Конечно в -е!
>> Вписать в /etc/crontab или crontab -e ?
> :-) Интересный вопрос, учитывая, что в /etc/crontab вы ничего записать не можете.
> Конечно в -е!"/tmp/crontab.jAjBBL281m":1: bad minute
crontab: errors in crontab file, can't install
> "/tmp/crontab.jAjBBL281m":1: bad minute
> crontab: errors in crontab file, can't installНу и? Где-то неправильно указаны минуты. Исправьте.
Кстати, а файл /bin/bash там у вас существует?
> Кстати, а файл /bin/bash там у вас существует?Как проверить ?
>> Кстати, а файл /bin/bash там у вас существует?
> Как проверить ?Кхм... Действительно всё плохо...
ls -l /bin/bashВам бы подучиться, что ли. А то сейчас сломаете ещё что-нибудь ненароком, а мы тут виноваты окажемся.