Strona główna > Domino Server , Lotus Notes samouczek , LotusScript > Droga do Backup Lotus Notes dla systemu Windows katalog

Droga do Backup Lotus Notes dla systemu Windows katalog

Tutaj w Breaking Par wykonujemy codzienne kopie zapasowe wszystkich naszych klientów plików HTML do kopii zapasowej maszynie. Kopii zapasowej została wykonana za pomocą pliku wsadowego systemu Windows za pomocą polecenia Xcopy aby skopiować wszystkie pliki, które zostały zmodyfikowane. Robiliśmy to przez długi czas bez większego myślenia.

Niedawno przyjrzał katalogach i zauważyłem, było dodatkowe pliki w podkatalogu backup, który nie istnieje w katalogu głównym. Po niektórych badań, ustaliliśmy, że pliki zostały usunięte w głównym katalogu i nie usunięte w podkatalogu. Po krótkiej badań, udało nam się dowiedzieć, jak uzyskać prawdziwą kopii zapasowej przy użyciu tylko pliki Windows partii.


Wszystkie te stwierdzenia przejdzie w pliku wsadowym Windows (rozszerzenie. Bat), który jest zaplanowany przez Windows Scheduler (można również skorzystać z systemu Windows "na" polecenia, aby zaplanować zadanie, ale harmonogram udostępnia interfejs graficzny do zaplanowanych zadań). Program zaplanowano na serwerze zapasowym.

Pierwsza instrukcja łączy się z serwerem produkcyjnym poprzez mapowanie dysku sieciowego.

netto s. Zastosowanie: \ \ production_server \ data_share_name my_password / USER: Administrator / persistent: Brak

p: oznacza literę dysku, który będzie używany na serwerze zapasowym (jeśli plik wsadowy zostanie uruchomiony).
production_server to nazwa hosta (adres IP może być używany) na serwerze produkcyjnym.
data_share_name to nazwa akcji z katalogu danych (gdzie klientów przechowywane są pliki HTML) na serwerze produkcyjnym. Jest to nazwa nadana akcję - nie należy używać akcji domyślnych w C $, itd.), które pochodzą z systemu Windows. Zamiast definiować własne udziały i określić użytkowników, które mogą uzyskiwać dostęp do tego udziału.
my_password jest hasło potrzebne użytkownikowi zalogować BARDZO WAŻNE - hasło jest wymieniony w pliku wsadowym. To może być lub nie być problem zabezpieczeń dla danego środowiska.
/ USER: Administrator to nazwa użytkownika, który będzie dostępu do udziału. Powinno to być identyfikator, który ma możliwość odczytu HTML katalogu na serwerze produkcyjnym. Nie ma potrzeby do nazwy faktycznie być "Administrator" - w rzeczywistości, powiedziałbym, że nie powinno się używać nazwy użytkownika administratora dla tego procesu (zwłaszcza, że ​​hasło jest w widocznym miejscu na każdego, kto szuka w pliku wsadowym) . Jeśli używasz identyfikator, który ma dostęp tylko do odczytu do katalogu html, to nie jest tak wiele kwestii.
/ Persistent: Brak oznacza, że ​​napęd nie powinien być ponownie uruchomiony automatycznie po zalogowaniu. Ten napęd jest tylko będzie używany w czasie trwania pliku wsadowego.

Po napęd został odwzorowany, następnym krokiem jest, aby skopiować wszystkie pliki z katalogu produkcyjnego HTML do katalogu backup HTML.

XCOPY p: \ html \ * E:.. \ Html \ * / E / D / C / P / Y

p: \ html \ * jest katalog źródłowy (katalog na mapowanym dysku).. Będziemy skopiowanie wszystkich plików.
e: \ html \ * jest katalog docelowy..
/ E oznacza, że ​​będziemy kopiując katalogi i podkatalogi, łącznie z pustymi podkatalogami.
/ D mówi do kopiowania plików po określonej dacie. Ponieważ nie faktyczna data jest określona, ​​to kopiuje pliki których data docelowym jest starszy niż data source. To jest dokładnie to, co chcemy na backup - tylko skopiować pliki, które zostały zmodyfikowane na serwerze produkcyjnym.
/ C mówi kontynuować kopiowanie nawet po wystąpieniu błędu.
/ Q oznacza "cichy" tryb - nazwy pliku nie pojawi się podczas kopiowania. Od plik wsadowy jest uruchomiony jako zaplanowane zadań systemu Windows nie ma potrzeby, aby pokazać nazwy plików.
/ Y opowiada kopię, aby nie monitował gdy pliki są nadpisywane.

Teraz najtrudniejsze. Musimy usunąć pliki i katalogi z serwera kopii zapasowych, które są już na serwerze produkcyjnym. Odbywa się to w dwóch etapach - Pliki pierwszy i katalogi sekund. Każda faza ma trzy etapy:

e reż: \ html \ * /:. D / B / O: N / S >> e: \ lista_plików.txt

To jest pierwszy krok. Dodać dokładny spis wszystkich plików w katalogu kopii zapasowych HTML.
/:-D mówi, że katalogi nie powinny być uwzględnione. Więc tylko w tym pliki.
/ B wyświetla tylko nazwy plików (zamiast zwykłego listingu katalogu, który pokazuje rozmiary plików i wiele innych rzeczy).
/ O: sortuje N nazwy plików w porządku alfabetycznym.
/ S przemierza podkatalogów.
>> E: \ lista_plików.txt przekierowuje wyjście do pliku o nazwie e: \ lista_plików.txt.

Oto drugi etap pierwszej fazy:

o / f "tokens = 2 * delims = \" e%% w (e: \ lista_plików.txt) zrobić, jeśli NIE ISTNIEJĄ t: \ html \%% f del e: \ html \% f%

Oświadczenie to przechodzi przez wszystkie zapisów znajdujących się w pliku po prostu stworzony. Okazuje się, czy plik istnieje na serwerze produkcyjnym. Jeśli plik nie istnieje na serwerze produkcyjnym, zostanie on usunięty z serwera zapasowego.
do / F to specjalny rodzaj instrukcją pętli w programowaniu wsadowym. Będzie ona przejść przez wszystkie linie w pliku tekstowym (nazwa pliku w nawiasach).
tokens = 2, * określa, jakie tokeny ("znaków" zostanie wyjaśnione bardziej szczegółowo później) z pliku tekstowego będą czytane. 2 mówi do zapoznania się z 2nd tokenu i * mówi wziąć wszystko po 2 tokena. Te 2 wartości (2. żeton, a wszystko po 2 token) zostanie umieszczony w zmiennych.
delims = \ określa ogranicznik dla określenia tokenów. Wpisy z katalogu będzie coś takiego jak e: \ html \ File1.htm lub e: \ html \ subdir1 \ file2.htm. "\" Znak jest używany do dzielenia ciąg aż do tokenów. Więc +1-sza żeton będzie e:, 2. żeton będzie html, a wszystko po 2 token będzie File1.htm w pierwszym przykładzie i subdir1 \ file2.htm w drugim przykładzie. Zauważ, jak w 2. przykład "\", który wcześniej był ogranicznik, jest obecnie częścią łańcucha. To dlatego, że * był używany w tokenie oświadczeniu.
E%% określa nazwę zmiennej. Dwie% znaki są używane, ponieważ znajduje się wewnątrz pliku wsadowego. Jeśli testowali to się w oknie wiersza polecenia, należy użyć tylko jeden znak%. Pierwszy znak% jest "ucieczka" charakter (podobnie jak "\" w języku formuły Notes). Sposób zmienne pracy, list ten określa pierwszy zmiennej (pierwsza część "tokens =") i każda inna zmienna będzie kolejno nazwie. Więc 2-ta żeton przechodzi do "E%" zmiennej i wszystko po 2-cie Token pójdzie do zmiennej o nazwie "% f".
w (e: \ lista_plików.txt) nie są one wymagane do / F oświadczeniu. Nazwa_pliku jest w nawiasie.
jeśli NIE ISTNIEJĄ dla każdej linii pliku tekstowego, będziemy sprawdzać na istnienie nazwy pliku. Chcemy sprawdzić, czy plik nie istnieje.
p: \ html \% f% jest to plik szukamy. Zauważ, jak używamy "% f" zmienna wyjaśnione powyżej. Należy również pamiętać, że ponownie musimy użyć "%%" wewnątrz pliku wsadowego. Tak więc w pierwszym przykładzie powyżej, będziemy sprawdzanie p: \ html \ File1.htm i w drugim przykładzie, będziemy sprawdzanie p: \ html \ subdir1 \ file2.htm. To gdzie Zaletą korzystania z "*" w tokenie naprawdę pokazuje się. Nieważne ile podkatalogi głęboko plik znajduje, wszystkie ukośniki będą uwzględnione. Jeśli określono dokładnych tokenów, to byłoby uzyskać znacznie bardziej skomplikowana z zagnieżdżonych podkatalogów.
del e: \ html \% f% mówi, aby usunąć plik off serwerze zapasowym, jeżeli nie istnieje na serwerze produkcyjnym. Ponownie, "% f%" działa tak samo - zmienna jest używana.

Na końcowym etapie pierwszej fazie usuwamy plik tymczasowy teraz, że zostały przetworzone:

del e: \ lista_plików.txt

Kolejnym etapem ma te same trzy kroki, ale odnosi się to do podkatalogów. Ja po prostu wymienić trzy oświadczenia i zaznaczyć (na niebiesko) oświadczenia, które są różne:

e reż: \ html \ * /:. D / B / O: N / S >> e: \ lista_plików.txt
o / f "tokens = 2 * delims = \" e%% w (e: \ lista_plików.txt) zrobić, jeśli NIE ISTNIEJĄ t: \ html \%% f rmdir e: \ html \% f%
del e: \ lista_plików.txt

Tym razem dzięki, robimy listę plik tekstowy tylko podkatalogi (/: D). Jeśli katalog nie istnieje na serwerze produkcyjnym, a następnie usunąć katalog z serwera zapasowego.

W końcu, po pliki zostały skopiowane i usunięte pliki usunięte z serwera zapasowego, ostatniej deklaracji w pliku wsadowym będzie odłączyć zmapowany dysk sieciowy:

netto s. Zastosowanie: / DELETE

Ta sama litera dysku, który został określony wcześniej muszą być stosowane i / DELETE mówi odłączyć.

Więc to jest nasz plik wsadowy. Pozwala backup serwera na dobę (lub częściej, w zależności od tego, jak często należy uruchomić plik wsadowy poprzez program) ma duplikat produkcji katalogu HTML do celów odzyskiwania danych po awarii.

Oglądany 7446 razy przez 2173 widzów

  1. 10 czerwca 2010 o 13:19 | # 1

    Wspaniała praca! To jest rodzaj informacji, które powinny być dzielone na całym Internecie. Wstyd w wyszukiwarkach za nie umieszczenie tego posta wyżej!

  2. James G Despain
    25 grudnia 2010 w 05:07 | # 2

    Uwielbiam Twój post. Nadzieję, że ten blogpost będzie pomagać innym ludziom. Przepraszamy za krótki przegląd.

  1. Brak jeszcze trackbacków