Автор Тема: Помощь в выполнении скрипта!  (Прочитано 2350 раз)

Оффлайн iplir

  • Участник
  • *
  • Сообщений: 97

Есть домен и простенький сайт. Так же на сервере настроен *.sh который стартует скрипт(он не всегда срабатывает под cron.d) хочется зайти на сайт и стартовать скрипт руками (нажатием на кнопку)с сайта если не стартовал cron.d

Подскажите как можно это организовать !

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 371
Re: Помощь в выполнении скрипта!
« Ответ #1 : 26.09.2011 10:38:25 »
Так же на сервере настроен *.sh который стартует скрипт(он не всегда срабатывает под cron.d)
Что значит "настроен *.sh" ? И что значит "не всегда срабатывает под cron.d" ?
Под каким пользователем должен работать скрипт ? Если под root, я бы кнопочек делать не стал.

Оффлайн iplir

  • Участник
  • *
  • Сообщений: 97
Re: Помощь в выполнении скрипта!
« Ответ #2 : 26.09.2011 10:43:17 »
Суть в том, что есть файл который находится на сервере,я не хочу давать доступ пользователю из за одного файла. Пользователем является человек который с компьютерами на Вы. Организовать через сайт старт одного скрипта решение, но как организовать не знаю

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 371
Re: Помощь в выполнении скрипта!
« Ответ #3 : 26.09.2011 10:47:32 »
Суть в том, что есть файл который находится на сервере,я не хочу давать доступ пользователю из за одного файла. Пользователем является человек который с компьютерами на Вы. Организовать через сайт старт одного скрипта решение, но как организовать не знаю
Что файл делать-то должен ? И что в кроне написано ? И что, кстати, за cron ?
А то https://bugzilla.altlinux.org/26285

Оффлайн iplir

  • Участник
  • *
  • Сообщений: 97
Re: Помощь в выполнении скрипта!
« Ответ #4 : 26.09.2011 11:59:39 »
Суть скрипта забирать с расшаренного( локального) ресурса документы и выкидывает на ФТП. Все выполняется через 15 мин и прописано в папке cron.d  -->share -->текст: */15 * * * *    testing    /var/tmp/share.sh. Замечу, что, он работает, а как только происходит скачек напряжения , то cron.d не срабатывает, заходишь на сервер и руками стартуешь share.sh, все продолжает работать до следующего скачка  напряжения.

Чтобы пользователю не объяснять что где почем, хочется сделать через html кнопку, где у него будет возможность стартовать скрипт.


Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 371
Re: Помощь в выполнении скрипта!
« Ответ #5 : 26.09.2011 13:13:40 »
выполняется через 15 мин и прописано в папке cron.d  -->share -->текст: */15 * * * *    testing    /var/tmp/share.sh. Замечу, что, он работает, а как только происходит скачек напряжения , то cron.d не срабатывает, заходишь на сервер и руками стартуешь share.sh, все продолжает работать до следующего скачка  напряжения.
Это какая-то ерунда. Скачок - перезагрузка, в смысле ? crhbgn /var/tmp/share.sh меняется до запуска cron ? Что по поводу версии ? Я ссылку на баг постил. Версия более ранняя ? Если да, то на сколько более ранняя ?

Оффлайн iplir

  • Участник
  • *
  • Сообщений: 97
Re: Помощь в выполнении скрипта!
« Ответ #6 : 26.09.2011 13:38:43 »
Все понятно и расписано подробно, я так считаю! все что происходит по пунктам расписано. что значит "меняется до запуска cron ?"  это файл "share.sh" не меняется, а выполняется каждые 15 мин, "Что по поводу версии ?" версии чего ? " Если про cron.d, то все работает до скачка напряжения. Просто прошу помочь в написании скрипта или другой идеи чтобы не объясняя  пользователю где лежит файл для старта, можно было одним файлом запустить скрипт на сервере.

Оффлайн Карлсон

  • Участник
  • *
  • Сообщений: 1 699
Re: Помощь в выполнении скрипта!
« Ответ #7 : 26.09.2011 13:54:50 »
Просто прошу помочь в написании скрипта или другой идеи

Идея тут может быть только одна: разобраться, почему не работает крон.

Во-первых, ни один скачок напряжения, который не перезагружает комп или не подвешивает его, не может мешать крону. Никак не может. Так что расскажите подробнее, что значит "скачок" в вашем случае, что в логах крона и т.п.

Во-вторых, в определенных версиях крона есть ошибки, в других версиях их нет. Поэтому вам прислали ссылку на багзиллу, где указаны версия с ошибкой. И переспросили, какая версия у вас.


Кроме того, может быть вам нежун не крон, а что-то на основе inotify? Т.е. чтоб файлы копировались не раз в 15 минут, а по факту их создания?

Оффлайн iplir

  • Участник
  • *
  • Сообщений: 97
Re: Помощь в выполнении скрипта!
« Ответ #8 : 26.09.2011 14:18:14 »
Просто прошу помочь в написании скрипта или другой идеи

Идея тут может быть только одна: разобраться, почему не работает крон.

Во-первых, ни один скачок напряжения, который не перезагружает комп или не подвешивает его, не может мешать крону. Никак не может. Так что расскажите подробнее, что значит "скачок" в вашем случае, что в логах крона и т.п.

Во-вторых, в определенных версиях крона есть ошибки, в других версиях их нет. Поэтому вам прислали ссылку на багзиллу, где указаны версия с ошибкой. И переспросили, какая версия у вас.


Кроме того, может быть вам нежун не крон, а что-то на основе inotify? Т.е. чтоб файлы копировались не раз в 15 минут, а по факту их создания?

E меня 2 сервера под altlinux co, у них запущен cron, но вернее всего проблемы с switch (их меня- непомогает), после скачка они тупят, потому что  log  показывает выполнение( запуска) файла по расписанию, а на самом деле файлы не выполнены. Заходишь- руками стартуешь после чего все остальное снова отрабатывается.
Версию cron  посмотреть нет пока возможности, но стоит ALTlinux_kentavr_6.0

Оффлайн Карлсон

  • Участник
  • *
  • Сообщений: 1 699
Re: Помощь в выполнении скрипта!
« Ответ #9 : 26.09.2011 14:25:29 »
но вернее всего проблемы с switch

Ну вот! Проблема, оказывается, совсем в другом месте. Если у вас тормозит сеть, то почему вы думаете, что пользователь нажмет эту вашу "кнопку", и получит результат? Сеть-то не поднялась!

Следующий крон через следующие 15 минут отрабатывает? Впишите в свой скрипт выдачу отладочной информации, перенаправьте выводы выполняющихся команд в лог-файл. Ищите и устраняйте проблему, а не создавайте себе новых.

Оффлайн iplir

  • Участник
  • *
  • Сообщений: 97
Re: Помощь в выполнении скрипта!
« Ответ #10 : 26.09.2011 14:33:00 »
но вернее всего проблемы с switch

Ну вот! Проблема, оказывается, совсем в другом месте. Если у вас тормозит сеть, то почему вы думаете, что пользователь нажмет эту вашу "кнопку", и получит результат? Сеть-то не поднялась!

Следующий крон через следующие 15 минут отрабатывает? Впишите в свой скрипт выдачу отладочной информации, перенаправьте выводы выполняющихся команд в лог-файл. Ищите и устраняйте проблему, а не создавайте себе новых.

В этом и прикол, что сеть работает, я же захожу через putty и стартую файл. Все начинает работать. Логи ничего не показывают кроме старта (время) и выполнения скрипт (название файла)

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 371
Re: Помощь в выполнении скрипта!
« Ответ #11 : 26.09.2011 14:34:44 »
Все понятно и расписано подробно, я так считаю!
Нет.
все что происходит по пунктам расписано. что значит "меняется до запуска cron ?"  это файл "share.sh" не меняется, а выполняется каждые 15 мин, "Что по поводу версии ?" версии чего ? " Если про cron.d, то все работает до скачка напряжения.
У cron.d нет версии. Версия есть у пакета vixie-cron.
Просто прошу помочь в написании скрипта или другой идеи чтобы не объясняя  пользователю где лежит файл для старта, можно было одним файлом запустить скрипт на сервере.
Ещё раз. Надо понять, что с cron. Это не тот сервис, который должен себя вот так вести. И он так себя не ведёт в большинстве случаев. А когда ведёт, то где-то баг и это неправильно.

Оффлайн Карлсон

  • Участник
  • *
  • Сообщений: 1 699
Re: Помощь в выполнении скрипта!
« Ответ #12 : 26.09.2011 14:39:39 »
Логи ничего не показывают кроме старта (время) и выполнения скрипт (название файла)

Крон запускает скрипт. Это не может не работать, и никак не связано с сетью. В скрипте есть команды. Что за команды? Их выхлоп можно перенаправить в лог-файл. Например, добавьте в лог что-то вроде:
TMPFILE=/tmp/scriptlog.txt
echo "==================" >> $TMPFILE
date >> $TMPFILE
cp /bla/bla /blabla/bla >> $TMPFILE 2>&1
и потом читайте, что получилось и почему не работает.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 371
Re: Помощь в выполнении скрипта!
« Ответ #13 : 26.09.2011 14:40:05 »
В этом и прикол, что сеть работает, я же захожу через putty и стартую файл. Все начинает работать. Логи ничего не показывают кроме старта (время) и выполнения скрипт (название файла)
Очевидно, крон работает. Разбирайтесь, что не так в скрипте и где разница. А разница, я так думаю, в окружении, точнее, значении переменной PATH при запуске из cron и запуске при заходе по ssh: там какие-то утилиты используются без указания полного пути ?
Или, действительно, оно сработает при следующем запуске.

А версию cron проверить стоит всё равно. В бетах, как раз, может крон с багой оказаться: ошибка недавно исправлена. Хотя и не в этом дело сейчас.

Оффлайн iplir

  • Участник
  • *
  • Сообщений: 97
Re: Помощь в выполнении скрипта!
« Ответ #14 : 26.09.2011 14:43:28 »
Спасибо, попробую выяснить в чем проблема. Но думаю дело не в скрипте так как скрипт отрабатывает после перезагрузки сервера, в любых случаях кроме этого скачка напряжения.