Ниже приводится сценарий, реализующий установку параметров для каждой базы данных:
$ pg set.select
#!/bin/sh
#set.select
#устраняется известная ошибка. Устанавливается выделение в опции db
PATH=$PATH:/sybase/bin:/sybase/install
export PATH
SYBASE="/sybase"; export SYBASE
DSQUERY=ACESRV; export DSQUERY
PASSWORD="prilog"
DATABASES="dwbased tempdb aggs levels reps accounts"
for loop in $DATABASES
do
su Sybase -c '/sybase/bin/isql -Usa -P$PASSWORD' << MAYDAY
use master
go
sp_dboption $LOOP,"select into/bulkcopy/pllsort", true
go
use $LOOP go
checkpoint go
MAYDAY
done
Рассматривая конструкцию "документ здесь", при выполнении вышеуказанной команды интерпретатор shell оценивает приведенный выше код.
use master
go
sp_dboption dwbased,"select into/bulkcopy/pllsort", true
go
use dw_based
go
checkpoint go
Когда интерпретатор shell просматривает завершающее слово mayday, сценарий начинает следующую итерацию для цикла for. При этом из списка выбирается следующая база данных. При выполнении сценария получаются следующие результаты:
$ set.select
Database option 'select into/bulkcopy/pllsort' turned ON for database
'dwbased'.
Run the CHECKPOINT command in the database that was changed.
(return status=0)
Database option 'select into/bulkcopy/pllsort' turned ON for database 'tempdb'.
Run the CHECKPOINT command in the database that was changed, (return status=0)
Database option 'select into/bulkcopy/pllsort' turned ON for database 'aggs'.
Run the CHECKPOINT command in the database that was changed, (return status=0)
25.6. Заключение
В главе содержатся примеры по автоматизации задач с использованием конструкции "документ здесь". Конструкцию "документ здесь" можно применять при решении большого количества задач, особенно при установке подключения к приложениям или выполнении команды ftping. Приведенные сценарии можно выполнять и модифицировать для решения конкретных задач конечного пользователя.
Утилиты интерпретатора shell
В этой главе рассматриваются следующие темы:
• создание датируемых имен файлов и временных файлов;
• сигналы;
• команда trap и способы перехвата сигналов;
• команда eval;
• команда logger.
26.1. Создание регистрационных файлов
Используя любой сценарий, нужно создавать временные файлы или файлы регистрации (журнальные файлы). При выполнении сценариев, создающих резервные копии, удобно сохранять журналы фактических резервных копий. Обычно журналы хранятся в файловой системе несколько недель, затем происходит их очистка.
В процессе разработки сценариев непрерывно создаются временные файлы. Временные файлы также необходимы при функционировании обычных сценариев, содержащих информацию, которая ранее использовалась при вводе данных для другого процесса. Чтобы отобразить временный файл на экране или вывести его на печать, можно применить команду cat.
Если возникла необходимость создать журнальный файл, желательно сделать его уникальным. Для этого достаточно воспользоваться командой date. Командой date можно манипулировать, а также добавлять ее к имени файла, который станет журнальным файлом.
Для изменения формата отображения данных применяется следующий формат:
date option + %format
С помощью знака плюс (+( можно в различных форматах отображать текущую дату. Ниже дата отображается в формате день, месяц, год.
$ date +%d%m%y
090699
Приведем некоторые наиболее часто применяемые форматы данных.
$ date +%d-%m-%y
09-06-99
$ date +%A%e" "%B" "%Y
Wednesday 9 June 1999
Отображение времени в формате чч: мм: $ date +%R
10:07
$ date +%A" "W "%p Wednesday 10:09 AM
Отображение времени в расширенном формате: $ date +%T
10:29:41
$ date +%A" "%T
Wednesday 10:31:19