Davne 1987. godine, RoboCop, mlađi Terminatorov brat (čista laž, al’ se lepo uklapa u priču), krenuo je u obilazak bioskopa širom sveta. Doneo je filmsku priču o robotizovanom policajcu, koja je zahvaljujući priličnom uspehu, imala par nastavaka i na kraju prerasla u ništa manje uspešnu TV seriju. Ali, sve bi to već bilo zaboravljeno, da se Microsoft nije setio da ovo ime spretno integriše u odličan servis za backup, koji je na nesreću, korisnicima poznat koliko i datum ulaska Srbije u Evropsku Uniju. Superteza će pokušati da dočara vrednost ovog izuzetnog alata za sinhronizaciju i čuvanje važnih podataka, sa vaših, naših ili nekih drugih računara. Vreme je da Robocopy izađe iz senke, a svi vi koji ste orijentisani ka PowerShell-u, Command Prompt-u i ostalim daktilografsko administrativnim alatima, lako ćete prepoznati simbiozu genijalnog i optimalnog softverskog rešenja. Pošto poslednja rečenica zvuči komplikovano, hajde da pojednostavimo stvari: Robocopy je besplatan program za čuvanje važnih podataka, koji zahteva malo kuckanja po tastaturi (dok miš kulira). Stiže integrisan sa Windowsom 7 i nema razloga da ga 8-ica izostavi. A vi ćete ga tek koristiti, u to nema sumnje. Dobar je k’o lebac.

Command Prompt je ovde neminovan. Ko ne zna kako se pokreće, to može da sazna u ovom Supertezinom tekstu. Dakle, po pokretanju command prompt-a, potrebno je ukucati komandu robocopy i pritisnuti taster ENTER da bi na čas videli šta ovaj delija ume. Odmah sledi učtivo predstavljanje u vidu reklame: ROBOCOPY : Robust File Copy for Windows (Robustan program za kopiranje datoteka u Windowsu). Datum i vreme pokretanja programa nalaze se pored teksta Started, a primer jednostavne upotrebe opisan je u liniji koja počinje tekstom Simple Usage.

ROBOCOPY source destination /MIR (izgled komande koju unosite putem tastature)

source :: Source directory <drive:\path or \\server\share\path>(izvorni direktorijum)

destination :: Destination directory <drive:\path or \\server\share\path>(odredišni direktorijum)

/MIR   :: Mirror a complete directory tree (identična kopija – kao jaje jajetu, sa prenesenom kompletnom strukturom direktorijuma)

Sad kad smo naučili komande, hajde da malo komandujemo. Ako ukucate robocopy /? i pritisnete taster ENTER dobićete spisak svih mogućnosti programa, gde je svaki parametar uredno naveden i objašnjen.

Ovde vidimo samo mali deo komandi kojih inače, ima na pretek, ali ćemo se u ovom tutorijalu baviti samo elementarnim primerima, kao vrstom kvalitetne baze za vaše dalje usavršavanje.

Priprema batch datoteke

Za one koji ne znaju, batch (gomila) datoteke su izmišljotine stvorene za lenje administratore gde se u običnu tekstualnu datoteku (text file) upisuje gomila komandi uređenog redosleda, koje se potom izvršavaju u command prompt-u, terminalu i sličnim daktilografskim okruženjima. Dakle, naređate komande u logičan sled, snimite datoteku sa ekstenzijom .bat i onda je pokrenete dvostrukim klikom miša. Ovo je veoma korisno kada radite stvari koje zahtevaju dosta pisanja, a da postoji česta potreba za ponavljanjem ove procedure. Mi ćemo se u tu svrhu poslužiti odličnim Notepad-om (beležnica) i uneti komande koje bi Robocopy bespogovorno trebao da izvrši. U našem slučaju naređali smo dve fascikle (folder) sa kompletnim putanjama od polaznog ka završnom direktorijumu (directory, folder). Komanda pause služi da spreči gašenje command prompt prozora, ne bi li ste imali vremena da zavirite u izveštaj o (ne)uspešno izvršenom kopiranju.

Klikom na komandu Save (sačuvaj), koja se nalazi u meniju File (datoteka) dobijate gornji dijalog. Mi biramo fasciklu radne površine (Desktop; kod tačke 1), unosimo ime datoteke sa ekstenzijom .bat (robocopy backup.bat; kod tačke 2) i pritiskamo dugme Save (sačuvaj; kod tačke 3).

Sada u Windows Exploreru (ili na samoj radnoj površini), uočavamo fasciklu Desktop (tačka 1), klikćemo jednom levim tastero miša na nju, a potom 2 puta brzo klikćemo levim tasterom miša na batch datoteku robocopy backup.bat (kod tačke 2). Program automatski otvara prozor command prompt-a i kreće sa izvršavanjem zadatih komandi.

Veoma detaljan izveštaj o prostom koprianju, reklo bi se. Šta je kopirano, kad je počelo, kad se završilo, precizne informacije o veličinama datoteka, njihovom broju, fasciklama i podfasciklama, brzini kopiranja, itd. I, šta sad?

Robocopy i Windows Explorer

Ako površno gledamo stvari, složićemo se da, osim više čukanja po tastaturi, Robocopy ne nudi ništa posebno u odnosu na felerični Windows Explorer. I jedan i drugi kopiraju sa jednog na drugo mesto, daju nekakav izveštaj o statusu i tome slično. Još slikovitije, transfer 5 ljudi iz mesta A u mesto B, po toj logici podjednako dobro obavlja i čuveni fića i Audi A8. Pa, što bi onda zaboga, koristili Robocopy (čitaj: Audi A8) . Evo odgovora: Zbog daleko odgovornijeg ponašanja izazvanog finim podešavanjima, pouzdanost Robocopy-ja je svetlosnu godinu ispred njegovog grafičkog pobratima. Navešćemo samo neke od prednosti:

  • Sve fascikle i podfascikle se čuvaju/kopiraju, čak i one koje su prazne.
  • Mogu se kopirati samo datoteke (files) i fascikle (folder) koje su nove, ubrzavajući time proces sinhronizacije.
  • Prost sistem parametara dozvoljava nam selektivno kopiranje po raznim uslovima.
  • Ne  moraju da se gube resursi na prikaz progresa, čime je program fokusiran na glavni posao.
  • Izveštaj o (ne)izvršenom zadatku čuva se u vidu log datoteke, gde kasnije možete videti i analizirati kompletan ciklus.
  • Brisanje nepotrebnih datoteka ili foldera se reflektuje na odredišnoj lokaciji.

robocopy C:\Slike K:\Backups\Slike /e /mir /np /log:backup_log.txt
robocopy C:\Muzika K:\Backups\Muzika /e /mir /np /log+:backup_log.txt
pause

Legenda opcionih parametara:
/e – kopiraj i prazne pod datoteke.
/mir – mirror proveri stanje na odredišnoj lokaciji, pa onda tamo kopiraj samo nove sadržaje.
/np – ne prikazuj kalkukalciju progresa.
/log: napravi log datoteku sa beleškama o celom procesu kopiranja.
/log+: nastavi da upisuješ u istu log datoteku koja već postoji pod navedenim imenom. 

Napomene: log datoteka nalazi se uvek na istom mestu gde se nalazi i batch datoteka. Dakle, tamo gde ste snimili robocopy_backup.bat nalazi se i log. Opcija /mir je veoma korisna, ali osim brzine, sa sobom nosi i opasnost. Naime, ako izbrišete datoteku (file) ili fasciklu (folder) na odredišnoj (backup) lokaciji, ista će bez upozorenja biti izbrisana i na izvornoj. Zato, backup lokaciju smatrajte samo skladišnim prostorom koji služi za povratak izgubljenih podataka, a sve prave akcije sprovodite na originalnoj, izvornoj lokaciji.

Hoću/Neću log

robocopy C:\Slike K:\Backups\Slike /e /mir /np  /tee /log:backup_log.txt
robocopy C:\Muzika K:\Backups\Muzika /e /mir /tee /np /log+:backup_log.txt
pause

Kada ste definisali pisanje u log datoteku, izveštaji o akcijama neće se prikazivati u command prompt-u, već su rezervisani samo za log. Ako ipak želite da pratite tok kopiranja u command promptu i da ga imate i u log-u, onda koristite opciju /tee.

Milion (uzaludnih) pokušaja

robocopy C:\Slike K:\Backups\Slike /e /mir /np /tee /log:backup_log.txt
robocopy C:\Muzika Z:\Backups\Muzika /e /mir /tee /r /np /log+:backup_log.txt
pause

U slučaju kopiranja podataka na neki mrežni disk, postoji opasnost da dođe do prekida transfera zbog problema u mrežnoj konekciji. Robocopy je u stanju da u ovakvim slučajevima nastavi gde je stao, ako se u komandu uključi parametar /r, koji će tvrdoglavo pokušavati da na svakih 30 sekudni nastavi proces baš tamo gde je puk’o. Loša strana ovog koncepta je gubljenje vremena na čekanju, ali bolje da se backup jednom završi, nego da ga prekidate ili započinjete svaki čas. Ova fora nikada nije zaživela u jadnom Windows Exploreru (mada 8-ica stidljivo nudi to obećanje).

Multithread

robocopy C:\Slike K:\Backups\Slike /e /mir /np /tee /log:backup_log.txt
robocopy C:\Muzika Z:\Backups\Muzika /e /mir /tee /mt:4 /np /log+:backup_log.txt
pause

Savremeni operativni sistemi imaju mogućnost da posao procesora izdele u paralalne radne segmente nazvane trheads (niti). Robocopy je napisan tako da može koristiti ovu mogućnost, pa se u moru opcija nudi i multi-thread gde jedan proces kopiranja možete podeliti u više thread-ova. Ako dodate /mt, Robocopy će tekućem poslu dodeliti 8 segmenata, osim ako ne dodate dve tačke i sami unesete željeni broj do 128.

Samo neke vrste datoteka i to one mlađe

robocopy C:\Documents *.jpg *.pdf *.zip R:\ “K:\Moje rezervene kopije” /maxage:14 

Gornji primer je pun noviteta. Sa izvorne datoteke treba kopirati samo JPG, PDF i ZIP tipove datoteka, dok nas drugi ne zanimaju. Odredišni direktorijum je slučaj kada ime sadrži praznine u naslovu, stoga mora biti označen navodnicima, dakle “K:\Moje rezervene kopije” . Parametri iza odredišnog direktorijuma govore da se tamo trebaju naći samo dotateke koje nisu starije od 14 dana (/maxage:14).

I to naravno, nije sve. Možete birati da se kopiraju samo stare, mlade datoteke, možete tražiti izveštaj o novoformiranim, o vremenima njihovog nastanka i još mnogo sitnica čak i za najizbirljivije.

Za napredne korisnike, savetujemo da se pripremljena batch datoteka preda u ruke Windows 7 Task Scheduler-u i tako automatizuje proces čuvanja rezervnih kopija (backup).

Spisak svih mogućih opcija koje nudi Robocopy možete naći na strani http://technet.microsoft.com/en-us/library/cc733145%28WS.10%29.aspx.