|  | 
| 
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 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ Есть подозрение, что просто к нам, на форум друзей, вываливаются недостоверные данные Типо, это не имеет значения, но там символ %, но это же не важно ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 07.02.2018, 13:20 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ Вячеслав ЛюбомудровЕсть подозрение, что просто к нам, на форум друзей, вываливаются недостоверные данные Типо, это не имеет значения, но там символ %, но это же не важно Не понял Вас. Данные же достоверные :-) Но попробовал упростить задачу, а именно СКЛ скрипт сделал без LIKE Код: sql 1. 2. 3. 4. 5. и КРОН выполнил его! М-да. Спасибо за наводку. Осталось раскурить, как и где '%' влияет Q.Tarantinoсклоняюсь к мысли что ты тупой. тебе вроде сказали - крон не подгружает профайл рута! руками его подгрузи в скрипте! Да я не претендую на звание гения, но советы давать можно если в теме :-) ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 07.02.2018, 15:25 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ justITОсталось раскурить, как и где '%' влияет Как-то не очень понятно, в приведенном листинге ни разу такого символа не было Но "если что" символ "%" действительно имеет интересное значение и об этом написано в man crontab ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 07.02.2018, 16:13 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ Вячеслав ЛюбомудровjustITОсталось раскурить, как и где '%' влияет Как-то не очень понятно, в приведенном листинге ни разу такого символа не было в стартовом посте есть он :-) Вячеслав ЛюбомудровНо "если что" символ "%" действительно имеет интересное значение и об этом написано в man crontab Спасибо, буду знать ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 07.02.2018, 16:19 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ Еще раз спасибо  Вячеславу Любомудрову  за наводку. Итого рабочий вариант Код: powershell 1. 2. 3. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. Вот фишка SET @percent := '%' ; ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 08.02.2018, 16:20 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ у MySQL нет оператора containing? коль его поведение ты эмулируешь через лайк... просто я не силен в mysql. Да, и для того же файрберда я скармливаю скрипт как параметр командной строки, а не через cat+трубопроводы. При таком раскладе крон не будет участвовать никоим боком в парсинге sql скрипта. Тут нельзя так сделать? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 08.02.2018, 17:29 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ Ivan_Pisarevskyу MySQL нет оператора containing? коль его поведение ты эмулируешь через лайк... просто я не силен в mysql. Я так же не силен в mysql, но не нашел containing. Кстати тут же нарисовалась следующая "проблема" Код: powershell 1. отрабатывает на ура, но вот в случае использования второго параметра Код: powershell 1. 2. 3. он, параметр подставляться в СКЛ-выражение Код: sql 1. 2. 3. 4. "не желает" возможно изврат с присвоением paramener2 значения 'something@' из командной строки Код: sql 1. 2. 3. 4. 5. сработает. Попробую, хотя на вид "дичь" ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 08.02.2018, 18:52 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ Вообще-то ты что-то недоговариваешь % имеет значение только в файле crontab Если же он находится в скрипте, который вызывается из crontab, то никакого влияния не оказывает ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 09.02.2018, 04:26 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ Вячеслав ЛюбомудровВообще-то ты что-то недоговариваешь Ну не знаю. Все изложил как есть. В принципе вроде и не сложно воспроизвести ситуацию на любой никс машине. Вячеслав Любомудров% имеет значение только в файле crontab Собственно именно поэтому я сперва удивился Вашей наводке. ведь в самом кронтабе и в помине нет %-в Вячеслав ЛюбомудровЕсли же он находится в скрипте, который вызывается из crontab, то никакого влияния не оказывает Ну вот опыт показал что таки влияет. Почему? Да понятия не имею, но опытным путем выяснилось, что %- и мешал. Как видно из одного из примеров, что выше - убрав из селекта like условие - скрипт работал себе на ура. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 09.02.2018, 21:06 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ justITНу вот опыт показал что таки влияет.По сути, процентик переехал из одной строчки читаемого файла в другую строчку того же файла. Как он читался и передавался в пайп - так читается и передается. В этом смысле механизм влияния расположения процентика внутри файла на работоспособность системы в целом совсем не понятен.  justITПочему? Да понятия не имею,Ну, может быть, кто-то сможет объяснить... :) ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 09.02.2018, 22:15 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ vkleВ этом смысле механизм влияния расположения процентика внутри файла на работоспособность системы в целом совсем не понятен.  +500 И нечего сказать. Разве что то я сделал еще какую-то ошибку, которую по прежнему не вижу. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 10.02.2018, 10:56 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ Вячеслав ЛюбомудровЕсли же он находится в скрипте, который вызывается из crontab, то никакого влияния не оказывает +100500 justITРазве что то я сделал еще какую-то ошибку, которую по прежнему не вижу. вполне возможно. когда за раз вносишь не одно изменение а парочку сразу (прочел пару советов и оба применил) - потом сложно сказать что именно сработало :) ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 10.02.2018, 15:51 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ Q.TarantinoВячеслав ЛюбомудровЕсли же он находится в скрипте, который вызывается из crontab, то никакого влияния не оказывает +100500 Ну не знаю Итак, для чистоты эксперимента Скрипт /root/bin/m01.sh Код: powershell 1. 2. 3. 4. 5. 6. 7. SQL-скрипт Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. запускаем вручную Код: powershell 1. Содержимое /root/bin/result_mgbc.txt Код: sql 1. 2. 3. 4. Содержимое /root/bin/result_mgbc_1.txt Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. удаляем /root/bin/result_mgbc_1.txt и /root/bin/result_mgbc.txt запускаем crontab Код: powershell 1. Содержимое /root/bin/result_mgbc.txt и /root/bin/result_mgbc_1.txt то же, что и выше. то есть скрипты отработали и выдали одинаковый результат удаляем /root/bin/result_mgbc_1.txt и /root/bin/result_mgbc.txt изменяем SQL-скрипт, чтобы условие LIKE выполнялось Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. запускаем вручную Код: powershell 1. Содержимое /root/bin/result_mgbc.txt Код: sql 1. 2. 3. 4. Содержимое /root/bin/result_mgbc_1.txt Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. удаляем /root/bin/result_mgbc_1.txt и /root/bin/result_mgbc.txt запускаем crontab Код: powershell 1. Содержимое /root/bin/result_mgbc.txt Код: sql 1. 2. 3. 4. НОЛЬ Карл!!!! Содержимое /root/bin/result_mgbc_1.txt Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. удаляем /root/bin/result_mgbc_1.txt и /root/bin/result_mgbc.txt изменяем SQL-скрипт (знак процента в СКЛ выражении импользем через @percent) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Вручную и не запускаю, ибо и так понятно (?) запускаем crontab Код: powershell 1. Содержимое /root/bin/result_mgbc.txt Код: sql 1. 2. 3. 4. 15685 !!! Содержимое /root/bin/result_mgbc_1.txt Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Ну как? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 10.02.2018, 17:56 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ Пардон. Предыдущее сообжщение с ошибками. Разумеется, что при добавочном LIKE условии количество уменьшилось. Скрипт /root/bin/m01.sh Код: powershell 1. 2. 3. 4. 5. 6. 7. SQL-скрипт Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. запускаем вручную Код: powershell 1. Содержимое /root/bin/result_mgbc.txt Код: sql 1. 2. 3. 4. Содержимое /root/bin/result_mgbc_1.txt Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. удаляем /root/bin/result_mgbc_1.txt и /root/bin/result_mgbc.txt запускаем crontab Код: powershell 1. Содержимое /root/bin/result_mgbc.txt и /root/bin/result_mgbc_1.txt то же, что и выше. то есть скрипты отработали и выдали одинаковый результат удаляем /root/bin/result_mgbc_1.txt и /root/bin/result_mgbc.txt изменяем SQL-скрипт, чтобы условие LIKE выполнялось Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. запускаем вручную Код: powershell 1. Содержимое /root/bin/result_mgbc.txt Код: sql 1. 2. 3. 4. Содержимое /root/bin/result_mgbc_1.txt Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. удаляем /root/bin/result_mgbc_1.txt и /root/bin/result_mgbc.txt запускаем crontab Код: powershell 1. Содержимое /root/bin/result_mgbc.txt Код: sql 1. 2. 3. 4. НОЛЬ Карл!!!! Содержимое /root/bin/result_mgbc_1.txt Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. удаляем /root/bin/result_mgbc_1.txt и /root/bin/result_mgbc.txt изменяем SQL-скрипт (знак процента в СКЛ выражении импользем через @percent) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Вручную и не запускаю, ибо и так понятно (?) запускаем crontab Код: powershell 1. Содержимое /root/bin/result_mgbc.txt Код: sql 1. 2. 3. 4. 19 !!! Содержимое /root/bin/result_mgbc_1.txt Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Ну как?[/quot] ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 10.02.2018, 18:07 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ Шайтан, однако! Когда COUNT() возвращает ноль - значит, под условие выборки не попало ни одной записи. Потому выходит, что после конкатенации @cid2 с процентами в результате получается значение, под которое не попадает ни одна запись (может быть так же пустая строка или NULL). Притом, пропадает из конкатенации именно процентик, а не @cid2 (под условие LIKE '%%' попадают все записи, под LIKE 'admin@' может ни одной не попасть). Было б любопытно взглянуть на Код: sql 1. в проблемном варианте вызова. Или, может, проще, SELECT CONCAT ('%%'); или SELECT CONCAT ('%'); На своем компе попробовал набросать тест - увы, бага не воспроизводится. Наверняка, имеют значение версии ПО и ещё какие-то настройки. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 10.02.2018, 20:40 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ vkleШайтан, однако! Когда COUNT() возвращает ноль - значит, под условие выборки не попало ни одной записи. Потому выходит, что после конкатенации @cid2 с процентами в результате получается значение, под которое не попадает ни одна запись (может быть так же пустая строка или NULL). Притом, пропадает из конкатенации именно процентик, а не @cid2 (под условие LIKE '%%' попадают все записи, под LIKE 'admin@' может ни одной не попасть). Было б любопытно взглянуть на Код: sql 1. в проблемном варианте вызова. Или, может, проще, SELECT CONCAT ('%%'); или SELECT CONCAT ('%'); На своем компе попробовал набросать тест - увы, бага не воспроизводится. Наверняка, имеют значение версии ПО и ещё какие-то настройки. как-то так? Запуск Вручную /root/bin/m01.sh 575 "'admin@'" Результат Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Вроде отработал запрос верно, хотя я ожидал вместо %admin@% увидеть ' %admin@% ' Из крона - результат тот же. Сам СКЛ в обоих случаях Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 10.02.2018, 22:20 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ justITя ожидал  вместо %admin@% увидеть ' %admin@% ' Да это нормально, мускуль на выходе не обрамляет текст кавычками. На входе - да, требует кавычки. justITИз крона - результат тот же.Выходит, выражение для LIKE подготавливается верно, процентики не пропали. Может, collation каким-то боком, но Вы же говорите, там нет не-латиницы... Мда, последняя надежда найти заковыку рухнула... ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 11.02.2018, 12:51 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ justIT <...> Суть задачи-то в том, чтобы сделать шелл скрипт, который в кроне потом запускать несколько раз в сутки вот так: Код: powershell 1. 2. 3. 4. Я пока не смог найти иного метода, кроме как указанный выше. Буду благодарен, если натолкнете на альнернативную идею. есть такая альтернатива: Код: powershell 1. 2. 3. 4. или (если совсем не поможет) Код: powershell 1. 2. 3. 4. и правильно собственное творчество сваливать куда-то, типа /usr/local/bin ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.02.2018, 15:15 |  | ||
| 
sh script (command line vs crontab) | |||
|---|---|---|---|
| #18+ justIT, Основная причина в том, что у сессии пользователя, запущенной из крона может быть не такое окружение как в обычной консоли, проверить это можно командой env, запущенной из крона и из консоли. Тут же можно погуглить про .bashrc и bash_profile. Кроме того, в модных дистрах может быть включен selinux, который блокирует доступ приложения в непредсказуемых с непривычки местах, правда этот вариант маловероятен. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 28.02.2018, 10:24 |  | ||
|  | 

| start [/forum/topic.php?all=1&fid=25&tid=1481389]: | 0ms | 
| get settings: | 10ms | 
| get forum list: | 13ms | 
| check forum access: | 4ms | 
| check topic access: | 4ms | 
| track hit: | 39ms | 
| get topic data: | 11ms | 
| get forum data: | 3ms | 
| get page messages: | 70ms | 
| get tp. blocked users: | 1ms | 
| others: | 229ms | 
| total: | 384ms | 

| 0 / 0 | 
