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:
    Заголовок:
    Текст:




    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру