+ -
当前位置:首页 → 问答吧 → 如何备份系统的配置文件?

如何备份系统的配置文件?

时间:2007-08-25

来源:互联网

请问:要备份系统的配置文件,除了/etc/ ,root/ 和 home/下用户的配置文件还应该备份哪些文件?

作者: nainaide   发布时间: 2007-08-25

我自己写的一个备份脚本,因为是菜鸟所以现学现弄的,也请教了高手,你可以试试
备份脚本文件内容
代码:
#!/bin/bash
BackListFile="backup_file_list"
BackBaseDir="./BackupConfDir`date +\%Y.\%m.\%d`"
#ErrLogFile="./ErrLog.log"
#OKLogFile="./OKLog.log"
LogFile="./BackLog.log"
#echo "home=$HOME"
#echo "user=$USER"
#echo $BackListFile
#echo $BackBaseDir

#BackList=`grep -v "^[# ]" $BackListFile`
#BackList=`grep -v "^[# ]" $BackListFile`
BackList=`sed s@~/@$HOME/@ $BackListFile |grep -v "^[# ]" -`
#BackList=`tr ~/ $HOME BackList`
#echo $BackList

echo "Backup Start..."
#echo "start ErrLog..." > $ErrLogFile
#echo "start OKLog...." > $OKLogFile
echo "Start Log......" > $LogFile
KerenlConf="/usr/src/linux-`uname -r`/.config"

#--------------------------------------------------------------------------
DestKernelConf="$BackBaseDir/usr/src/`uname -r`/config"
echo "KernelConf=$KerenlConf" >> $LogFile
SrcKernelConf="/usr/src/linux/.config"
if [ -e $SrcKernelConf ] ; then #test the file exist
 if [ ! -e `dirname $DestKernelConf` ] ; then
 mkdir -pv `dirname $DestKernelConf` >> $LogFile 2>> $LogFile 
 fi
 echo "Backup `uname -r` Config file OK" >> $LogFile
 cp $SrcKernelConf $DestKernelConf -f >> $LogFile 2>> $LogFile
 cp $SrcKernelConf $DestKernelConf`uname -r` -f >> $LogFile 2>> $LogFile
else
 echo "EE Backup `uname -r` Config file on found" >> $LogFile
fi
#--------------------------------------------------------------------------
if [ `uname -m` == "x86_64" ] ; then
 echo "machine = x86_64" >> $LogFile
 echo "machine = x86_64"
else
 echo "machine = x86" >> $LogFile
 echo "machine = x86"
fi
#--------------------------------------------------------------------------
for File in $BackList ; do
 #echo "file = $File"
 if [ -e $File ] ; then #test the file exist
 if [ ! -e `dirname $BackBaseDir$File` ] ; then
 #mkdir -pv `dirname $BackBaseDir$File` 1>> $OKLogFile 2>> $ErrLogFile
 #mkdir -pv `dirname $BackBaseDir$File` >> LogFile 2>> &1
 mkdir -pv `dirname $BackBaseDir$File` >> $LogFile 2>> $LogFile 
 
        fi

 if [ -d $File ] ; then #test is dir
 #back dir use -r
 #cp $File $BackBaseDir$File -rf 1>> $OKLogFile 2>> $ErrLogFile
 #cp $File $BackBaseDir$File -rf >> LogFile 2>> &1 
 cp $File $BackBaseDir$File -rf >> $LogFile 2>> $LogFile

 # echo "cp $File $BackBaseDir$File -rfv 1>> $OKLogFile 2>> $ErrLogFile"


 #if [ ! -e $BackBaseDir$File ] ; then
 # mkdir -pv $BackBaseDir$File 
 #if
 
 #echo $BackBaseDir$File 
 #echo "$File is a dir!"
 else 
 #back file
 #cp $File $BackBaseDir$File -f 1>> $OKLogFile 2>> $ErrLogFile
 #cp $File $BackBaseDir$File -f >> LogFile 2>> &1
 cp $File $BackBaseDir$File -f >> $LogFile 2>> $LogFile 
 #echo "cp $File $BackBaseDir$File -fv 1>> $OKLogFile 2>> $ErrLogFile"

 #echo $BackBaseDir$File 
 #echo "$File is a file!"
 fi
 else #no found
        #echo "$File file no found ...." >> $ErrLogFile
        echo "EE --- $File --- file no found ...." >> $LogFile # for grep EE ./LogFile check Error
 #echo "$File file no found ...."
 fi
done

#--------------------------------------------------------
#backup myself
cp -f $BackListFile $BackBaseDir >> $LogFile 2>> $LogFile
cp -f $0 $BackBaseDir >> $LogFile 2>> $LogFile
#--------------------------------------------------------
以下是 backup_file_list 文件
代码:
~/mkstage4.sh
~/.vim/
~/.esmtprc
~/.conkyrc
~/.xinitrc
~/.fvwm-crystal/
~/.Xdefaults
~/.Xresources
~/.xprofile
#~/.profile
~/.bashrc
~/.bash_profile
~/.vimrc
~/.screenrc
~/.fonts.conf
~/.axelrc
~/.rtorrent.rc
~/.fvwm/bashrc_noPS1
~/.mozilla/firefox/t69tmymj.default/chrome/userChrome.css
~/.mozilla/firefox/t69tmymj.default/chrome/userContent.css
#~/.mozilla/firefox/t69tmymj.default/chrome/
~/.procmailrc
~/.mutt/
/etc/portage/package.keywords
/etc/portage/package.mask
/etc/portage/package.unmask
/etc/portage/package.use
/etc/portage/rsync_excludes
/etc/postfix/
/etc/make.conf
/etc/locale.gen
/etc/X11/xorg.conf
/etc/fstab
/etc/hosts
/etc/hosts.allow
/etc/hosts.deny
/etc/samba/smb.conf
/etc/lftp/lftp.conf
/etc/sudoers
/etc/gtk-2.0/i686-pc-linux-gnu/gtkrc
/etc/gtk-2.0/x86_64-pc-linux-gnu/gtkrc
/etc/gtk-2.0/gtkrc
/etc/gtk/gtkrc.zh_CN.utf-8
/etc/axelrc

作者: axlrose   发布时间: 2007-08-25

感动呀,axlrose兄弟。谢谢了。我好好研究研究,学习学习。

作者: nainaide   发布时间: 2007-08-25

偶然间看到一个软件做backup的,叫flexbackup.
引用:
@localhost ~ $ eix flexbackup
* app-backup/flexbackup
Available versions: *1.2.1-r2 ~1.2.1-r5 ~1.2.1-r6
Homepage: http://flexbackup.sourceforge.net/
Description: Flexible backup script using perl

作者: nainaide   发布时间: 2007-08-26