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 |
|
|
|