LINUX.ORG.RU
ФорумAdmin

автоматизация консоли


0

1

Что вы используете для автоматизации задачь в консоле? Например когда нужно подключиться по ssh с вводом пароля и выполнить какую нибудь команду на сервере, или что нибудь сделать по телнету... То есть простые действия которые в общем то несложные но их нужно повтарять много раз и на 3-5 раз вводить пароль/команды задалбывает. Понятно, что речь о скриптовых ЯП, интересует конкретика, яп + модули с помошью которых можно быстро решать подобные задачи.

★★★★★
Ответ на: комментарий от PolarFox

А для ssh можно ключи использовать.

речь о задачах для которых нужно быстро накостылять что нибудь удобное а через пару часов это уже будет не актуально. К тому же нужно универсальное средство без привязки к возможностям ssh клиента и подобного.

TDrive ★★★★★
() автор топика
Ответ на: комментарий от PolarFox

Вроде в таких случаях всегда используют expect.

Похоже что то подобное и ищу, ущел читать.

TDrive ★★★★★
() автор топика
Ответ на: комментарий от reprimand

Ну и чем тебе bash для этих целей не походит?

Ну и как на баше будет авторизация по ssh и запуск команды на удаленном сервере?

TDrive ★★★★★
() автор топика
Ответ на: комментарий от TDrive

у тебя есть задача, но напрочь отсутствует желание её решить.

Твоя задача делится на 2 части:

1) как автоматизироваться без ручного ввода пароля
2) как запустить программу без ввода её имени и нажатия кнопки enter

обе части - легко гуглятся, и могут решиться разными способами. Вторая часть - вообще детский лепет, а решение первой мне понравилось через программу expect:

#!/usr/bin/expect -f
spawn ssh username@192.168.1.2 date
expect "assword:"
send "mypassword\r"
interact

с тебя стоимость бутылки пива за лентяйство :)

reprimand ★★★★★
()

Что вы используете для автоматизации задачь в консоле?

bash

3-5 раз вводить пароль

локально настрой sudo, удалённо юзай ssh.

emulek
()
Ответ на: комментарий от ubuntuawp

я написал одно из возможных решений. И если ты не понимаешь что есть баш - у меня для тебя плохие новости.

reprimand ★★★★★
()
Ответ на: комментарий от ubuntuawp

он про пароль к SSH

НЕ НУЖНО!

читать что-ли не умеем? Умеем? Тогда открываем man 5 ssh_config и читаем.

emulek
()

да, если тебя так смущает expect (хоть бы спасибо сказал, за что ты вообще 2 звезды получил?), можешь использовать sshpass

reprimand ★★★★★
()
Ответ на: комментарий от reprimand

я написал одно из возможных решений. И если ты не понимаешь что есть баш - у меня для тебя плохие новости.

Ты сказал что это решается башем и привел в пример решение с помошью expect. Все нормально?

TDrive ★★★★★
() автор топика
Ответ на: комментарий от reprimand

да, если тебя так смущает expect (хоть бы спасибо сказал, за что ты вообще 2 звезды получил?)

Спасибо капитан, про expect во втором посте уже до тебя сказали.

TDrive ★★★★★
() автор топика
Ответ на: комментарий от TDrive

Н тебя всё хорошо с головой? Читать умеешь? А осознавать то, что прочитал?
Советую начать с букваря и литературы для детей дошкольного возраста, говорят, помогает развитию

reprimand ★★★★★
()
Ответ на: комментарий от emulek

ох... Ну откуда вы такие берётесь?

Это откуда ты такой взялся? Прочитай какая стоит задача в первом посте.

TDrive ★★★★★
() автор топика
Ответ на: комментарий от TDrive

не, по ссх авторизируешся, удаленно меняем пароль, выходим. А если вот прям чтоб с консоли то только expect

CHIPOK ★★★
()
Ответ на: комментарий от reprimand

тебе тут рабочее решение подали, а ты слюней брызгаешь. Не красиво, знаешь ли.

Я не брызгаю слюной. Просто меня удивляет отсутствие логики в твоих постах. Рабочее решение... так его еще до тебя дали...

TDrive ★★★★★
() автор топика
Ответ на: комментарий от TDrive

Это откуда ты такой взялся? Прочитай какая стоит задача в первом посте.

там не написано, что твоя религия запрещает авторизацию по ключу. Извини, буду знать.

emulek
()
Ответ на: комментарий от emulek

ты идиот? тебе же написали: «авторизация по ключу».

Для телнета тоже по ключу? Прочитай уже первый пост темы.

TDrive ★★★★★
() автор топика
Ответ на: комментарий от TDrive

логика не отсутствует. Перечитай посты от начала до конца.

reprimand ★★★★★
()
Ответ на: комментарий от TDrive

Для телнета

на кой тебе телнет, да ещё и в скрипте?

Прочитай уже первый пост темы.

я прочитал, но подумал, что ты так просто спросил, на будущее, сдуру.

emulek
()
Ответ на: комментарий от emulek

на кой тебе телнет, да ещё и в скрипте?

Например тестить ноды мунина или заходить на сетевое оборудование и что то там делать. Применений дохрена и больше.

TDrive ★★★★★
() автор топика
Ответ на: комментарий от emulek

Например тестить ноды мунина или заходить на сетевое оборудование и что то там делать.

ну вот как будет конкретика, так и спросишь.

...

TDrive ★★★★★
() автор топика
Ответ на: комментарий от TDrive

ssh -i /path/to/private.key root@srv1.company.ru «echo rm -rf /*»
Для простых случаев достаточно.

MrClon ★★★★★
()

3-5 раз вводить пароль

ssh keys
небезопасное, но если нет другой возможности - sshpass

3-5 раз вводить команды

for i in srv1 srv2 srv3; do cat << EOF | ssh root@$i
command1
command2
EOF

И есть целая куча готовых решений, от pssh до ansible.

selivan ★★★
()
Последнее исправление: selivan (всего исправлений: 1)

Вот так:

  • программирование на bash
  • алиасы
  • perl (в силу того, что я его знаю): DBI, LWP::UserAgent
  • некоторые трюки с grep, sed, tr, git, less, cat, tee, tail, watch
  • вывод нужной информации в более доступные места (скажем PS1)
  • башевские хоткеи
KennyMinigun ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.