Проверка обновлений на сервере через SSH

#!/bin/bash while read P do ssh "$P" /usr/lib/update-notifier/apt-check -p && sudo apt-get upgrade --dry-run done < ~/iplist1

Результат должен выглядеть так:

Server1 name possible updates Server2 name possible updates
2
задан 14 November 2017 в 01:27

2 ответа

Как насчет этого?

#!/bin/bash while IFS='' read -r p || [ -n "$p" ]; do ssh "$p" bash -c '\ hostname && [[ -z "$(/usr/lib/update-notifier/apt-check -p)" ]] && echo "No updates available." || ( echo ; apt-get upgrade --dry-run ) ' echo done < ~/iplist1

apt-get --dry-run не нуждается в разрешениях root для запуска, это устраняет серьезную проблему.

2
ответ дан 18 July 2018 в 03:21

Как насчет этого?

#!/bin/bash while IFS='' read -r p || [ -n "$p" ]; do ssh "$p" bash -c '\ hostname && [[ -z "$(/usr/lib/update-notifier/apt-check -p)" ]] && echo "No updates available." || ( echo ; apt-get upgrade --dry-run ) ' echo done < ~/iplist1

apt-get --dry-run не нуждается в разрешениях root для запуска, это устраняет серьезную проблему.

2
ответ дан 24 July 2018 в 17:49
  • 1
    да, похоже, что он работает правильно, спасибо вам – Ash Adams 13 November 2017 в 17:26
  • 2
    да, но он не запускается & quot; pt-get upgrade -dry-run & quot; команда? – Ash Adams 13 November 2017 в 20:16
  • 3
    @AshAdams Я тестировал снова и не встречал никаких недостатков, он работает для меня. Конечно, вы можете запустить подоболочку только с помощью hostname && apt-get upgrade --dry-run, если это поможет ... – dessert 13 November 2017 в 20:40

Другие вопросы по тегам:

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