Скрипт swaphalt.sh


Этот скрипт сначала проверяет сигнатуру области подкачки Linux, а затем восстанавливает на разделе файловую систему Windows.

(Основано на скрипте, приведенном в Swap-Space-HOWTO автора H. Peter Anvin)

#!/bin/sh # # swaphalt.sh Этот файл вызывается из /etc/rc.d/init.d/halt # после того, как будут выключены учет ресурсов и подкачка # # This file is executed through the /etc/rc.d/init.d/halt # script after swapping and accounting has been turned off. # # Автор: Rahul U. Joshi Перевод: Станислав Рогин #

# проверяем сигнатуру раздела подкачки и восстанавливаем таблицы данных Windows

loopcount=0

# флаг, указывающий была ли восстановлена информация раздела подкачки Windows # flag to indicate whether the swap info has been restored or not restored=0

# проверяем сигнатуру до 3 раз (check for swap signature 3 times before giving up) while [ $loopcount -lt 3 ] do

if [ "`/bin/dd 2>/dev/null if=/dev/winswap bs=1 count=10 skip=4086`" = 'SWAP-SPACE' ]; then echo "Восстановление структуры раздела подкачки DOS/Windows ($loopcount-я попытка)" echo "Restoring DOS/Windows swap info , iteration $loopcount)" /bin/zcat /etc/winswap.gz > /dev/winswap restored=1 break else loopcount=loopcount+1 fi

done

if [ $restored -ne 1 ] ; then echo "Сигнатура области подкачки не обнаружена после $loopcount попыток" echo "Swap signature not found after $loopcount tries" echo "Восстановление таблиц не произведено" echo "Skipping restoring" fi



Содержание раздела