LINUX.ORG.RU

cron ubuntu

 


0

1

Здравствуйте подскажите пожалуйста. Зареган на hoster.ru . Взял там виртуальный хостинг дабы простата настройки крона, исполняются скрипты на php. Потом написала служба поддержки что нагрузка на процессор и берите vps. Там же взял впс с Ubuntu 18 . ПРОБЛЕМА в настройки крона т.к я лузер ток начинаю знакомства с Linux и php.сразу хочу сказать скрипты на виртуалке до сиг пор работают. Много чего почитал толи не понял толе чего-то не догоняю .Установил на Линукс базы php, MySQL, ещё чтот , обновил апач. Редактор mc есть .забегу вперет сделал его по умолчанию, он запускается когда пишу команду crontab -e,но когда запускаю sudo crontab -e то всеровно запускается vi (непонятный).export EDITOR=mcedit я прописывал.Так вхожу через WinScp оболочку и putty. Нужно чтобы крон работал в интервале через каждые 2 минуты (парсинг сайта) Прописал сначала в файл через winscp etc/crontab такую запись */2 * * * * /var/www/fbtest/odds.php но скрипт не заработал парсинг сайта я не увидел а должен быть сигнал в телеграмм, лог такой Логи крона выдают следующее: pr 27 17:23:01 localhost cron[144]: (system) RELOAD (/etc/crontab) Apr 27 17:23:01 localhost cron[144]: Error: bad command; while reading /etc/crontab Apr 27 17:23:01 localhost cron[144]: (system) ERROR (Syntax error, this crontab file will be ignored) Apr 27 17:31:01 localhost cron[144]: (system) RELOAD (/etc/crontab) Apr 27 17:31:01 localhost cron[144]: Error: bad command; while reading /etc/crontab Apr 27 17:31:01 localhost cron[144]: (system) ERROR (Syntax error, this crontab file will be ignored) Apr 27 17:39:01 localhost CRON[17009]: (root) CMD ( [ -x /usr/lib/php/sessionclean ] && /usr/lib/php/sessionclean)

Пробовал добавить в эту запись root: */2 * * * * root /var/www/fbtest/odds.php не помогло . Потом запустил sudo crontab -e открылся vi но своей записи крона я там не обнаружил и всеровно прописал там с божьей помощью */2 * * * * /var/www/fbtest/odds.php 2>&1 >/dev/null , но скрипт так и не заработал, ещё дописал после задания 2>&1 >/dev/null вроде чтоб логи не писались так и не понял но написал .лог получился :

Each task to run has to be defined through a single line

indicating with different fields when the task will be run

and what command to run for the task

To define the time you can provide concrete values for

minute (m), hour (h), day of month (dom), month (mon),

and day of week (dow) or use ‘*’ in these fields (for ‘any’).#

Notice that tasks will be started based on the cron’s system

daemon’s notion of time and timezones.

Output of the crontab jobs (including errors) is sent through

email to the user the crontab file belongs to (unless redirected).

For example, you can run a backup of all your user accounts

at 5 a.m every week with:

0 5 * * 1 tar -zcf /var/backups/home.tgz /home/

For more information see the manual pages of crontab(5) and cron(8)

*/2 * * * * root /var/www/fbtest/odds.php 2>&1 >/dev/null

root@localhost:~# sudo service apache2 reload root@localhost:~# grep CRON /var/log/syslog Apr 29 00:06:01 localhost CRON[14597]: (root) CMD (/var/www/fbtest/odds.php 2>&1 >/dev/null) Apr 29 00:06:01 localhost CRON[14598]: (root) CMD (/var/www/fbtest/odds.php) Apr 29 00:08:01 localhost CRON[14638]: (root) CMD (/var/www/fbtest/odds.php 2>&1 >/dev/null) Apr 29 00:08:01 localhost CRON[14639]: (root) CMD (/var/www/fbtest/odds.php) Apr 29 00:09:01 localhost CRON[14673]: (root) CMD ( [ -x /usr/lib/php/sessioncl ean ] && /usr/lib/php/sessionclean) Apr 29 00:10:01 localhost CRON[14726]: (root) CMD (root /var/www/fbtest/odds.php 2>&1 >/dev/null) Apr 29 00:10:01 localhost CRON[14727]: (root) CMD (/var/www/fbtest/odds.php) Apr 29 00:11:01 localhost CRON[14752]: (root) CMD (cd / && run-parts –report /e tc/cron.hourly) Apr 29 00:12:01 localhost CRON[14770]: (root) CMD (/var/www/fbtest/odds.php) Apr 29 00:12:01 localhost CRON[14771]: (root) CMD (root /var/www/fbtest/odds.php 2>&1 >/dev/null) Apr 29 00:14:02 localhost CRON[14811]: (root) CMD (root /var/www/fbtest/odds.php 2>&1 >/dev/null) Apr 29 00:14:02 localhost CRON[14812]: (root) CMD (/var/www/fbtest/odds.php) Apr 29 00:16:01 localhost CRON[14848]: (root) CMD (root /var/www/fbtest/odds.php 2>&1 >/dev/null) Apr 29 00:16:01 localhost CRON[14849]: (root) CMD (/var/www/fbtest/odds.php) Apr 29 00:18:01 localhost CRON[14915]: (root) CMD (root /var/www/fbtest/odds.php 2>&1 >/dev/null) Apr 29 00:18:01 localhost CRON[14916]: (root) CMD (/var/www/fbtest/odds.php) Apr 29 00:20:01 localhost CRON[14959]: (root) CMD (root /var/www/fbtest/odds.php 2>&1 >/dev/null) Apr 29 00:20:01 localhost CRON[14960]: (root) CMD (/var/www/fbtest/odds.php) Apr 29 00:22:01 localhost CRON[15002]: (root) CMD (root /var/www/fbtest/odds.php 2>&1 >/dev/null) Apr 29 00:22:01 localhost CRON[15003]: (root) CMD (/var/www/fbtest/odds.php) root@localhost:~#

Что с записью root в задании что без него в sudo crontab -e и просто команда crontab -e скрипт не запускается.

Подскажите юзеру пожалуйста как запустить скрипт). сервер владелец один я с правами рут я так понимаю .

Скрипт запускается, просто нужно из скрипта как-то нормально сообщать, что он запустился, а не:

а должен быть сигнал в телеграмм

Редактируйте файлы cron'а напрямую (запуская sudo mcedit FILENAME), без всяких crontab -e. В системе есть общесистемный /etc/crontab и пользовательские /var/spool/cron/crontabs/root файлы заданий.

Вы, походу, насрали в оба. Формат отличается, в первом нужно указывать имя пользователя, во втором нет. И перезаписывать /etc/crontab не стоило, там могло быть что-то системное.

mky ★★★★★ ()
Ответ на: комментарий от mky

На вский случай добавлю, что когда возникают подозрения, что крон не запускает скрипт, нужно в скрипте первыми строками кода делать максимально простое действие, допустим создавать файл в /tmp или засыпать на 30-60 секунд. Потом во время когда должен быть запущен скрипт смотреть появился ли файл в /tmp или процесс в списке процессов...

mky ★★★★★ ()
Ограничение на отправку комментариев: только для зарегистрированных пользователей