The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Запуск Скрипта, !*! Buboni, 04-Сен-09, 15:01  [смотреть все]
  • Запуск Скрипта, !*! allez, 16:14 , 04-Сен-09 (1)
    • Запуск Скрипта, !*! buboni, 23:08 , 05-Сен-09 (2)
      >[оверквотинг удален]
      >>Но он то там есть)))
      >
      >Во-первых, где "там" указан именно bin/bash? Что-то я нигде такой строчки не
      >обнаружил...
      >Во-вторых, если он "там" все-таки есть, то не следовало ли указать полный
      >путь: _/bin/bash?
      >В-третьих, "^M" ненавязчиво намекает на то, что было бы неплохо файлы, отредактированные
      >
      >в Windows, привести в человеческий вид с помощью, например, dos2unix, fromdos или
      >d2u.

      bash я поменял не помагло, у меня есть только bash скрипт и мне нужно его запустить как службу) win файлов у меня нет.

      может у кого пример есть скрипта запуска службы?

      • Запуск Скрипта, !*! allez, 17:10 , 06-Сен-09 (3)
        • Запуск Скрипта, !*! buboni, 18:05 , 06-Сен-09 (4)
          >>может у кого пример есть скрипта запуска службы?
          >
          >У вас их в /etc/init.d полно.

          вот наверху пример и вроде все правильно, но не работает.

          • Запуск Скрипта, !*! allez, 18:42 , 06-Сен-09 (5)
            • Запуск Скрипта, !*! buboni, 20:19 , 06-Сен-09 (6)
              >>вот наверху пример и вроде все правильно, но не работает.
              >
              >В таком случае запустите его руками и процитируйте сообщения, которые будут выданы
              >на экран.
              >Именно процитируйте (методом "скопировать-вставить"), а не пересказывайте своими словами.  Кстати,
              >я, если честно, так толком и не понял, как называется ваша служба:
              >"restart", "restard" или "restartd". :-)
              >
              >P. S. Да, и что из себя представляет /usr/local/sbin/restart? Если обычный скрипт,
              >приведите здесь его.

              и так

              у меня есть скрипт вот он и имеет название restart

              #!/bin/bash
              prov() {  
              /bin/echoscu -aec CONQUESTSRV1 192.168.1.2 5678 -v -to 5
              label=$?
              if [ "$label" = 0 ]; then
              pin
                else
              /bin/mail -s "Centrisity_Archive" buboni2009@yandex.ru < /tex
              Fi  
              Pin
              }

              pin() {  
              ping 192.168.1.2 -c 6
              label=$?
              if [ "$label" = 0 ]; then
              proverka
              else /bin/mail -s "Centrisity_Archive" buboni2009@yandex.ru < /tex1
              fi
              proverka
              }

              proverka() {  

              /bin/echoscu -aec DCM4CHEE 127.0.0.1 11112 -v
              label=$?
              if [ "$label" = 0 ]; then
              sleep 300
              prov
              else /etc/init.d/capi restart
              fi
              sleep 120


              /bin/echoscu -aec DCM4CHEE 127.0.0.1 11112 -v
              label=$?
              if [ "$label" = 0 ]; then
              sleep 300
              prov
              else /etc/init.d/capi restart
              fi
              sleep 120

              /bin/echoscu -aec DCM4CHEE 127.0.0.1 11112 -v
              label=$?
              if [ "$label" = 0 ]; then
              sleep 300
              prov
              else /etc/init.d/capi restart
              fi
              sleep 120

              /bin/echoscu -aec DCM4CHEE 127.0.0.1 11112 -v
              label=$?
              if [ "$label" = 0 ]; then
              sleep 300
              prov
              else  shutdown -r now
              fi
              }
              Prov


              пусть этот скрипт имеет название restart
              Теперь мне нужно этот скрипт запускать как службу

              вот те сообщения которые появляются если использовать исполняемый скрипт с названием restard  (на верху)

              он мне выдает состояние в списках служб
              env: /etc/init.d/restartd: No such file directory

              где restartd имеет название исполнительный скрипт службы
              а restart мой скрипт
              restard!!!! ))))   Опечатка  возможно в этом моя ошибка ))))))  

              если запустить в терминале
              bash: /etc/rc.d/init.d/restard: bin/bash^M: плохой итерпретатор: Нет такого файла или каталога

              заранее спасибо

              • Запуск Скрипта, !*! allez, 20:33 , 06-Сен-09 (7)
                • Запуск Скрипта, !*! buboni, 21:49 , 06-Сен-09 (8)
                  >[оверквотинг удален]
                  >> if [ "$label" = 0 ]; then
                  >>pin
                  >>  else
                  >>/bin/mail -s "Centrisity_Archive" buboni2009@yandex.ru < /tex
                  >>Fi
                  >
                  >Для начала: у вас в скрипте написано именно так - "Fi"? Если
                  >да, то исправьте на "fi".
                  >Это, конечно, вряд ли устранит вашу основную проблему, но ситуацию точно не
                  >ухудшит. :-)

                  ХОРОШО ИСПРАВЛЯЮ)))


              • Запуск Скрипта, !*! elvenic, 18:56 , 07-Сен-09 (15)
                • Запуск Скрипта, !*! buboni, 19:16 , 07-Сен-09 (17)
                  >И не только Fi/fi. Если у вас функции называются "prov" и "pin",
                  >то и их вызовы должны быть "prov" и "pin", а не
                  >"Prov" и "Pin". bash это не Basic или Pascal, тут имеет
                  >значение буковки большие или маленькие.

                  Да я уже переделываю весь скрипт так использовать функции в моей задаче нереально (( (а сними проще, они похожи на команду go to)))  )
                  половину исправил вот голову ломаю как сделать условие трех раз.
                  если есть пример покажите плиз.


  • Запуск Скрипта, !*! Arpo, 09:02 , 07-Сен-09 (9)
  • Запуск Скрипта, !*! pavel_simple, 10:07 , 07-Сен-09 (10)
    • Запуск Скрипта, !*! buboni, 16:08 , 07-Сен-09 (11)
      >le directory
      >>
      >>если запустить в терминале
      >>
      >>bash: /etc/rc.d/init.d/restard: bin/bash^M: плохой итерпретатор: Нет такого файла или каталога
      >
      >если вы сочиняете ваши скрипты в любимом редакторе в винде - помните
      >нужно делать конвертацию с win2unix - просто потому что есть различая
      >в обозначении перенос на следующую строку.

      нет я делаю в centos

      • Запуск Скрипта, !*! buboni, 16:14 , 07-Сен-09 (12)
        Народ у меня теперь повис ещё один вопросик  при вызове функций prov и proverka из следующей через какое-то время стек будет переполнен, и скрипт подвесит свой экземпляр bash точно, а может, и всю систему )))  можно ли как нибудь еще организовать переходы не используя функции?
        • Запуск Скрипта, !*! elvenic, 17:26 , 07-Сен-09 (14)
          • Запуск Скрипта, !*! buboni, 19:03 , 07-Сен-09 (16)
            >[оверквотинг удален]
            >
            >К сожалению, интерпретатор bash не реализует "оптимизацию хвостовой рекурсии" (tail recursion optimization).
            >
            >
            >В этих условиях вам, пожалуй, прийдется спуститься с вершин функционального стиля и
            >снизойти до использования простых циклов:
            >
            >   while [ condition ] ; do
            >       command
            >   done

            )))))я уже понял и переписываю скрипт.
            вот только застрял на вопросе как реализавать условие:
            если после 3 раз не получается, выполнить то то

            если сможешь намекни)) заранее спасибо

            • Запуск Скрипта, !*! elvenic, 19:29 , 07-Сен-09 (18)
              • Запуск Скрипта, !*! buboni, 21:13 , 07-Сен-09 (19)
                >[оверквотинг удален]
                >            
                >SUCCESS="true"
                >        fi
                >    fi
                >    let COUNTER=COUNTER+1
                >done
                >
                >Подробнисти смотри здесь: http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html
                >
                >а также 'man test'

                блин постояно крутит цикл даже если условие выхода верно
                мррр а есть какие нибудь еще примеры

                • Запуск Скрипта, !*! elvenic, 22:12 , 07-Сен-09 (20)
                  • Запуск Скрипта, !*! buboni, 09:08 , 08-Сен-09 (21)
                    >[оверквотинг удален]
                    >   let the programmer do something useful
                    >   calculate success condition
                    >   if [ success condition ]; then
                    >       break
                    >   fi
                    >   let COUNTER=COUNTER+1
                    >done
                    >if [ $COUNTER -eq 3 ]; then
                    >    kill the programmer
                    >fi

                    Ой сори я разобрался )))  огромное спасибо тебе друг

                    Ну вот беда откуда не ждал
                    допустим я хочу организовать 2 цикла (цикл в цикле)
                    1.цикд
                    while [условие]; do
                    команды

                    2.цикл
                    until [условие]; do
                    команды
                    done
                    done

                    И вот как только он выходит из второго  перед ним done от первого, а он зараза думает что от второго и второй цикл начинается заново а мне нужно чтоб начинался с первого (((
                    как тут быть?


      • Запуск Скрипта, !*! elvenic, 17:10 , 07-Сен-09 (13)



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

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