Сценарий Bash для установки пакетов и отчета в файле журнала [закрыто]

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

sudo apt-get install -y nano

Я пытаюсь добиться с помощью bash-скрипта, чтобы сообщить, прошла ли установка гладко или в случае неудачи - указать что пошло не так. Я бы хотел, чтобы он создал файл типа "log", который очень кратко сообщал бы о статусе, например

Package "nano" successfully installed!

или

Package "nano" failed to install. // Here comes the line of apt-get install that caused fail

Заранее спасибо!

-1
задан 10 July 2014 в 16:20
1 ответ

Во-первых, вы не должны использовать sudo в скрипте bash, он неактивен, и поэтому, если вам потребуется использовать пароль, вы не сможете поднимать его.

Ниже приведен основной пример установки нескольких пакетов, для установки нескольких пакетов вы добавите пакет в строку "for package in". Вывод будет добавлен к существующему файлу.

#!/bin/bash

apt-get update

for package in nano httpd vim mysql-server
do

apt-get install -qq --print-uris $package >> script.log 2>>script_error.log

done

Вы должны сохранить этот файл, как вам угодно, затем вы должны установить права доступа, чтобы разрешить выполнение скрипта. Если бы вы вызвали файл script.sh, вы бы выполнили:

chmod +x script.sh

Тогда для выполнения скрипта вы бы сделали:

sudo ./script.sh

Это очень простой пример, он не так хорошо записывается в журнал, как это возможно, и есть много более сложных и лучших способов выполнить его, но он сделает эту работу, если вы будете счастливы просмотреть журнал после инсталляции. Первый лог содержит минимальный лог при обычной установке (даже если вы не смотрите на него, вы можете оставить его для проверки), а второй лог содержит только ошибки от apt-get.

.
4
ответ дан 5 December 2019 в 19:08

Теги

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