The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Hужен инкpементальный бэкап в аpхив (backup script)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: backup, script,  (найти похожие документы)
- RU.LINUX (2:5077/15.22) __________________________________________ RU.LINUX _ From : Timur I.Danyarhojaev 2:5020/400 05 Apr 00 11:58:02 Subj : Hужен инкpементальный бэкап в аpхив ------------------------------------------------------------------------------- From: "Timur I.Danyarhojaev" <tid@podolsk.ru> Oleg Frolkov wrote: > Hужен инкpементальный бэкап в аpхив или хотя-бы в деpево подкаталогов. > Бэкапить надо по кpитеpию: все файлы после даты xxxx, если есть возможность > исключить опpеделенные каталоги (список котоpых хpанить в отдельном файле) > то еще лучше. > > Есть у tar-а опция -N но я так и не смог ни где найти фоpмат даты, котоpый > он понимает :( ЧИТАЙТЕ man'ы! Я нарисовал для себя програмку инкриментного бэкапа по схеме: Уровень Комментарий (дата на начало периода) 0 Полный Back Up (Full) 1 годовой (1999) 2 годовой (2000) . . . 10 квартальный (Апрель) 11 квартальный (Июль) 12 квартальный (Октябрь) 20 месячный (второй) 21 месячный (третий) 30 недельный (вторая) 31 недельный (третья) 32 недельный (четвертая) 33 недельный (пятая) 40 однодневный (среда) 41 однодневный (четверг) 42 однодневный (пятница) 43 однодневный (понедельник) Бэкапится все поддерево. ---------------------------------------------- #!/bin/sh case $# in 2) case $2 in Full) level=0 ;; [1-9]|[1-9][0-9]) level=$2 ;; *) echo $0 "<Value> mast be number - 1..99" exit 1 ;; esac ;; *) echo "Usage:" $0 "<Archive> <Value>" exit 1 ;; esac cd /YYYYYY/Log LCK_Flag="/tmp/LCK_BKP" PID_BKP=$$ umask 777 while ( true ); do if ( echo $PID_BKP > $LCK_Flag ) 2>/dev/null ; then break fi Delay=$((`/usr/local/bin/getrand 300`+1)) sleep $Delay done umask 022 now=`date "+%y-%m-%d %H:%M:%S"` logfile="`pwd`/`date "+%y%m%d"`.$1.log" upDIR=/XXXXXX srcDIR=/XXXXXX/$1 backupDIR=/mnt/BackUp/$1 lavelDIR=${backupDIR}/${level} dateFILE=${lavelDIR}/date backupFILE=${lavelDIR}/bkup_tar.bz2 if [ ! -d $srcDIR ]; then echo "Can't Find Source Directory" $srcDIR exit 1 fi if [ ! -d $backupDIR ]; then echo "Can't Find Back Up DISK" $backupDIR exit 1 fi if [ ! -d $lavelDIR ]; then echo "Can't Find Level " $lavelDIR exit 1 fi if [ $level = 0 ]; then echo "Full Back Up" > $logfile cd $upDIR tar clvf - \ $1 2>>$logfile | gzip -9 2>>$logfile >$backupFILE else prelevel=$level while ( true ); do let $((prelevel=$prelevel-1)) predateFILE=${backupDIR}/${prelevel}/date if [ -f $predateFILE ]; then break; fi if [ "$prelevel" = "-1" ]; then echo "Can't Find Pre Level Date " $predateFILE exit 1 fi done then=`cat $predateFILE` echo "Incriment Back Up Level" $level "from" $then "to" $now> $logfile cd $upDIR tar clvf - \ -N "$then" \ $1 2>>$logfile | bzip2 2>>$logfile >$backupFILE let $((level=$level+1)) while [ "$level" != "100" ]; do lavelDIR=${backupDIR}/${level} if [ -d $lavelDIR ]; then rm $lavelDIR/date fi let $((level=$level+1)) done fi echo $now > $dateFILE cd /YYYYYY/Log rm -f $LCK_Flag ------------------------------------------------------- XXXXXX, YYYYYY - поменять на свои --- ifmail v.2.15dev4 * Origin: PUES (2:5020/400)

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ RSS ]
 
  • 1, Andrei, 18:16, 24/02/2004 [ответить] [смотреть все]
  • +/
    Курите google на предмет bontmia
     
     
  • 2, Z_M, 14:32, 25/02/2005 [^] [ответить] [смотреть все]
  • +/
    bontmia дерьмо редкое-попробуй ее на ФБСД запусти
     
     
  • 3, bmc, 16:23, 30/06/2005 [^] [ответить] [смотреть все]
  • +/
    поддерживаю - кусок зависимого кала, нужно самому портировать всё (написать заново?) на перле.
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:





      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor