Подскажите опции запуска под мои задачи.

Обсуждение программы nnBackup

Подскажите опции запуска под мои задачи.

Postby OlegusMDH » Wed, 07 Nov 2007, 17:01

После перевода часов на зимнее время, nnbackup начала сливать с сервера все файлы, посчитав, что их дата изменилась.
До перевода времени на зимнее - пользовался такими ключами:
nnbacup sync -i "Откуда(сервер)" -o "Куда(локально)" -s -v -c -e -t2 -ad

Пытаюсь найти ключи, чтоб одновременно выполнялись правила:
Всегда копировались файлы с сервера, если у них другой размер при сравнении с локальными файлами.
Всегда копировались файлы с сервера, если у них более новое время создания/изменения при сравнении с локальными файлами.
Всегда копировались файлы с сервера, если их нет на локальном компе.
Следовательно, если размер файлов на сервере и локальных одинаков, а дата файлов на сервере равна или старее, чем у локальных файлов, то копирование не производится.

Есть ли такая возможность?

На сервере установлен Linux (Samba)
На локальных компах WinXP
OlegusMDH
 
Posts: 15
Joined: Wed, 07 Nov 2007, 16:45

Postby Nicholas_Nemtsev » Wed, 07 Nov 2007, 17:15

С ключом -ad nnBackup как раз работает по этим правилам. Только если с получением правильного времени создания/изменения файла проблемы, то и -ad не поможет. Есть ещё ключ -it (не проверять время), который работает вкупе с -ad. Есть ещё -md5 (сравнение md5 сумм файлов), но в этом случае файлы всё равно будут гоняться по сети.
Nicholas Nemtsev
User avatar
Nicholas_Nemtsev
Site Admin
 
Posts: 857
Joined: Thu, 01 Jul 2004, 22:25
Location: Псков

Postby OlegusMDH » Wed, 07 Nov 2007, 20:41

с ключами -s -v -c -e -it -ad
происходит копирование при каждом запуске, несмотря на то, что файлы на сервере не меняются.
с ключем -md5 копирование происходит один раз, далее только при изменении даты или размера файла.

В моем случае это не помогает, так как лежит 100 гигов данных, которые теперь nnbackup ломится снова скопировать. Отсечь эти данные, указав фильтр по дате (старые не копировать) нельзя, так как могут быть упущены старые файлы, у которых в локальной директории другой размер или их нет (т.е. их надо слить с сервера). Вроде условия тривиальные, но решения не видно.
OlegusMDH
 
Posts: 15
Joined: Wed, 07 Nov 2007, 16:45

Postby OlegusMDH » Fri, 09 Nov 2007, 15:51

Ну неужели нельзя указать копировать те файлы у которых отличается размер файла?
OlegusMDH
 
Posts: 15
Joined: Wed, 07 Nov 2007, 16:45

Postby Nicholas_Nemtsev » Fri, 09 Nov 2007, 15:59

-it, кстати, сам включает опцию -ad, т.е. достаточно -it.
Но -it -ad тоже должны именно так и работать, как заказано.
Nicholas Nemtsev
User avatar
Nicholas_Nemtsev
Site Admin
 
Posts: 857
Joined: Thu, 01 Jul 2004, 22:25
Location: Псков

Postby OlegusMDH » Fri, 09 Nov 2007, 16:30

Выполняю:
nnbackup.exe sync -i С:\!test1 -o C:\!test -s -v -c -e -it
При каждом запуске всё содержимое копируется полностью, игнорирования не происходит.
Может я что-то упустил?
OlegusMDH
 
Posts: 15
Joined: Wed, 07 Nov 2007, 16:45

Postby Nicholas_Nemtsev » Fri, 09 Nov 2007, 18:16

Да, есть ошибка. Исправляю. Спасибо!
Nicholas Nemtsev
User avatar
Nicholas_Nemtsev
Site Admin
 
Posts: 857
Joined: Thu, 01 Jul 2004, 22:25
Location: Псков

Postby OlegusMDH » Fri, 09 Nov 2007, 18:20

Замечательно, это меня очень обнадеживает. Вам тоже спасибо!
OlegusMDH
 
Posts: 15
Joined: Wed, 07 Nov 2007, 16:45

Postby Nicholas_Nemtsev » Sat, 10 Nov 2007, 23:02

Ошибку в -it исправил:
http://www.nncron.ru/download/nnbackup301b27.exe
Nicholas Nemtsev
User avatar
Nicholas_Nemtsev
Site Admin
 
Posts: 857
Joined: Thu, 01 Jul 2004, 22:25
Location: Псков

Postby OlegusMDH » Mon, 12 Nov 2007, 17:19

Проверил, работает замечательно. Спасибо.
OlegusMDH
 
Posts: 15
Joined: Wed, 07 Nov 2007, 16:45

Postby OlegusMDH » Sun, 18 Nov 2007, 04:35

Возник вопрос. А что бы добавить к ключам -s -v -c -e -it , чтоб с сервера забирались файлы дата которых новее, чем на локальном компе.

Т.е. Все файлы у которых различен размер.
Все файлы с более новой датой.
OlegusMDH
 
Posts: 15
Joined: Wed, 07 Nov 2007, 16:45

Postby Nicholas_Nemtsev » Mon, 19 Nov 2007, 11:50

Ничего такого нет, тем более, что будет противоречие (не проверять время и одновременно проверять).
Если проблема в часе разницы, то можно сделать так:
1. добавить в backup.ini этот код (вместо 3600 прописать нужное количество секунд, 3600 - это час):
Code: Select all
VARIABLE SecondPrecision 
3600 SecondPrecision !
: TIME-COMPARE21
    DNEGATE D+ DUP 0< DUP >R
    IF DNEGATE THEN
    100000000 ?UM/MOD ROT DROP
    IF
      SecondPrecision @ < IF 0 ELSE 1 THEN
    ELSE
      DROP 1
    THEN
    R> IF NEGATE THEN
;
' TIME-COMPARE21 TIME-COMPARE2 JMP

2. убрать из ком. строки -it и добавить -t2
Nicholas Nemtsev
User avatar
Nicholas_Nemtsev
Site Admin
 
Posts: 857
Joined: Thu, 01 Jul 2004, 22:25
Location: Псков


Return to nnBackup forum (Russian)

Who is online

Users browsing this forum: No registered users and 0 guests