The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
непонятки с выполнение команды из crone, !*! Doc, 17-Апр-20, 20:17  [смотреть все]
необходимо периодически кидать в таблицу данные из файла
команда из консоли отрабатывает как надо
mysql -usapsd -psapsd zakdev < /home/sap/sql/pord_*.sql
а вот когда вставляю ее в crone получаю
/bin/sh: /home/sap/sql/pord_*.sql: No such file or directory

  • непонятки с выполнение команды из crone, !*! ACCA, 23:31 , 17-Апр-20 (1)
    > а вот когда вставляю ее в crone получаю
    > /bin/sh: /home/sap/sql/pord_*.sql: No such file or directory

    Похоже на косяк в синтаксисе строки для crontab - типа "минуты" = mysql, "часы" = -usapsd и т.д. до "команда" = /home/sap/sql/prod_*.sql.

    Покажи строку полностью.

    • непонятки с выполнение команды из crone, !*! Doc, 10:46 , 18-Апр-20 (4)
      >> а вот когда вставляю ее в crone получаю
      >> /bin/sh: /home/sap/sql/pord_*.sql: No such file or directory
      > Похоже на косяк в синтаксисе строки для crontab - типа "минуты" =
      > mysql, "часы" = -usapsd и т.д. до "команда" = /home/sap/sql/prod_*.sql.
      > Покажи строку полностью.

      0,5,10,15,20,25,30,35,40,45,50,55 * * * * mysql -usapsd -psapsd zakdev < /home/sap/sql/pord_*.sql


      • непонятки с выполнение команды из crone, !*! MoHaX, 08:16 , 22-Апр-20 (8)
        >>> а вот когда вставляю ее в crone получаю
        >>> /bin/sh: /home/sap/sql/pord_*.sql: No such file or directory
        >> Похоже на косяк в синтаксисе строки для crontab - типа "минуты" =
        >> mysql, "часы" = -usapsd и т.д. до "команда" = /home/sap/sql/prod_*.sql.
        >> Покажи строку полностью.
        > 0,5,10,15,20,25,30,35,40,45,50,55 * * * *

        Вот это можно заменить на:

        */5 * * * *

  • непонятки с выполнение команды из crone, !*! Licha Morada, 00:25 , 18-Апр-20 (2) +1
    > необходимо периодически кидать в таблицу данные из файла
    > команда из консоли отрабатывает как надо
    > mysql -usapsd -psapsd zakdev < /home/sap/sql/pord_*.sql
    > а вот когда вставляю ее в crone получаю
    > /bin/sh: /home/sap/sql/pord_*.sql: No such file or directory

    Рекомендую завернуть команду mysql в скрипт.
    Собственно скрипт уже тестировать, траблшутить, допиливать, назначать нужные переменные окружения, писать ошибки в лог, и т.д.

    Рекомендую прописать юзера и пароль для MySQL в ~/.my.cnf хозяина скрипта.

    Что касается конкретно той команды которую вы пытаетесь выполнить, имейте в виду что в командах в crontab знаки подстановки просто так не обрабатываются. По крайней мере * и ? воспринимаются букально. Вот если бы ваш файл так и назывался "/home/sap/sql/pord_*.sql", оно бы сработало. Почему так, навскидку не скажу, подозреваю что это сязанно с тем что * интерпретирует сам парсер crontab-а. Указывайте все имена прямо, или заворачивайте свою команду в скрипт.

    • непонятки с выполнение команды из crone, !*! Doc, 10:48 , 18-Апр-20 (5)
      >[оверквотинг удален]
      > Собственно скрипт уже тестировать, траблшутить, допиливать, назначать нужные переменные
      > окружения, писать ошибки в лог, и т.д.
      > Рекомендую прописать юзера и пароль для MySQL в ~/.my.cnf хозяина скрипта.
      > Что касается конкретно той команды которую вы пытаетесь выполнить, имейте в виду
      > что в командах в crontab знаки подстановки просто так не обрабатываются.
      > По крайней мере * и ? воспринимаются букально. Вот если бы
      > ваш файл так и назывался "/home/sap/sql/pord_*.sql", оно бы сработало. Почему так,
      > навскидку не скажу, подозреваю что это сязанно с тем что *
      > интерпретирует сам парсер crontab-а. Указывайте все имена прямо, или заворачивайте свою
      > команду в скрипт.

      с отдельного скрипта и начал, но результат был тот же, просто решил упростить для понятия ошибки

      cd /home/sap/sql/
      mysql -usapsd -psapsd zakdev < ./pord_*.sql >> /var/log/import_prog.log
      mv pord_*.sql ../old/

      причем перенос файла отрабатывает корректно
      но действительно он как-то не корректно воспринимает * в пути mysql
      потому как ели указать конкретный файл pord_2000000505.sql то отрабатывает

      пароль "спрячу" в my.cnf когда все работать начнет :)

  • непонятки с выполнение команды из crone, !*! romanegunkov, 10:07 , 18-Апр-20 (3) +1
    Да, pattern matching не работатет тут, либо, как рекомендовали, оберните в отдельный скрипт, либо используйте результат подстановки, например:

    mysql -usapsd -psapsd zakdev < $(realpath -ze /home/sap/sql/pord_*.sql /dev/null | cut -d '' -f 1)

    • непонятки с выполнение команды из crone, !*! Doc, 11:34 , 18-Апр-20 (6) +1
      > Да, pattern matching не работатет тут, либо, как рекомендовали, оберните в отдельный
      > скрипт, либо используйте результат подстановки, например:
      > mysql -usapsd -psapsd zakdev < $(realpath -ze /home/sap/sql/pord_*.sql /dev/null |
      > cut -d '' -f 1)

      спасибо с результатом подстановки сработало в кроне




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру