Jump to content

user data not read


Recommended Posts

#!/bin/sh

tar -czf bakup.tar /var/stargazer

cp bakup.tar /usr/bakup

а у меня не работает....

 

[root@server1 var]# ./becup

./becuperver1 var]#

tar: Removing leading `/' from member names

 

и все и висит пока не прерву его вручную

Link to post
Share on other sites
  • Replies 55
  • Created
  • Last Reply

Top Posters In This Topic

если тар написал это

tar: Removing leading `/' from member names

то значит в данный момент идёт паковка архива и нужно просто дождаться окончания

Link to post
Share on other sites

Господа, а не проще ли попросить автора переписать процедурку записи данных, добавив туда... эээ.... 4-5 строчек, что бы получить запись с гарантированным сохранением данных, вместо того, что бы устраивать массовые танцы с бубном по постоянному спасению стата?

Link to post
Share on other sites

кстати как вариант, сделать в конфиге стг опцию которая бы говрила писать серверу данные не только в $path/users/* а например ещё куда нибудь скажем $backpatch/users/* И что бы естественной стг читал только первую базу, тогда вторая всегда целая!

Link to post
Share on other sites

да, надо попробовать, блин как всё просто оказываеться! Автору СТГ огроменный респект, а если заработает так вообще класс! :)

Кто уже пробовал? и какая у кого версия СТГ?

Link to post
Share on other sites

2Amal: Max предложил такое сделать.

А пока такого нет.

 

Кстати появилась идея - копировать файлы на другой раздел или слайс.

И ещё идея использовать команду fsync после копирования.

Я добавил в скрипт ещё одну копию файла stat.

 

У меня скрипт выглядит так:

#!/bin/sh

 

users="/var/stargazer/users"

 

for a in $users/*

do

/bin/cp $a/stat $a/stat.con

/usr/bin/fsync $a/stat.con

/bin/test -s $a/stat.con && /bin/cp $a/stat.con $a/stat.bak

/usr/bin/fsync $a/stat.bak

/bin/test ! -s $a/stat && /bin/cp $a/stat.bak $a/stat

/usr/bin/fsync $a/stat

done

 

Используется утилита fsync.

В FreeBSD она есть, начиная с версии 4.3

 

В Linux её нету, тут уж ищите ей замену )

Хотя в линукс есть команда sync.

Можно её поставить в конец скрипта вместо всех fsync.

Edited by XoRe
Link to post
Share on other sites

я от том что строчки то есть, значит их можно менять. Вопрос в том как поведёт себя СТГ если увидит в конфиге подобное:

WorkDir = /var/stargazer , /var/stargazer/reserv

Link to post
Share on other sites
Вопрос в том как поведёт себя СТГ если увидит в конфиге подобное:

WorkDir = /var/stargazer , /var/stargazer/reserv

вот решил проверить

2006-05-22 09:01:21 -- Stg v. 2.016.7.6 Release Candidate-3
2006-05-22 09:01:21 -- msgkey = 102
2006-05-22 09:01:21 -- RelcCl started as a process. pid 15186
2006-05-22 09:01:21 -- Directory /usr/billing,/usr/stg/users/ cannot be opened.
2006-05-22 09:01:21 -- RECIVECL pid = 15186
2006-05-22 09:01:21 -- recivecl: Start successful!

Link to post
Share on other sites
2vop: если файловая система с асинхронной записью, это может не спасти )

Идея гарантированного сохранения данных была описана еще в 70-х, если я не ошибаюсь. На то она и гарантированная, что бы данные не пропадали. Хоть и примитивная по сути. Даже на ассинхронной системе после сбоя ты либо получишь новые данные, либо у тебя останутся старые. Но в любом случае не файл нулевой длины.

Link to post
Share on other sites

Max, а если туда сначала скопировать всю папку /var/stargazer, а потом уже вписывать строчку? А то так получаеться что он должен сам всё скопировать, а потом ещё дописывать.. :loop:

Link to post
Share on other sites

2vop: но почему-то же файлы затираются.

Хотя может сервер стг их держит открытыми и только в конце периода переписывает.

 

2Amal: Всегда можно посмотреть исходники.

Скорее всего там идет что-то типа (грубо гоовря;)

workdir = get(conffile);

opendir(workdir);

А сервер честно пытается сделать opendir("/var/stargazer, /var/stargazer/reserv"); =)

Если автор не описал такой фичи, то там такого точно нет.

Link to post
Share on other sites
  • 3 weeks later...

2NeOPS:

Этого не может быть.

Ибо как говорил vop...

Идея гарантированного сохранения данных была описана еще в 70-х, если я не ошибаюсь. На то она и гарантированная, что бы данные не пропадали. Хоть и примитивная по сути. Даже на ассинхронной системе после сбоя ты либо получишь новые данные, либо у тебя останутся старые. Но в любом случае не файл нулевой длины.

=))

 

Попробуй копировать stat файлы на другой раздел.

Link to post
Share on other sites
  • 5 months later...

Ребята ведь всё просто !! Вот!!

 

 

 

#!/bin/sh

 

users="/var/stargazer/users" //-папка с юзерами!

check="/bin/test" //-а это просто чтобы не писать по многу раз :)

 

for a in $users/* //-цикл

do

$check ! -s $a/stat && /bin/cp $a/back/stat.bak $a/stat //сначала проверяет если файл stat нулевой, если нулевой то он востанавливает файл и папки куда бэкапили

$check -s $a/stat && /bin/cp $a/stat $a/back/stat.bak //а если файл stat не нулевой то делает бэкап оригинального

done //но это сами знаете.........................

 

допустим папки юзеров лежат здесть =/var/stargazer/users

вот пример:

 

 

 

=================================

=================================

 

#!/bin/sh

 

users="/var/stargazer/users"

check="/bin/test"

 

for a in $users/*

do

$check ! -s $a/stat && /bin/cp $a/back/stat.bak $a/stat

 

$check -s $a/stat && /bin/cp $a/stat $a/back/stat.bak

 

done

 

=================================

=================================

 

просто создайте в папке каждого юзера папку back

 

+-/var/stargazer/users

|

+-/Jora/

| |

| +-/back/ <==Вот эту папку создайте

| |

| +-/detail_stat/

| |

| .log

| .stat

|

+-/Petia/

| |

| +-/back/ <==Вот эту папку создайте

| |

| +-/detail_stat/

| |

| .log

| .stat

+

 

Да и поставте в кронтаб

 

*/20 * * * * root /usr/backup <=="backup" это не папка это название //тоесть этот скрипт будет выполнятся каждые 20минут

Link to post
Share on other sites
  • 3 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...