Перейти до

user data not read


Рекомендованные сообщения

#!/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

 

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

Ссылка на сообщение
Поделиться на других сайтах
  • Відповіді 55
  • Створено
  • Остання відповідь

Top Posters In This Topic

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

Ссылка на сообщение
Поделиться на других сайтах

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

Ссылка на сообщение
Поделиться на других сайтах

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

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

Ссылка на сообщение
Поделиться на других сайтах

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.

Відредаговано XoRe
Ссылка на сообщение
Поделиться на других сайтах

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

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

Ссылка на сообщение
Поделиться на других сайтах
Вопрос в том как поведёт себя СТГ если увидит в конфиге подобное:

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!

Ссылка на сообщение
Поделиться на других сайтах
2vop: если файловая система с асинхронной записью, это может не спасти )

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

Ссылка на сообщение
Поделиться на других сайтах

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

Ссылка на сообщение
Поделиться на других сайтах

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

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

 

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

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

workdir = get(conffile);

opendir(workdir);

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

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

Ссылка на сообщение
Поделиться на других сайтах
  • 3 weeks later...

2NeOPS:

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

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

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

=))

 

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

Ссылка на сообщение
Поделиться на других сайтах
  • 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минут

Ссылка на сообщение
Поделиться на других сайтах
  • 3 weeks later...

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.


×
×
  • Створити нове...