Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
do
# Вот это список программ, без которых работа невозможна (не считая SSH)
locator=`which $tool`
# Если which вернул пустую строку (а это происходит тогда, когда программа не найдена – ее физически нет
# или каталог не включен в PATH), то выдать сообщение и прекратить работу
if [ -z $locator ]; then
logline="Your system does not include $tool utility"; safe_logger
exit
fi
done
Реализация поиска SSH в скрипте полностью аналогична реализации скрипта safecopy, описанного в [1]. Соответствующая метка в листинге SEARCHSSH. Дополнительно процесс поиска описан в комментариях в тексте скрипта.
После того как проверено наличие всех необходимых программ, начинается разбор списка узлов. Этот разбор будет делаться в течение работы скрипта неоднократно, но особенности процесса его выполнения будут рассмотрены один раз.
Разбор производится посредством простого чтения файла командой cat. Для построчной работы с файлом используется особенность работы с потоком стандартного ввода, которая заключается в том, что при чтении файла все прочитанное разбивается на «поля», где значение переменной IFS используется как разделитель. Если изменить ее значение, а потом прочитать файл, разбиение на «поля» будет выполняться в соответствии с новым значением IFS. Поскольку нам необходимо разобрать по записям (строкам), используется следующая конструкция:
IFS="
"
Внимание! Значение «IFS=’’», перенесенное на соседнюю строчку, – это не ошибка! Таким образом IFS присваивается значение «конец строки» ( ), после чего организуется обычный цикл перебора всех записей файла.
Если адресом компьютера является 127.0.0.1, то выполняется локальное копирование, то есть просто копирование базы AIDE в то место, откуда она впоследствии будет перенесена на съемный носитель. Соответствующая метка в листинге LOCALCOPY. Если же нет – предполагается удаленный компьютер и выполняется копирование с удаленного компьютера. Процесс получения списка файлов, подлежащих копированию, и собственно процесс копирования полностью аналогичны процессу, описанному в [1]. Процесс получения списка файлов здесь вырождается просто в еще одну проверку правильности настроек SSH, поскольку список файлов может содержать только один элемент (или не содержать ни одного, что будет указывать на ошибку). Соответствующая метка в листинге RMTCOPY.
Если при запуске скрипта не было указано, что установлен чистый носитель, то RW-диск монтируется и его содержимое копируется во временный каталог, создаваемый в корневом каталоге системы. Соответствующая метка в листниге MNTRWDISK.