Мне нужно решение, которое в основном отслеживает файл журнала из удаленного ящика ...
Это может быть сценарий, который я продолжаю запускать в терминале ... Мне просто нужно, чтобы он всегда переподключался при переключении сетей и т. Д.
Я написал сценарий, который отслеживает выполнение команды ssh, и решил, что могу перезапустить ее всякий раз, когда процесс умирает ... Проблема в том, что ssh, похоже, на самом деле не умирает в том смысле, что процесс действительно завершается ... он попадает в некоторые состояние, при котором он больше не следует из удаленного файла.
while [ 1 ]; do
# timestamp
ts=`date +%T`
f=log.txt
TEST=`ps aux | grep "[s]sh -f ubuntu@production.myserver.com tail -f /var/log/myapp/$f"`
if [ "$TEST" != "" ]; then
echo "$ts it's running"
else
echo "$ts (Re)Starting $f"
ssh -f ubuntu@production.myserver.com "tail -f /var/log/myapp/$f" >> ./logs/$f
fi
sleep 15
done
Я думал, что это решение, но мне не удалось его скомпилировать: http://www.harding.motd.ca/autossh/