Отслеживать pid процесса на предмет изменений

rsync на удивление быстро и просто. Сначала вы должны создать пустой каталог,

mkdir emptydir
rsync -a --delete emptydir/ yourdirectory/

yourdirectory / - это каталог, из которого вы хотите удалить файлы.

0
29.03.2019, 01:13
2 ответа

Винс, для непрерывного мониторинга я рекомендую вам изучить решения с открытым -исходным кодом, такие как Nagios. Для вашего вопроса приведенный ниже сценарий BASH, prog _stat.sh, будет записывать DATE и PID в файл каждую секунду, затем вы можете добавить в сценарий анализ для изменения PID и добавить отслеживание -в действиях. CTRL -C, чтобы убить

У меня есть машина для Nagios dev. Этот скрипт предназначен для того, чтобы эта машина проверяла Nagios PID раз в секунду. Изменить частоту проверки, изменив режим сна

    #!/bin/bash
    PROG=Nagios          
    LOG=/home/user/nagios_pid.log   
    echo "" > $LOG             
    while true; do    
    PID=`ps ax | grep -i "$PROG" | awk 'NR==1{print $1}'`                  
    echo `date -u` " "  $PID >> $LOG                      
    sleep 1                                               
    done                 
    exit                   

Вывод сценария

    [user ~]#cat nagios_pid.log
    Sat Mar 30 11:15:50 UTC 2019   1171
    Sat Mar 30 11:15:51 UTC 2019   1171
    Sat Mar 30 11:15:52 UTC 2019   1171
    Sat Mar 30 11:15:53 UTC 2019   1171
    Sat Mar 30 11:15:54 UTC 2019   1171
    Sat Mar 30 11:15:55 UTC 2019   1171
    Sat Mar 30 11:15:56 UTC 2019   1261
    Sat Mar 30 11:15:57 UTC 2019   1261
    Sat Mar 30 11:15:58 UTC 2019   1261
    Sat Mar 30 11:15:59 UTC 2019   1261

Разобраться на сдачу:

   [user ~]# sort -k 7,7 -u  nagios_pid.log
    Sat Mar 30 11:15:50 UTC 2019   1171
    Sat Mar 30 11:15:56 UTC 2019   1261

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

-Марк

0
28.01.2020, 03:52

Если ваша система управляется systemd, а многие современные системы имеют (тип systemctl, чтобы проверить, так ли это ), вы можете настроить его для выполнения действий при перезапуске службы. Этот ответ на ServerFault дает только один пример.

Другое решение состоит в том, чтобы обернуть вашу службу в сценарий оболочки, который уведомляет вас о выходе. Однако это не сработает, если процесс демонизирует себя.

0
28.01.2020, 03:52

Теги

Похожие вопросы