День добрый
Столкнулся вот с проблемкой, не выполняется до конца spawn-процесс
Написал вот скрипт который снимает дамп БД (посгрес), понятно дело чтобы передавать пароль скрипту.
[code]
#!/bin/bash
#pg_dump.sh
pass=$1
param=""
for i in $@
do
let a=a+1
if [ $a -lt 2 ]; then
false
else
param=$param" "$i
fi
done
pgexpect.exp $pass "pg_dump $param " | grep -v -E "^Пароль:\s*" | grep -v -E "pg_dumpall:" | grep -v -E "pg_dump:"
[/code]
[code]
#!/usr/bin/expect -f
#pgexpect.exp
if "$argc > 0" {
set pass [lindex $argv 0]
set command [lindex $argv 1]
}
spawn sh -c "$command [lrange $argv 2 end]"
set timeout -1
expect {
"assword:" {
send "$pass\n"
interact -nobuffer
exp_continue
}
"ароль:" {
send "$pass\n"
exp_continue
} "FATAL" {
send_error "ERROR: PERMISSION ERROR !\n";
exit;
} "TCP/IP" {
send_error "ERROR: SERVER DOWN !\n";
exit;
} eof {
exit;
}
}
[/code]
Дасп снимается, только вот не всегда одинаковый по размеру - обрубается в конце, разница может достигать пару десяток строк.
Вот я думаю что буфер не скидывается при окончании работы скрипта, пока не придумал что можно сделать.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум expect скрипт (2014)
- Форум [Expect] получить exit code команды (2011)
- Форум expect argv (2012)
- Форум expect (2013)
- Форум Скрипт для автоматического ввода данных при запросе через telnet (2020)
- Форум авт. ssh подкл. , когда есть proxycommand (2018)
- Форум Вопрос по expect (2014)
- Форум Expect и show log (2014)
- Форум Win10/VB/Ubuntu server/lxc: как автоматизировать изменение пароля root в lxc (2023)
- Форум Прописывание прокси всем пользователям ЛС (2017)