Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Доработка скрипта на Bash 
:(
    Опции темы
ka4a
Дата 11.7.2015, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 11.7.2015

Репутация: нет
Всего: нет



Добрый день. Нужна помощь в доработке скрипта. Нужно чтобы при запуске ./script servername filename

Происходило копирование файла и его извлечение на сервере. Привожу код скрипта

Код

#!/bin/bash

dev="[email protected]"
test="[email protected]"

way="/var/www/builds/"
front="/var/www/html/test1/"
file="$way/front_build_$1.tar.gz"
key="/var/www/conf/id_rsa"

scp -i $key $file $test:/var/www/html/test/
ssh -i $key $test "tar xvf /var/www/html/test/front_build_$1.tar.gz --overwrite-      dir --exclude='./cache' --exclude='./logs' -C $front"


Сейчас копирование и извлечение происходит только на сервер test. А мне нужно, чтобы он при запуске понимал сервера, которые в нем описаны. К примеру.

./script dev 10
и, соответсвтенно

./script test 10
Нужна ваша помощь.

Это сообщение отредактировал(а) ka4a - 11.7.2015, 12:55
PM MAIL   Вверх
Сумасшедший
Дата 12.7.2015, 07:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чилавек-Каропка
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 15.8.2004
Где: Москва

Репутация: 4
Всего: 107



Код

echo $1 

или
Код

ARGS=("$@")
echo ${ARGS[0]}



--------------------
Однажды ты спросишь, а я отвечу: "Время ожидания специалиста - 10 минут". Ты бросишь трубку, так и не узнав, что Ваш звонок очень важен для нас!
PM MAIL WWW Jabber   Вверх
tzirechnoy
Дата 12.7.2015, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: нет
Всего: 16



Код
#!/bin/bash
 dev="[email protected]"
 test="[email protected]"
 way="/var/www/builds/"
 front="/var/www/html/test1/"
 file="$way/front_build_$1.tar.gz"
 key="/var/www/conf/id_rsa"
 if [ "$#" -ne 2 ]; then
   echo "Usage: $0 servername buildno" 1>&2
   exit 1
 fi
 case "$1" in
    dev)  
        server="$dev" 
    ;;
    test)
        server="$test" 
    ;;
    *)
      echo "Error: servername should be 'dev' or 'test'" 1>&2
      exit 1 
    ;;
 esac
 scp -i "$key" "$file" "$server:/var/www/html/test/"
 ssh -i "$key" "$server" "tar xvf '/var/www/html/test/front_build_$2.tar.gz' --overwrite-dir --exclude='./cache' --exclude='./logs' -C '$front'"


Ну, примерно так, не тэстировал на самом деле.

И да, с variable quoting в ssh всё довольно плохо, на самом деле. Но, по факту, сейчас только одинарные кавычки запрещены в $2 и $front.
PM MAIL   Вверх
_zorn_
Дата 14.7.2015, 07:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 21.8.2007

Репутация: нет
Всего: 12



Код
#!/bin/bash

dev="[email protected]"
test="[email protected]"

echo ${!1}

Цитата
./script dev
[email protected]
-----
./script test
[email protected]


Ну тут еще наверное надо вставить проверку типа
Код

[ -z "${!1}" ] && echo "Server with name '$1' not found" && exit


Это сообщение отредактировал(а) _zorn_ - 14.7.2015, 07:19
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Администрирование"
ZeeLax
Imple
nerezus
Этот форум предназначен для решения вопросов по администрации *n?x-систем, в частности по настройке сложных сетей и обслуживанию серверного оборудования.

  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Администрирование *NIX систем | Следующая тема »


 




[ Время генерации скрипта: 0.1200 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.