if continue_prompt "Do you wish To Change Some Of The System Defaults" "Y"; then
# да, тогда введите имя
if get_code; then
# изменение параметров change_settings fi fi
# параметры получены, резервное копирование
if check_drive; then
echo "tape OK…."
else
echo "Cannot rewind the tape..is it in the tape drive ???"
echo "Check it out"
exit 1
fi
# что копировать
case $_TYPE in
Full|full)
BACKUP_PATH="sybase syb/support etc var bin apps use/local";;
Normal|normal)
BACKUP_PATH="etc var bin apps usr/local";;
Sybase|sybase)
BACKUP_PATH="Sybase syb/support";;
esac
# резервное копирование
cd /
echo "Now starting backup "
find $BACKUP_PATH -print | cpio -ovB -O /dev/$_DEVICE >> $_LOGFILE 2>&1
#если приведенная выше команда cpio не выполняется в системе,
#воспользуйтесь командой cpio, приведенной ниже
#find $BACKUP_PATH -print [ cpio -ovB > /dev/$_DEVICE >> $_LOGFILE 2>&1
#для получения дополнительной информации измените -ovB на -ovcC66536
if [ "$_INFORM"="yes" ]; then
echo "Backup finished check the log file" | mail admin fi
Файл backup.defaults содержит заданные по умолчанию настройки наряду с функцией continue_prompt. Ниже приводится содержимое файла.
$ pg backup.defaults
#!/bin/sh
#backup.defaults
#файл конфигурации, заданный по умолчанию, для сетевых резервных копий
#редактируете его на свой страх и риск!!
#
_CODE="comet"
_LOGFILE="/appdva/backup/log.`date +%y%m%d`"
_DEVICE="rmt0"
_INFORM="yes"
_TYPE="Full"
continue_prompt ()
#continue_prompt
#для вызова: continue_prompt "отображаемая строка"
default_answer ()
{
_STR=$1
_DEFAULT=$2
# проверка ввода корректных параметров
if [ $# -lt 1 ]; then
echo "continue_prompt: I need a string to display"
return 1
fi
while : do
echo -n "$_STR [Y.. N] [$_DEFAULT]:"
read _ANS
: ${_ANS:=$_DEFAULT]
if [ "$_ANS" = "" ]; then
case $_ANS in
Y) return 0 ;;
N) return 1 ;;
esac
fi # пользователь сделал выбор
case $_ANS in
y|Y|Yes|YES) return 0;;
n|N|No|NO) return 1;;
*) echo "Answer either Y or N, default is $_DEFAULT";;
esac
echo $_ANS
done
}
Ниже приводится поток вывода при отображении настроек, заданных по умолчанию, причем пользователя запрашивают, желает ли он изменить эти настройки:
Следующий поток вывода иллюстрирует процесс изменения значения для настроек, заданных по умолчанию. Здесь изменился тип резервного копирования, и когда сценарий проверяет ленточный накопитель, он обнаруживает определенные проблемы. Сценарий завершает работу с помощью кода завершения последней команды.
Tape Device: rmt0, rmt1, rmt3
Mail Admin: yes, no
Backup Type: full, normal, Sybase
Tape Device To Be Used For This Backup [rmt0]:
Mail Admin When Done [yes]:
Backup Type [Full]: Normal
Cannot rewind the tape..is it in the tape drive ???
Check it out
27.3. Сценарий del.lines