piątek, 1 lipca 2011

Kopia zapasowa - bezcenne

Zdarzyło się tak, niestety, że moja dziewczyna straciła dwa dni pracy nad swoją pracą magisterską (szczęście, że tylko tyle), ponieważ przez dłuższy czas nie dysponowała połączeniem z internetem i nie działał DropBox, którego używała, a jak już zaczął działać to... nadpisał nowszy plik starszym (sick! weź tu ufaj czemukolwiek...).

DropBox, dlaczego? :(

Nie będę wszystkiego zwalał na DropBoxa, ponieważ komputer stał bez internetu blisko miesiąc, w tym czasie to samo konto DropBoxa było używane na innym komputerze, więc mogło się coś pokićkać ;) W każdym razie przez ten miesiąc praca magisterska nie miała żadnego backupu (szczęśliwie się złożyło, że przez miesiąc prawie nie była zmieniana :)

Oczywiście mamy wiele możliwości robienia kopii zapasowych, możemy:

  • posiadać partycję lustrzaną tzw. mirror
  • kopiować plik do innej lokacji, najlepiej na innym dysku
  • kopiować plik na dysk zewnętrzny lub pendrive
  • wysyłać sobie plik na pocztę
  • korzystać z wirtualnego dysku typu DropBox ;)
Możecie pisać, jeśli macie jeszcze jakieś inne sposoby robienia kopii zapasowych :)

Batch do kopiowania

Ja chciałbym tutaj napisać o tym, jak można w łatwy sposób kopiować pliki z jednej lokacji do drugiej, bez żmudnego ctrl-c ctrl-v, dodając przy tym do nich znacznik czasu.

Oto batch, który stworzyłem:

@echo off
SetLocal

:: prepare date/time stamp
for /F "tokens=1-4 delims=:., " %%i in ('echo.%time%') do (
   (Set HH=0%%i)&(set NN=%%j)&(set SS=%%k)&(Set Sd=%%l)
)
Set "HH=%HH:~-2%"
for /F "tokens=1,2,3 delims=/ " %%A in ('Date /t') do ( 
    Set DayMonthYear=%%C%%B%%A
)

:: timestamp (yyyymmmdd-hhnnss)
set dtt="%DayMonthYear%_%HH%-%NN%-%SS%"

:: prepare file and folders
:: format - "file.extension", "*.*" for all,
:: "*.txt" for only txt files or "folder\*.*"
:: for all files within some folder
set fileName="folder\*.*"
:: format - "disc:", "folder" or "disc:\folder"
set destinationFolder="d:"

:: copy with adding timestamp
for %%a in ("%fileName%") do (
    copy "%%a" "%destinationFolder%\%%~na_%dtt%%%~xa"
)

EndLocal

Wystarczy skopiować ten kod, wkleić do notatnika, ustalić odpowiednie ścieżki (tzn. fileName i destinationFolder, tak jak jest opisane w komentarzach) i plik zapisać np. jako "copy.bat". Najlepiej wkleić skrót do takiego pliku do autostartu, wtedy zawsze przy uruchamianiu komputera zostaną odpowiednie pliki przekopiowane (oczywiście, jeśli wyłączamy kiedyś komputer ;)

A czy wy zaczęliście robić backupy zanim was życie pokarało, czy po tym? ;)

Brak komentarzy:

Prześlij komentarz