Как передать сложную команду в kubectl

Рубрика «ненормальное программирование». Мне понадобилось передать сложную команду для выполнения на поде. Оболочка shell дробила ее там, где не должна и я решил воспользоваться утилитой expect. После выполнения этого короткого сценария происходит выход в первоначальный сеанс.

#!/usr/bin/expect -f
 
spawn kubectl exec -it asb-0 -- /bin/sh
expect "Defaulted container \"app\" out of: app, tools"
send -- "cat /dev/null | tee \$(find /opt/company/apache/log/ -type f -exec ls -rt1 {} + | paste -sd \" \" -) && exit\r"
interact

Команда очищает содержимое лог файлов для того, чтоб автоматизация проверяла только те сообщения, которые появились за время выполнения теста.

You can leave a response, or trackback from your own site.

Leave a Reply