View Single Post
Staro 17.12.2015., 20:33   #1
potemkin.hr
Akutna lijenčina
Moj komp
 
potemkin.hr's Avatar
 
Datum registracije: Aug 2006
Lokacija: Fiume
Postovi: 1,833
Batch skripta za sync sa remote hosta

Radim jednu skriptu koja bi trebala prekopirati trenutno stanje neke mape udaljenog računala u lokalnu mapu i spremiti changelog, a nakon toga na dnevnoj bazi pakirati u .zip sa dodanim datumom.
To sam uspio napraviti jednostavno sa kombinacijom robocopyja i 7za, ali moram još nekako uvrstiti kontrolu u 2 stupnja da li je računalo online:
  • Prva provjera prije samog pokretanja robocopyja; ako je računalo offline/ugašeno nema smisla da 2 sata vrti skriptu i puni log bezveze wait requestima.
  • Druga provjera prije trpanja u arhivu, ako se u međuvremenu računalo ugasilo postoji dobra šansa da robocopy nije svoje odradio do kraja
U oba slučaja bi skripta trebala u predefined lokaciju baciti prazan fajl sa _failed afixom kako bi lako kasnije vidio što je gdje puklo.
Na serveru sam dodao preko File screening policyja da mi automatski mailom dojavi ako se pojavi koji _failed.txt fajl i stvar šljaka da bi skripta šljakala kako spada.

Uspio sam skemijati si skriptu koja radi, ali izbacuje fail log
Code:
IF EXIST "\\192.168.121.2\c$" (
robocopy "\\192.168.121.2\c$\share" "D:\Store\ProgressULJ" *.* /mir /copyall /zb /np /xf lbia*.* rcda*.* srta*.* dbi*.* *.lk /r:2 /log+:"C:\Logs\Sync-progressULJ_%DATE:~7,2%_%DATE:~4,2%_%DATE:~12,2%.txt") else (type NUL > C:\Logs\Sync-progressULJ_%DATE:~7,2%_%DATE:~4,2%_%DATE:~12,2%_failed.txt
)
IF EXIST "\\192.168.121.2\c$" (
7za a -tzip "D:\Daily\ProgressULJ_%DATE:~7,2%_%DATE:~4,2%_%DATE:~12,2%.zip" "D:\Store\ProgressULJ\*" -mx=5) else (type NUL > C:\Logs\Sync-progressULJ_%DATE:~7,2%_%DATE:~4,2%_%DATE:~12,2%_failed.txt
)
Zajeb je da mi skripta baca fail log fajl i neovisno o tome ako se primarni uvjet izvršio (sinkronizacija uspjela i skripta odradi svoje) pa mi dolaze mailovi za ispravno odrađene taskove.
Zasad sam izbacio if exist loop da mi ne dolaze na mail upozorenja, ali bi rado to osposobio, otvoren sam za razne prijedloge
potemkin.hr je offline   Reply With Quote