Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Особенности монтирования съемных носителей состоят в том, что их наличие проверяется в бесконечном цикле до тех пор, пока носитель не будет установлен и подключен. Сделано так потому, что на первом этапе базы не копируются, а переносятся на «мастер» и при отмене и повторном запуске скрипта базы не будут найдены. Поэтому лучше разобраться с причиной невозможности смонтировать диск (а это, как правило, банальная причина – опущен ключ -b при установке чистого диска, отсутствует или неверно указана точка монтирования и т. д) и попытаться смонтировать его повторно. После каждой безуспешной попытки смонтировать диск программа спрашивает, не желаем ли мы пропустить попытку монтирования диска. Если согласиться с ней и монтирование диска пропустить, то диск будет помечен как чистый, чтение с него выполняться не будет, все его предыдущее содержимое будет перезаписано.
Если RW-диск успешно смонтирован, то происходит реорганизация его содержимого – файлы, поколение которых превышает максимально хранимое поколение, будут удалены, остальные переименованы в следующее поколение. Процедура последовательного переименования файлов (filename.0.ext filename.1.ext filename.2.ext и т. д.) будет описана несколько более подробно. Метка процедуры в листинге – RENAME, метка самой процедуры реорганизации – RWREORDER.
shiftfiles()
{
# Получаем список файлов в каталоге
lfiles=`ls -1`
# Обрабатываем по одному элементу списка до тех пор, пока он не пуст
for lfile in $lfiles
do
# Выбираем номер поколения (указываем awk, что разделителем полей является точка, и печатаем второе поле)
gener=`echo $lfile | awk 'BEGIN {FS="."} {print $2}'`
# Дополнительная защита – если в качестве номера поколения выбрали «bz2», значит в каталоге
# находится файл filename.bz2,который не переименован из-за какой-либо ошибки. Корректируем эту ситуацию,
# подразумевая нулевое (самое последнее) поколение
if [ $gener = "bz2" ]; then
logline="Invalid database file name $lfile, assumed zero generation"; safe_logger
gener=0
mv $adbnam.bz2 $adbnam.$gener.bz2