Subversion Repositories general

Compare Revisions

Ignore whitespace Rev 1364 → Rev 1365

/fsbackup/origin/scripts/sysbackup.sh
0,0 → 1,89
#!/bin/sh
# Script for store system configuration files and information about installed
# packages.
# Скрипт для сохранения списк всех файлов в системе, списка установленных пакетов
# и файлов конфигурации.
#
# http://www.opennet.ru/dev/fsbackup/
# Copyright (c) 2001 by Maxim Chirkov. <mc@tyumen.ru>
 
#-------------------
# Name of backup, single word.
# Имя бэкапа.
#-------------------
 
backup_name="sun_int_26th_net"
 
 
#-------------------
# Directory to store system backup.
# Корневая директория куда будут помещены данные системного бэкапа.
#-------------------
 
sysbackup_path="/root/backup/fsbackup/sys_backup"
 
 
############################################################################
sysname="`uname | tr '[A-Z]' '[a-z]'`"
echo "OS: $sysname"
 
# echo "Creating ls-lR..."
# ls -lR / |gzip > $sysbackup_path/${backup_name}-ls-lR.gz
 
if [ "_$sysname" = "_linux" ]; then
echo "Creating system config archive..."
rm -f $sysbackup_path/${backup_name}-rpm_conf.tar
for cur_conf in `rpm -q -a -c`; do
tar -rf $sysbackup_path/${backup_name}-rpm_conf.tar $cur_conf 2>/dev/null
done
echo "Creating package list..."
gzip -f $sysbackup_path/${backup_name}-rpm_conf.tar
rpm -q -a > $sysbackup_path/${backup_name}-rpm.list
fi
 
if [ "_$sysname" = "_freebsd" ]; then
echo "Creating package list and install.cfg for sysinstall..."
cp -f /etc/rc.conf $sysbackup_path/${backup_name}-rc.conf
. /etc/rc.conf
interface=`echo "$network_interfaces"| awk '{print $1}'`;
eval ifconfig=\$ifconfig_$interface
ipaddr=`echo "$ifconfig"| sed 's/^.*inet \([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\).*$/\1/'`
netmask=`echo "$ifconfig"| sed 's/^.*netmask \([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\).*$/\1/'`
domain_name=`cat /etc/resolv.conf| grep -E "search|domain"| awk '{print $2}'|head -n1`
nameserver=`cat /etc/resolv.conf| grep 'nameserver'| awk '{print $2}'|head -n1`
cat<<ENDL>$sysbackup_path/${backup_name}-install.cfg
# Full example: /usr/src/release/sysinstall/install.cfg
debug=yes
hostname=$hostname
domainname=$domain_name
nameserver=$nameserver
defaultrouter=$defaultrouter
ipaddr=$ipaddr
netmask=$netmask
# ftp=ftp://time.cdrom.com/pub
netDev=$interface
mediaSetFTP
# dists=bin doc manpages info compat21 des src sbase ssys
dists=all
distSetCustom
# File System
## Current /etc/fstab
`cat /etc/fstab|sed 's/^/## /'`
## Exmpale
# disk=ad0
# partition=exclusive
# diskPartitionEditor
# bootManager=booteasy
# diskPartitionEditor
# ad0s1-1=ufs 40960 /
# ad0s1-2=swap 40960 none
# ad0s1-3=ufs 0 /usr 1
# diskLabelEditor
# installCommit
ENDL
ls -tr /var/db/pkg| tee $sysbackup_path/${backup_name}-pgk.list | perl -ne 'print "package=${_}packageAdd\n"'>> $sysbackup_path/${backup_name}-install.cfg
fi