LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1106|回复: 3

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

[复制链接]
发表于 2007-8-25 18:25:56 | 显示全部楼层 |阅读模式
请问:要备份系统的配置文件,除了/etc/ ,root/ 和 home/下用户的配置文件还应该备份哪些文件?
发表于 2007-8-25 18:52:46 | 显示全部楼层

我的备份脚本

我自己写的一个备份脚本,因为是菜鸟所以现学现弄的,也请教了高手,你可以试试
备份脚本文件内容

  1. #!/bin/bash
  2. BackListFile="backup_file_list"
  3. BackBaseDir="./BackupConfDir`date +\%Y.\%m.\%d`"
  4. #ErrLogFile="./ErrLog.log"
  5. #OKLogFile="./OKLog.log"
  6. LogFile="./BackLog.log"
  7. #echo "home=$HOME"
  8. #echo "user=$USER"
  9. #echo $BackListFile
  10. #echo $BackBaseDir

  11. #BackList=`grep -v "^[# ]" $BackListFile`
  12. #BackList=`grep -v "^[# ]" $BackListFile`
  13. BackList=`sed s@~/@$HOME/@ $BackListFile |grep -v "^[# ]" -`
  14. #BackList=`tr ~/ $HOME BackList`
  15. #echo $BackList

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

  21. #--------------------------------------------------------------------------
  22. DestKernelConf="$BackBaseDir/usr/src/`uname -r`/config"
  23. echo "KernelConf=$KerenlConf" >> $LogFile
  24. SrcKernelConf="/usr/src/linux/.config"
  25. if [ -e $SrcKernelConf ] ; then     #test the file exist
  26.     if [ ! -e `dirname $DestKernelConf` ] ; then
  27.         mkdir -pv `dirname $DestKernelConf` >> $LogFile 2>> $LogFile
  28.     fi
  29.     echo "Backup `uname -r` Config file OK" >> $LogFile
  30.     cp $SrcKernelConf $DestKernelConf -f >> $LogFile 2>> $LogFile
  31.     cp $SrcKernelConf $DestKernelConf`uname -r` -f >> $LogFile 2>> $LogFile
  32. else
  33.     echo "EE Backup `uname -r` Config file on found" >> $LogFile
  34. fi
  35. #--------------------------------------------------------------------------
  36. if [ `uname -m` == "x86_64" ] ; then
  37.     echo "machine = x86_64" >> $LogFile
  38.     echo "machine = x86_64"
  39. else
  40.     echo "machine = x86" >> $LogFile
  41.     echo "machine = x86"
  42. fi
  43. #--------------------------------------------------------------------------
  44. for File in $BackList ; do
  45.     #echo "file = $File"
  46.     if [ -e $File ] ; then     #test the file exist
  47.         if [ ! -e `dirname $BackBaseDir$File` ] ; then
  48.             #mkdir -pv  `dirname $BackBaseDir$File` 1>> $OKLogFile 2>> $ErrLogFile
  49.             #mkdir -pv  `dirname $BackBaseDir$File`  >> LogFile 2>> &1
  50.             mkdir -pv  `dirname $BackBaseDir$File`  >> $LogFile 2>> $LogFile
  51.             
  52.         fi

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

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


  59.              #if [ ! -e $BackBaseDir$File ] ; then
  60.              #    mkdir -pv  $BackBaseDir$File
  61.              #if

  62.              #echo  $BackBaseDir$File
  63.              #echo "$File is a dir!"
  64.         else
  65.              #back file
  66.              #cp $File $BackBaseDir$File -f  1>> $OKLogFile 2>> $ErrLogFile
  67.              #cp $File $BackBaseDir$File -f >> LogFile 2>> &1
  68.              cp $File $BackBaseDir$File -f >> $LogFile 2>> $LogFile
  69.              #echo "cp $File $BackBaseDir$File -fv  1>> $OKLogFile 2>> $ErrLogFile"

  70.              #echo  $BackBaseDir$File
  71.              #echo "$File is a file!"
  72.         fi
  73.     else #no found
  74.         #echo "$File file no found ...." >> $ErrLogFile
  75.         echo "EE --- $File --- file no found ...." >> $LogFile # for grep EE ./LogFile check Error
  76.         #echo "$File file no found ...."
  77.     fi
  78. done

  79. #--------------------------------------------------------
  80. #backup myself
  81. cp -f $BackListFile $BackBaseDir >> $LogFile 2>> $LogFile
  82. cp -f $0  $BackBaseDir >> $LogFile 2>> $LogFile
  83. #--------------------------------------------------------

复制代码


以下是 backup_file_list 文件

  1. ~/mkstage4.sh
  2. ~/.vim/
  3. ~/.esmtprc
  4. ~/.conkyrc
  5. ~/.xinitrc
  6. ~/.fvwm-crystal/
  7. ~/.Xdefaults
  8. ~/.Xresources
  9. ~/.xprofile
  10. #~/.profile
  11. ~/.bashrc
  12. ~/.bash_profile
  13. ~/.vimrc
  14. ~/.screenrc
  15. ~/.fonts.conf
  16. ~/.axelrc
  17. ~/.rtorrent.rc
  18. ~/.fvwm/bashrc_noPS1
  19. ~/.mozilla/firefox/t69tmymj.default/chrome/userChrome.css
  20. ~/.mozilla/firefox/t69tmymj.default/chrome/userContent.css
  21. #~/.mozilla/firefox/t69tmymj.default/chrome/
  22. ~/.procmailrc
  23. ~/.mutt/
  24. /etc/portage/package.keywords
  25. /etc/portage/package.mask
  26. /etc/portage/package.unmask
  27. /etc/portage/package.use
  28. /etc/portage/rsync_excludes
  29. /etc/postfix/
  30. /etc/make.conf
  31. /etc/locale.gen
  32. /etc/X11/xorg.conf
  33. /etc/fstab
  34. /etc/hosts
  35. /etc/hosts.allow
  36. /etc/hosts.deny
  37. /etc/samba/smb.conf
  38. /etc/lftp/lftp.conf
  39. /etc/sudoers
  40. /etc/gtk-2.0/i686-pc-linux-gnu/gtkrc
  41. /etc/gtk-2.0/x86_64-pc-linux-gnu/gtkrc
  42. /etc/gtk-2.0/gtkrc
  43. /etc/gtk/gtkrc.zh_CN.utf-8
  44. /etc/axelrc
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-25 19:30:28 | 显示全部楼层
感动呀,axlrose兄弟。谢谢了。我好好研究研究,学习学习。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-26 11:45:35 | 显示全部楼层
偶然间看到一个软件做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
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表