powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / tar script
7 сообщений из 7, страница 1 из 1
tar script
    #33010909
azzak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем...
Силино не ругайте в линуксе - новичок!

Есть скрипт пишущий zip архивы на ленту:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
dt=`date +%d%m%y`
mt -f /dev/nst0 eod

echo '======Start backup at',`date` >>/home/oracle/tape.dir
tar cvf /dev/nst0 $dt.zip   >>/home/oracle/tape.dir
echo `date`,'===========Finish backup '  >>/home/oracle/tape.dir
echo '========================='  >>/home/oracle/tape.dir
mt -f /dev/st0 rewind
и скрипт извлечения архива с ленты.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
dt=`date +%d%m%y`

mkdir /data02/backup/restore
mkdir /data02/backup/restore/$dt
cd /data02/backup/restore/$dt


mt -f /dev/nst0 eod
mt -f /dev/nst0 bsf  2 
mt -f /dev/nst0 fsf  1 

echo '======Start restore at',`date` >>/home/oracle/tape.dir
tar xvf /dev/nst0 >>/home/oracle/tape.dir
echo `date`,'===========Finish restore '  >>/home/oracle/tape.dir
echo '========================='  >>/home/oracle/tape.dir

mt -f /dev/st0 rewind

cd /data02/backup/restore/$dt

echo '=========Start unzip at',`date` >>/home/oracle/zipfiles.dir
unzip  *.zip >>/home/oracle/zipfiles.dir
echo `date`,'==========Finish unzip '  >>/home/oracle/zipfiles.dir
echo '========================='  >>/home/oracle/zipfiles.dir 

скрипт востановления извлекает последний архив, а мне нужен за 180305.zip.

Пробовал комбинации tar xvf /dev/nst0 180305.zip процесс виснет( ждал 1час)
либо с ленточкой(24Gb) что то случилось. Как достать архив с ленточки за 180305?
...
Рейтинг: 0 / 0
tar script
    #33011132
g613
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну так и позиционируй ленту не на последний файл...

mt -f /dev/nst0 bsf ...

здесь надо не железно прибивать 2 а вычислять. Тоесть вычисляеш разницу между текущей датой и той за которую тебе надо достать архив, операция несколько усложнится если в день у тебя больше одного архива на ленты пишется...
...
Рейтинг: 0 / 0
tar script
    #33011166
g613
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну так и позиционируй ленту не на последний файл...

mt -f /dev/nst0 bsf ...

здесь надо не железно прибивать 2 а вычислять. Тоесть вычисляеш разницу между текущей датой и той за которую тебе надо достать архив, операция несколько усложнится если в день у тебя больше одного архива на ленты пишется...
...
Рейтинг: 0 / 0
tar script
    #33011230
azzak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если я вечером, кагда ползователей нет, переведу дату на 180305
mt -f /dev/nst0 bsf 2- заначение изменять не надо?
И что означает "2" ?

спасибо тебе g613 не первый раз выручаешь.
...
Рейтинг: 0 / 0
tar script
    #33011278
g613
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
azzakА если я вечером, кагда ползователей нет, переведу дату на 180305
mt -f /dev/nst0 bsf 2- заначение изменять не надо?
И что означает "2" ?


нет, надо именно вычислять, потому как это номер файла на ленте с конца.

man mt
Код: plaintext
1.
2.
bsf    Backward space count files.  The tape is positioned
            on the first block of the next file.

смысл в том если тебе известна текущая дата, число бекапов в день, и дату за который надо извлеч бекапы то в общем то оно считается не очень трудно.

Код: plaintext
1.
2.
3.
F_DATE=`date -d '03/18/05' +%j`
N_DATE=`date +%j`
OFFSET=`echo '$N_DATE - $F_DATE' | bc`

засаду с разными годами обходи сам.

P.S. к полученному OFFSET возможно прибавить 1 если сегодня уже производился дамп....
...
Рейтинг: 0 / 0
tar script
    #33011320
azzak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Архив пишется раз в неделю по пятницам.
Первый начиная с 040205 всего 10, 080405 последний.
...
Рейтинг: 0 / 0
tar script
    #33011358
g613
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
azzakАрхив пишется раз в неделю по пятницам.
Первый начиная с 040205 всего 10, 080405 последний.

ну поменяй %j на %V...

Код: plaintext
1.
2.
3.
F_DATE=`date -d '03/18/05' +%V`
N_DATE=`date -d '04/08/05' +%V`
...

P.S.
тебе это надо все автоматизировать ?
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / tar script
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]