Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 15.11.2013
Сообщений: 7

Скрипт не отрабатывает

27.01.2015, 08:25. Показов 1566. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе время суток. Решил написать скрипт в баше с меню и переменными для ремонта, архивирования и кучей всего в будущем для баз данных.
Получилось как то так.
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#!/bin/bash
 
i=`date +%Y%m%d`
PATH=/home/fssp/db
NAME=ncore-fssp
ARCH=0
 
MENUMSG="Выберите нужный пункт"
OPTIONS=("Версия базы (УКАЗЫВАТЬ ОБЯЗАТЕЛЬНО!)" "Путь до базы, если он отличен от /home/fssp/db" "Указать, если нужная база РБД" "Имя бд отличается от стандартного" "Заархивировать после бэкап-рестора" "Выполнить" "Выйти")
select answer in "${OPTIONS[@]}" ; do
    case $answer in 
        "Версия базы (УКАЗЫВАТЬ ОБЯЗАТЕЛЬНО!)" )
            echo "Введите версию базы, например 1.20.217.172.7"
            read VALUE
            VER=$VALUE
            echo "Версия базы $VER"
            ;;
        "Путь до базы, если он отличен от /home/fssp/db" )
            echo "Введите путь до базы. Например /home/fssp/db (Последнее место не закрывается /!)"
                        read VALUE
            PATH=$VALUE
            echo "База расположена по адресу $PATH"          
            ;;
        "Указать, если нужная база РБД" )
            echo "РБД выбрана"
                        NAME=ncore-fssp-rbd     
            ;;
        "Имя бд отличается от стандартного" )
            read VALUE
            NAME=$VALUE
            echo "Имя базы $NAME"
            ;;
        "Заархивировать после бэкап-рестора" )
            echo "Архивирование будет произведено по пути $PATH. Архиву будет присвоено имя $HOSTNAME-$NAME-$VER-$i.tar.gz"
            ARCH=1          
            ;;
        "Выполнить" )
            if [[ $VER == "" ]] ; then
                echo "Не указана версия сборки!"
            else
                read -p "При выполнении будут использованы следующие параметры: Имя базы = $NAME-$VER, путь к базе=$PATH, Все указано верно?(y/n)" choice 
                case "$choice" in 
                    y|Y ) 
                        echo "Начинается установка!"
                        FLAG="true"
                        ;;
                    n|N )
                        echo "Укажите верные параметры!"
                        FLAG="false"
                        ;;
                    * )
                        echo "Для ответа используйте \"y\" или \"n\". "
                        FLAG="false"
                        ;;
                esac        
                
                if [[ $FLAG == "true" ]] ; then
                    break;
                fi
            fi
        ;;
        "Выйти" )
            exit
            ;;
        * )
            echo "Укажите значение от 1 до 7."
            ;;
    esac        
done
 
# остановка служб
 
service smb stop
service fssp stop
service xinetd stop
 
# отключение пользователей 
 
killall -9 rdb_inet_server
 
# переход в бин
 
cd /opt/RedDatabase/bin
 
# обнаружение ошибок
 
./gfix -v -full $PATH/$NAME-$VER.fdb
./gfix -mend $PATH/$NAME-$VER.fdb
 
#удаление предыдущего бэкапа в db и backup, а так же предыдущих логов
 
rm -f $PATH/$NAME.fbk
rm -f /home/fssp/backup/$NAME.fbk
rm -f $PATH/backup.log
rm -f $PATH/restor.log
 
# резервирование базы
 
./gbak -b -v -g -user ****** -password ****** $PATH/$NAME-$VER.fdb $PATH/$NAME.fbk -y $PATH/backup.log 
 
#перенос BD
 
mv $PATH/$NAME-$VER.fdb /home/fssp/backup/$NAME-$VER.fdb
 
# восстановление базы
 
cd /opt/RedDatabase/bin
./gbak -c -v -user ****** -password ****** $PATH/$NAME.fbk $PATH/$NAME-$VER.fdb -y $PATH/restor.log
 
# права и доступ
 
chown -R firebird:firebird /home/fssp/
chmod -R 777 /home/fssp/
 
# запуск служб
 
service smb start
service xinetd start
service fssp start
 
echo "Завершено"
При запуске выбегают сообщения вида ./remont_bd.sh: line 74: service: команда не найдена и так далее. При просто выполнении всех команд без шапки меню всё отрабатывается. Помогите кто чем может.
З.ы. права на выполнение есть.

Добавлено через 2 часа 29 минут
З.з.ы. при запуске через цифру 6 начинают сыпаться ошибки
Кликните здесь для просмотра всего текста

./remont_menu.sh: line 73: service: команда не найдена
./remont_menu.sh: line 74: service: команда не найдена
./remont_menu.sh: line 75: service: команда не найдена
./remont_menu.sh: line 79: killall: команда не найдена
./remont_menu.sh: line 83: cd: /opt/RedDatabase/bin: Нет такого файла или каталога
./remont_menu.sh: line 87: ./gfix: Нет такого файла или каталога
./remont_menu.sh: line 88: ./gfix: Нет такого файла или каталога
./remont_menu.sh: line 92: rm: команда не найдена
./remont_menu.sh: line 93: rm: команда не найдена
./remont_menu.sh: line 94: rm: команда не найдена
./remont_menu.sh: line 95: rm: команда не найдена
./remont_menu.sh: line 99: ./gbak: Нет такого файла или каталога
./remont_menu.sh: line 103: mv: команда не найдена
./remont_menu.sh: line 107: cd: /opt/RedDatabase/bin: Нет такого файла или каталога
./remont_menu.sh: line 108: ./gbak: Нет такого файла или каталога
./remont_menu.sh: line 112: chown: команда не найдена
./remont_menu.sh: line 113: chmod: команда не найдена
./remont_menu.sh: line 117: service: команда не найдена
./remont_menu.sh: line 118: service: команда не найдена
./remont_menu.sh: line 119: service: команда не найдена

Само меню работает, вроде бы даже без ошибок.

Добавлено через 1 час 50 минут
Всё, заработало. Чё то было не то с именами переменных. Поменял на другие - заработало! Всем спасибо)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.01.2015, 08:25
Ответы с готовыми решениями:

Скрипт не отрабатывает при запуске из rc.local
Кратко: При ручном запуске скрипта, все отрабатывает на ура, но при автозапуске из rc.local в syslog валится это: На 1ый вариант...

Не правильно отрабатывает скрипт
Уважаемые форумчане, подскажите пожалуйста почему не правильно работает скрипт, сам я что-то не пойму. Расскажу, что он должен делать: ...

Скрипт не отрабатывает корректно
Всем привет! Я сделал тестовый сайт - 4.fishouk.z8.ru Внизу сайта есть блок из кнопки и фона большой картинки. Что бы картинка...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.01.2015, 08:25
Помогаю со студенческими работами здесь

Не отрабатывает скрипт в SFX-архиве
Всем привет, в чем может быть причина, написал мини js скрипт, который устанавливает reg файл в тихом режиме, нажимаю на него значение...

Скрипт не отрабатывает и не выдает ошибок
Здравствуйте. Переехали на новый сервер и обнаружились проблемы. 1. Не удаляются товары из магазина. После отправки формы обновляется...

Почему скрипт не отрабатывает до конца?
Доброго времени суток. Есть такая форма в CRUD <div class="addItemMenu form-group" id="addItem"> <label...

Скрипт отрабатывает только в FireFox
Здравствуйте. В Web я новичок и ламер и никогда особо этим не занимался (писал простенькие HTML странички), а тут захотелось правильности....

Скрипт отрабатывает в терминале, но не хочет из шедулера
Учусь скриптописанию. Создал скрипт проверки нагрузки процессора с оповещением на почту, но столкнулся с рядом проблем: скрипт работает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru