Commit 974ff942 authored by Franco Fichtner's avatar Franco Fichtner

rc: add importer script exported from bsdinstaller

parent 0829a34c
#!/bin/sh
# Copyright (c) 2014-2017 Franco Fichtner <franco@opnsense.org>
# Copyright (c) 2004-2009 Scott Ullrich <sullrich@gmail.com>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
MNT="/tmp/hdrescue"
DEVS=$(camcontrol devlist)
PART=
while [ -z "${PART}" ]; do
echo "${DEVS}"
echo
read -p "Select a device import from or leave blank to exit: " DEV
if [ -z "${DEV}" ]; then
exit 0
elif [ -e "/dev/${DEV}s1a" ]; then
# MBR layout found
PART="/dev/${DEV}s1a"
elif [ -e "/dev/${DEV}p3" ]; then
# GPT layout found
PART="/dev/${DEV}p3"
else
echo "No known partition layout was found."
echo
fi
done
mkdir -p ${MNT}
fsck -t ufs -y ${PART} > /dev/null
mount ${PART} ${MNT}
if [ -f "${MNT}/conf/config.xml" ]; then
rm -rf /conf/*
for FILE in config.xml dhcpleases.tgz netflow.tgz rrd.tgz; do
if [ -f "${MNT}/conf/${FILE}" ]; then
cp "${MNT}/conf/${FILE}" /conf
echo "Restored ${FILE}"
fi
done
for DIR in backup sshd; do
if [ -d "${MNT}/conf/${DIR}" ]; then
cp -r "${MNT}/conf/${DIR}" /conf
echo "Restored ${DIR}"
else
mkdir -p "/conf/${DIR}"
fi
done
else
echo "No previous configuration was found on this disk."
fi
umount ${MNT}
rm -r ${MNT}
#!/bin/sh
# Copyright 2004-2009 Scott Ullrich
# Copyright (c) 2014-2017 Franco Fichtner <franco@opnsense.org>
# Copyright (c) 2004-2009 Scott Ullrich <sullrich@gmail.com>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment