Tagbash

strace нескольких процессов одновременно

Иногда надо стрейсить, а конкретный pid процесса неизвестен. И следовать fork-у тоже нельзя, т.к. дофига посторонних процессов. Но в моем случае я знал под каким пользователем плодятся нужные мне процессы. Придумал такую конструкцию:

for pid in $(pgrep -U USER);do (nohup strace -o filename.${pid}.strace -s4096 -e trace=network,file,ipc -p${pid} &) ;  done

Параметры strace подстраиваете уже под себя.

У меня указаны группы системных вызовов для отслеживания, все это можно вычитать из man strace :).

Проблема данного метода в том, что он конечно же не поймает новые процессы, если в этом есть необходимость — можно уже написать скрипт, хоть на bash, хоть на python, который будет висеть как демон и сканировать наличие процессов заданного юзера, и при появлении новых pid-ов, добавлять новые strace-команды.

Исполнение локального python скрипта на удаленном узле

Есть способы выполнения локального скрипта на удаленных хостах через ssh. Т.е. все понятно, есть всякие puppet-ы, ansible-ы и прочее добро, но они массивны, требуют сетапа и настройки, и далеко не всегда это необходимо делать.

Есть несколько серверов, на них надо быстренько выполнить скриптик и забыть об этом, так? Ну вот, без дополнительных инструментов, это сводится к тому, что мы открываем подключение к серверу через ssh, и желаемый скрипт перенаправляем в stdin удаленного сервера, строго говоря просто набор команд из скрипта.

Continue reading

© 2017 servadmin.ru

Theme by Anders NorénUp ↑