Job / Praca

    Windows Server + GPO + LogIN/OFF Script + XCOPY Incremental Backup

    W du?ym przedsi?biorstwie zadbanie o backup serwerów i stacji roboczych to do?? istotne przedsi?wzi?cie. U?ytkownicy raczej nie s? ?wiadomi, ?e powinni robi? kopie tego co wa?ne. Po czym wnosz?? Po prawie 4 latach pracy jako Admin w du?ej korpo, na palcach jednej r?ki mog? policzy? osoby które zapyta?y si?, jak lub gdzie maj? zgrywa? swoje dane lub poprosi?y o kupno np dysku USB. Zatem dbamy. Serwery opisz? kiedy indziej – rsync, tar, certyfikaty do ssh, mt – raczej s? znane i stosowane, dodatkowo mo?na zastosowa? bonding do zwi?kszenia transferu, ale o tym jak ju? pisa?em – kiedy indziej.

    Dzisiaj prosty sposób na u?ycie polityk Windows Serwera do kopiowania plików u?ytkowników na zdalny storage w mieszanym ?rodowisku Windows 7 i Windows XP.

    Co to b?dzie robi?o:
    – rozpoznaje jakiego u?ywamy Windowsa :)
    – rozpoznaje czy katalog z nazw? u?ytkownika jest ju? stworzony , je?li nie – tworzy.
    – w katalogach u?ytkownika dzieli na podkatalogi „dokumenty” i „pulpit” aby nie by?o ba?aganu.
    – wy??cza potwierdzenia kopiowania plików na istniej?ce pliki
    – kopiuje tak?e pliki ukryte
    – po pierwszym kopiowaniu nadpisuje tylko te które si? zmieni?y lub dodaje nowe.

    Skrypt BAT wygl?da tak:

    IF EXIST %userprofile%\Documents GOTO BackupWin7

    :BackupWinXP

    IF EXIST \\storage\data\%username% GOTO TylkoKopia
    mkdir \\storage\data\%username%
    xcopy /Y "c:\Documents and Settings\%username%\Moje Dokumenty" \\storage\data\%username%\dokumenty /e /i /h /d
    xcopy /Y "c:\Documents and Settings\%username%\Pulpit" \\storage\data\%username%\pulpit /e /i /h /d
    :TylkoKopia
    xcopy /Y "c:\Documents and Settings\%username%\Moje Dokumenty" \\storage\data\%username%\dokumenty /e /i /h /d
    xcopy /Y "c:\Documents and Settings\%username%\Pulpit" \\storage\data\%username%\pulpit /e /i /h /d
    Goto EOF

    :BackupWin7
    IF EXIST \\storage\data\%username% GOTO TylkoKopia7
    mkdir \\storage\data\%username%
    xcopy /Y "c:\Users\%username%\Documents" \\storage\data\%username%\dokumenty /e /i /h /d
    xcopy /Y "c:\Users\%username%\Desktop" \\storage\data\%username%\pulpit /e /i /h /d
    :TylkoKopia7
    xcopy /Y "c:\Users\%username%\Documents" \\storage\data\%username%\dokumenty /e /i /h /d
    xcopy /Y "c:\Users\%username%\Desktop" \\storage\data\%username%\pulpit /e /i /h /d
    Goto EOF

    :EOF

    Zdalna lokalizacja to oczywi?cie storage – trzeba dopisa? swój serwer lub IP gdzie ma si? kopiowa?, lub dopisa? do swojego DNS’a IP do maszyny która b?dzie nazywa? si? storage.

    /Y – wy??cza promptowanie o potwierdzenie nadpisania pliku
    /D – bez podania czasu dzia?a jak incremental backup

    Pierwszy IF EXIST na podstawie katalogu Documents sprawdza czy u?ywamy Windows XP czy 7. Nast?pnie w odpowiednich blokach IF EXIST sprawdza czy jest na serwerze storage katalog z nazw? u?ytkownika, je?li nie ma tworzy j? i zaczyna kopiowanie. Je?li jest, po prostu zaczyna kopiowanie.

    Skrypt nale?y zapisa? na serwerze w miejscu dla login lub logoff skryptów (odpowiedni katalog otworzy si? przy dodawaniu skryptu do GPO).

    W zale?no?ci od potrzeb podczepiamy skrypt na logowanie lub wylogowywanie. Przy wylogowywaniu backup nast?puje zaraz po zako?czeniu pracy. Je?li u?ytkownik u?ywa komputera stacjonarnego to jest to najlepsza opcja, wy??cza komputer, idzie do domu, komputer kopiuje to co trzeba i si? wy??cza. Gorzej je?li to laptop i u?ytkownik chce go zabra? i musi czeka?, wtedy lepiej da? skrypt jako login. Skrypt odpali si? jednocze?nie z logowaniem i b?dzie dzia?a? w tle umo?liwiaj?c prac?. Mo?na doda? @echo off na pocz?tku aby nie by?o widoczne stado lataj?cych plików :)

    Implementacja na Windows Serwer:

    1. gpmc.msc
    2. Wybieramy odpowiednie OU
    3. Prawy klawisz na OU – Create And Link GPO Here…
    4. Nadajemy nazw?
    5. Prawym klawiszem na nazwie
    6. Edit
    7. Wybieramy User Configuration
    8. Wybieramy Windows Settings
    9. Wybieramy Scripts(Login/Logoff)
    10. Dwa razy klikamy na wybranym skrypcie (login lub logoff)
    11. W Logon lub Logoff Properties Wybieramy Add..
    12. Wybieramy Browse.. i wybieramy skrypt do wykonania. (Je?li go nie ma to w?a?nie w tej lokalizacji ma si? znale?? – trzeba go tam wkopiowa?).
    13. OK i zamykamy edycj? GPO.
    14. W shellu uaktualniamy polityki – gpupdate /force

    Próbujemy si? wylogowa? lub zalogowa?, efektem powinny by? katalogi u?ytkowników na zdalnym storageu.

    root@storage:/data/samba# ll
    razem 44
    drwxrwxrwx 10 root root 4096 2012-01-17 14:12 ./
    drwxr-xr-x 7 root root 4096 2012-01-12 21:42 ../
    drwxr-xr-x 4 nobody nogroup 4096 2012-01-17 13:08 user1/
    drwxr-xr-x 4 nobody nogroup 4096 2012-01-17 13:49 user2/
    drwxr-xr-x 4 nobody nogroup 4096 2012-01-17 12:59 user3/
    drwxr-xr-x 4 nobody nogroup 4096 2012-01-17 13:56 user4/
    drwxr-xr-x 4 nobody nogroup 4096 2012-01-17 14:05 user5/
    drwxr-xr-x 4 nobody nogroup 4096 2012-01-17 13:49 user6/
    drwxr-xr-x 4 nobody nogroup 4096 2012-01-17 13:06 user7/
    drwxr-xr-x 4 nobody nogroup 4096 2012-01-17 14:12 user8/

    Po ci??kim dniu pracy, je?li storage wyposa?ony jest w streamer mo?na ca?y katalog /data/samba nagra? jako gotowy dzienny backup.
    Do skryptu oczywi?cie mo?na dopisa? dodatkowe katalogi w/g potrzeb.
    Raz na jaki? czas (np. miesi?c)warto skasowa? ca?? zawarto?? backupu, aby wykona? si? pe?en backup, poniewa? skrypt nie kasuje plików które by?y lokalnie, ale ju? ich nie ma.

    Related Posts with Thumbnails

    © odwiedź stronÄ™ http://maciejewski.org po wiÄ™cej fajnych postów!

    Add your widget here