Linux и UNIX: программирование в shell. Руководство разработчика
вернуться

Тейнсли Дэвид

Шрифт:

Сценарий backup_gen предназначен для создания резервных копий. При выполнении сценария просматривается заданный по умолчанию файл конфигурации, который затем используется для резервирования системы. При желании пользователь может изменять настройки, заданные по умолчанию. Сценарий является отличным примером того, как различные сценарии могут применять одинаковые настройки или изменять их во время выполнения сценария. После запуска сценария выполняется проверка на наличие исходного файла (backup.defaults). Если этот файл не найден, сценарий завершается.

При выполнении сценария отображается заголовок экрана и настройки, заданные по умолчанию. Пользователю направляется запрос о том, требуется ли изменять какие-либо настройки, заданные по умолчанию. Если ответ положителен, поступает запрос на ввод кода, применяемого для изменения необходимых настроек. Для ввода правильного кода пользователю предоставляются три попытки; если введен неверный код, используются настройки, заданные по умолчанию. При вводе корректного кода пользователь может изменить приведенные ниже настройки (значения, заданные по умолчанию, содержатся в квадратных скобках []):

tape device [rmt0]

Можно выбрать rmt1 и rmt3

mail admin when the backup has finished [yes]

Нет вариантов выбора

type of backup [full]

Можно выбрать опцию

normal или sybase

Изменения настроек выполняются с помощью временных переменных. Для получения доступа к заданным по умолчанию настройкам установите курсор мыши в любом поле и нажмите клавишу [Return]. Однако следующие настройки изменять нельзя:

backup log filename code name.

Все внесенные изменения затем подтверждаются. После завершения процесса подтверждения значения временных переменных снова присваиваются исходным переменным. До завершения резервного копирования выполняется тестирование магнитной ленты. В процессе резервного копирования применяются команды find и cpio. С помощью этих команд используются переменные из файла настроек или значения новых переменных, указанные пользователем.

Далее приводится соответствующий сценарий.

$ pg backup_run

#!/bin/sh

#backup_run

#сценарий выполнения резервного копирования

#загрузка файла с конфигурационными параметрами

SOURCE=/appdva/bin/backup.defaults

check_source

{

#check_source

#файл backup.defaults содержит параметры конфигурации/функции

#проверка того, что путь содержит нужный каталог

if [ -r $SOURCE ]; then

. $SOURCE

else

echo "`basename $0`: cannot locate defaults file"

exit 1

fi

}

header {

# header

USER=`whoami`

MYDATE=`date + %A" "%e" of "%B-%Y`

clear

cat << MAYDAY

User : $USER $MYDATE

NETWORK SYSTEM BACKUP

MAYDAY

}

change_settings {

# change_settings

# отображение параметров, заданных по умолчанию

header

echo "Valid Entries Are…"

echo "Tape Device: rmt0, rmt1, rmt3"

echo "Mail Admin: yes, no"

echo "Backup Type: full, normal, sybase "

while :

do

echo -n -c "\n\n Tape Device To Be Used For This Backup [$_DEVICE] :"

read T_DEVICE

: ${T_DEVICE:=$_DEVICE}

case $T_DEVICE in

rmt0|rmt1|rmt3) break;;

*) echo "The devices are either… rmt0, rmt1, rmt3"

esac

done

#если пользователь нажимает клавишу ввода при установке курсора в любом

#из полей, применяются настройки, заданные по умолчанию

while :

do

echo -n "Mail Admin When Done [$INFORM] :"

read T_INFORM

: ${T_INFORM:=$_INFORM}

case $T_INFORM in

yes|Yes) break;;

no|No) break;;

*) echo "The choices are yes, no";;

esac

done

while :

do

echo -n " Backup Type [$_TYPE] :"

read T_TYPE

: ${T_TYPE:=$_TYPE}

case $T_TYPE in

Full|full) breaks;;

Normal|normal)break;;

Sybase|sybase)break;;

*) echo "The choices are either… full, normal, sybase";;

esac

done

#повторное присваивание значений временных переменных исходным переменным,

  • Читать дальше
  • 1
  • ...
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • ...

Private-Bookers - русскоязычная библиотека для чтения онлайн. Здесь удобно открывать книги с телефона и ПК, возвращаться к сохраненной странице и держать любимые произведения под рукой. Материалы добавляются пользователями; если считаете, что ваши права нарушены, воспользуйтесь формой обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • help@private-bookers.win