1 Востаннє редагувалося funivan (04.01.2013 22:35:59)

Тема: Бекап конфігів і програм

Ось скриптос який написав для бекапу деяких конфігів. Пишу з двох причин:

  • Тим хто щось подібне хоче, може знадобитись скрипт

  • Можливо гуру вкажуть на помилки ;)

Запускаю так:

./backup.sh --backup
./backup.sh --restore 

На даному етапі відновлення пакунків поки що закоментував треба буде перевірити все чітко )

Ось тут ще можна переглянути скрипт https://gist.github.com/4444386

Головна фішка - 1н скрипт для бекапу і відновлення :)

Прихований текст

#!/bin/bash 
#
# Ivan Scherbak <funivan.com>


  if [ -z "$1" ]; then
    echo "set argument";
    exit;
  elif [ $1 = "--backup" ]
    then
      BACKUP_FLAG=0;
  elif [ $1 = "--restore" ]; then
      BACKUP_FLAG=1;
  else
    echo "First argument shud be:  --backup or   --restore ";
    echo "You type: $1";
    exit
  fi

  function B {
    return $BACKUP_FLAG;
  }  

  DIR="/home/ivan/backup-u";
  if B; then
    rm -rf $DIR;
    mkdir $DIR;
  fi


  if [ ! -d "$DIR" ]; then
      echo "Directory not exist  $DIR"
      exit;
  fi

  # starat actions
  
  
  # gnome settings  
  if  B ; then
    gconftool-2 --dump / > $DIR/gconf.xml;
  else
    gconftool-2 --load $DIR/gconf.xml;
  fi

  # packages
  if  B ; then
    dpkg --get-selections > $DIR/Package.list
    sudo cp /etc/apt/sources.list $DIR/sources.list
    sudo apt-key exportall > $DIR/Repo.keys
  else 
    echo ""
    #~ sudo apt-key add $DIR/Repo.keys
    #~ sudo cp $DIR/sources.list /etc/apt/sources.list 
    #~ sudo apt-get install dselect
    #~ sudo dpkg --set-selections < $DIR/Package.list
    #~ sudo apt-get dselect-upgrade -y
  fi
  
  
  # config directories 
  
  
  if  B ; then
  tarExclude="
  --exclude cache
  --exclude */google-chrome
  --exclude */chromium
  
  --exclude .gvfs
  --exclude .thumbnails
  --exclude .thunderbird
  --exclude .pdepend
  --exclude .teamviewer
  
  --exclude *Trash*
  --exclude */logs/*
  --exclude */log/*
  
  --exclude *firefox*icons
  --exclude *firefox*Cache
  --exclude *firefox*thumbnails
  
  --exclude *opera*icons
  --exclude *opera*cache
  --exclude *opera*thumbnails
  --exclude *opera*pstorage
  --exclude *opera*vps
  
  --exclude *netbeans*log
  --exclude *netbeans*filehistory
  --exclude *nbi*tmp
  
  --exclude *\.goutputstream*
  --exclude .xsession-*
  --exclude .nv/
  --exclude .nv/GLCache
  
  "
      tar cvpzf $DIR/backup-configs.tgz ~/.[a-z][A-Z]*  $tarExclude
  else 
      #tar -C /tmp/test -zxvf $DIR/backup-configs.tgz
      tar -zxvf $DIR/backup-configs.tgz
  fi

Подякували: Replace, Djalin, HetmanNet3