|  | 
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ Есть  sh скрипт  ( mgbc.sh ), запускающий SQL-скрипт и выводящий результат в файл  result_mgbc.txt  Код: powershell 1. 2. 3. SQL-скрипт для выборки из MySQL таблицы Код: sql 1. 2. 3. 4. 5. 6. Запуская /root/bin/mgbc.sh из терминала, в файле result_mgbc.txt имеем данные по выборке А запуская тот же /root/bin/mgbc.sh из КРОНа 35 10 1 * * /root/bin/mgbc.sh в файле result_mgbc.txt пусто Где собака порылась? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 02.02.2018, 16:23 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ justITГде собака порылась?в путях? либо скорми крону пути вида PATH=/usr/... , либо укажи c явным путем mysql. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 02.02.2018, 17:25 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ Ivan_PisarevskyjustITГде собака порылась? в путях? либо скорми крону пути вида PATH=/usr/... , либо укажи c явным путем mysql. Увы Код: powershell 1. 2. 3. результат тот же. Командная строка - отработал Из крона результат селекта ноль. Именно что в result_mgbc.txt Код: plsql 1. 2. sql-скрипт отрабатывает, но вместо @cid=570 и @cid2='service@' в него идет что-то иное, пустое. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 02.02.2018, 18:10 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ justITА запуская тот же  /root/bin/mgbc.sh  из КРОНа 35 10 1 * * /root/bin/mgbc.sh в файле result_mgbc.txt пусто Где собака порылась? В crontab-е. Под каким юзером скрипт запускается? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 02.02.2018, 18:49 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ OoCcjustITА запуская тот же  /root/bin/mgbc.sh  из КРОНа 35 10 1 * * /root/bin/mgbc.sh в файле result_mgbc.txt пусто Где собака порылась? В crontab-е. Под каким юзером скрипт запускается? логинюсь под root запускаю скрипт стало быть тоже. crontab -e из той же сессии. Скрипт-то запускается, и отрабатывает (крон-лог) текстовый файл-с-отчетом-создается. В нем список полей из селекта есть, только данных нету, точно будто вместо параметра 570 идет нуль. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 02.02.2018, 19:48 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ Может, в запросе кодировку SET NAMES указать явно? При консольном вызове mysql она берется из переменных окружения. Гипотетически, в сессии крона она может отличаться от пользовательской сессии. Хотя, если кириллицы нет, то и повлиять оно не должно. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 02.02.2018, 21:48 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ Кириллицы нет в таблицах вообще. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 03.02.2018, 12:47 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ Разумеется если SET @cid=...; SET @cid2=... вставить непосредственно в sql-script то все раотает как часы. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 03.02.2018, 17:40 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ Это же легко проверить. Код: powershell 1. 2. и посмотреть чего будет в /tmp/tmp.txt Плюс обычные средства отладки cron: посмотреть чего он в email напишет. Я подозреваю /bin/sh это какой-то облегченный шелл и не понимает таких новшеств со скобками. Типа ash/dash или вообще какой-нибудь HP-UX, у которого /bin/sh неизменный с 80х. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 04.02.2018, 13:35 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ МутагенЭто же легко проверить. Код: powershell 1. 2. и посмотреть чего будет в /tmp/tmp.txt в /tmp/tmp.txt имеем При запуске вручную Код: powershell 1. 2. 3. При запуске через cron ничего. Хм.... В cron-логе видно, что скрипт запустился. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 04.02.2018, 16:28 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ МутагенЭто же легко проверить. НО! При выполнении вручную Код: powershell 1. 2. 3. В /root/bin/result_mgbc.txt имеем Код: powershell 1. 2. 3. Удаляю /root/bin/result_mgbc.txt и запускаю через крон В /root/bin/result_mgbc.txt имеем Код: powershell 1. 2. 3. Что говорит о том, что оба скрипта обрабатывают, только вместо SET @cid=570; SET @cid2='service@'; передаются скорей всего пустые cid и cid2 Суть задачи-то в том, чтобы сделать шелл скрипт, который в кроне потом запускать несколько раз в сутки вот так: Код: powershell 1. 2. 3. 4. Я пока не смог найти иного метода, кроме как указанный выше. Буду благодарен, если натолкнете на альнернативную идею. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 04.02.2018, 16:54 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ Сходу такие мысли. 1. Попробовать bash вместо sh. Всё же, разные они сильно. 2. Попробовать заэкранировать @. Не уверен, что поможет, вроде не спецсимвол. 3. Тупо написать несколько файликов, по одному на каждый вид запуска и читать их через cat. Ну это уж совсем тупо :-) 4. Непосредственно в тексте запроса присваивать значения переменным в соответствии с временем запуска (если есть какая-то строгая зависимость значения от времени). Если вариантов значений много - разместить их в дополнительную табличку и читать в переменные через SELECT...INTO. Время можно вычислить функциями MySQL. 5. Перенести код в хранимую процедуру и вызывать её с параметрами (строковые значения). Мне этот вариант больше всего нравится. 6. Перейти на встроенный планировщик MySQL, если это возможно (у него более скудные возможности по расписанию), и перенести туда весь код. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 04.02.2018, 17:14 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ crond не устанавливает никаких переменных запускать из скрипта с установкой всех необходимых env я тестирую сбросом всех переменных: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 05.02.2018, 16:54 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ justIT  Код: powershell 1. чет странно что никто до сих пор для отладки не посоветовал Код: sql 1. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 05.02.2018, 17:13 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ Vadim Lejnincrond не устанавливает никаких переменных запускать из скрипта с установкой всех необходимых env я тестирую сбросом всех переменных: к сожалению не понял Вас. Какие ему нужны переменные, если все пути указаны полностью? Как я уже писал выше 99% трабла в том, что при выполнении из Крона мои @cid and @cid2 не считываются, а вместо них идет "пустота", и, соответственно select выполняется но ничего не выводит. Кстати та же байда, если я выношу @cid наружу То есть запускаю как Код: powershell 1. А в скрипте Код: powershell 1. crontab не понимает конструкцию echo "SET..... Андрей Панфиловчет странно что никто до сих пор для отладки не посоветовал Код: sql 1. 2. 3. 4. 5. 6. [/quot] в терминале вижу все, но если из крона задача пойдет, где debug output увидеть смогу? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 05.02.2018, 17:40 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ Vadim Lejnincrond не устанавливает никаких переменныхЭто тут не при чём. Vadim Lejninя тестирую сбросом всех переменных: Код: sql 1. 2. проще командой Код: plaintext ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 05.02.2018, 19:10 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ Так может сами переменные взять в кавычки?   Код: sql 1. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 06.02.2018, 12:56 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ justITА в скрипте Код: powershell 1. crontab не понимает конструкцию echo "SET..... А /bin/echo ? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 06.02.2018, 13:12 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ Vadim Lejnincrond не устанавливает никаких переменных поэтому лучше просто подгрузить profile рута в начале скрипта.... ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 06.02.2018, 16:17 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ Вячеслав ЛюбомудровjustITА в скрипте Код: powershell 1. crontab не понимает конструкцию echo "SET..... А /bin/echo ? не помогло. В файле имена полей и полное отсутствие данных Q.TarantinoVadim Lejnincrond не устанавливает никаких переменных поэтому лучше просто подгрузить profile рута в начале скрипта.... Все манипуляции под рутом делаются. как и ручное вполнение скрипта, так и редактирование кронтаба (cron -e) ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 06.02.2018, 18:41 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ Склоняюсь к мысли, что это просто невозможно сделать. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 06.02.2018, 18:46 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ justIT, попробуй так запустить из крона Код: coco 1. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 06.02.2018, 20:31 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ justITСклоняюсь к мысли, что это просто невозможно сделать. А кто вам не дает написать полностью скрипт, в котором вы сначала сформируете нужный вам файл с командами sql и отправить его на обработку... В конечном счете можно попробовать создать задание для самого root'а... crontab -e -u root ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 07.02.2018, 10:45 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ justITВсе манипуляции под рутом делаются. как и ручное вполнение скрипта, так и редактирование кронтаба (cron -e) justITСклоняюсь к мысли, что это просто невозможно сделать. склоняюсь к мысли что ты тупой. тебе вроде сказали - крон не подгружает профайл рута! руками его подгрузи в скрипте! ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 07.02.2018, 10:49 |  | ||
|  | 

| start [/forum/topic.php?fid=25&startmsg=39595742&tid=1481389]: | 0ms | 
| get settings: | 13ms | 
| get forum list: | 15ms | 
| check forum access: | 4ms | 
| check topic access: | 4ms | 
| track hit: | 38ms | 
| get topic data: | 13ms | 
| get forum data: | 2ms | 
| get page messages: | 60ms | 
| get tp. blocked users: | 1ms | 
| others: | 234ms | 
| total: | 384ms | 

| 0 / 0 | 
