Pagina 1 van 1

backup maken en unmounten

Geplaatst: Zo 06 Aug 2017, 19:32
door JosVa
Ik heb voor Windows een batchfile gemaakt die bij het opstarten op een externe USB-harde schijf een incrementele backup maakt van de data-folders en daarna de USB-harddisk uitwerpt. Alleen de gewijzigde data wordt afhankelijk van de datum op even cq. oneven folders gebackuped. Voordeel is dat deze schijf daarna niet meer bereikbaar is tenzij unplugged->replugged. De backup is redelijk snel omdat alleen de wijzigingen worden verwerkt. Op deze manier heb je een redelijke zekerheid tegen verlies van persoonlijke data. Nadeel is dat je even wachten moet bij het opstarten of gewoon alvast begint te werken.

Nu wil ik graag voor Linux Mint v17 een zelfde programmaatje maken dat automatisch de laatste wijzigingen backuped en daarna die USB-schijf unmount. Wie kan mij hierbij helpen?

Re: backup maken en unmounten

Geplaatst: Zo 06 Aug 2017, 19:40
door JosVa
Hier is de batchfile als voorbeeld in Windows. De USB-HD schijf hangt bij het opstarten standaard aan de H: of I:.
Het programmaatje USB_Disk_Eject.exe zorgt voor het "unmounten" onder Windows.

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
echo off
set dag=%DATE:~0,2%
if "%dag%"=="01 " goto oneven
if "%dag%"=="02 " goto even
if "%dag%"=="03 " goto oneven
if "%dag%"=="04 " goto even
if "%dag%"=="05 " goto oneven
if "%dag%"=="06 " goto even
if "%dag%"=="07 " goto oneven
if "%dag%"=="08 " goto even
if "%dag%"=="09 " goto oneven
if "%dag%"=="10 " goto even
if "%dag%"=="11 " goto oneven
if "%dag%"=="12 " goto even
if "%dag%"=="13 " goto oneven
if "%dag%"=="14 " goto even
if "%dag%"=="15 " goto oneven
if "%dag%"=="16 " goto even
if "%dag%"=="17 " goto oneven
if "%dag%"=="18 " goto even
if "%dag%"=="19 " goto oneven
if "%dag%"=="20 " goto even
if "%dag%"=="21 " goto onevenv
if "%dag%"=="22 " goto even
if "%dag%"=="23 " goto oneven
if "%dag%"=="24 " goto even
if "%dag%"=="25 " goto oneven
if "%dag%"=="26 " goto even
if "%dag%"=="27 " goto oneven
if "%dag%"=="28 " goto even
if "%dag%"=="29 " goto oneven
if "%dag%"=="30 " goto even
if "%dag%"=="31 " goto oneven
echo geen dag gevonden
pause
exit

rem >>>>>>>>>>>>>>>>>>>>>>>>>>>>oneven
:oneven
echo dag is nu oneven

If exist "H:\usb_disk_eject.exe" goto H
If exist "I:\usb_disk_eject.exe" goto I
echo USB H-I-disks not found
echo Intel backup.bat found at C:\Users\Intel\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\Intel backup.bat
PAUSE
exit

:H
xcopy F:\"mijn email" H:\oneven\email /E /H /R /Y /I /D
xcopy F:\"mijn docs" H:\oneven\docs /E /H /R /Y /I /D
xcopy F:\"mijn fotos" H:\oneven\fotos /E /H /R /Y /I /D
H:\USB_Disk_Eject.exe /REMOVEletter H
exit

:I
xcopy F:\"mijn email" I:\oneven\email /E /H /R /Y /I /D
xcopy F:\"mijn docs" I:\oneven\docs /E /H /R /Y /I /D
xcopy F:\"mijn fotos" I:\oneven\fotos /E /H /R /Y /I /D
I:\USB_Disk_Eject.exe /REMOVEletter I
exit

rem >>>>>>>>>>>>>>>>>>>>>>>>>>>>even
:even
echo dag is nu even

If exist "H:\usb_disk_eject.exe" goto H
If exist "I:\usb_disk_eject.exe" goto I
echo USB H-I-disks not found
echo Intel backup.bat found at C:\Users\Intel\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\Intel backup.bat
PAUSE
exit

:H
xcopy F:\"mijn email" H:\even\email /E /H /R /Y /I /D
xcopy F:\"mijn docs" H:\even\docs /E /H /R /Y /I /D
xcopy F:\"mijn fotos" H:\even\fotos /E /H /R /Y /I /D
H:\USB_Disk_Eject.exe /REMOVEletter H
exit

:I
xcopy F:\"mijn email" I:\even\email /E /H /R /Y /I /D
xcopy F:\"mijn docs" I:\even\docs /E /H /R /Y /I /D
xcopy F:\"mijn fotos" I:\even\fotos /E /H /R /Y /I /D
I:\USB_Disk_Eject.exe /REMOVEletter I
exit

Re: backup maken en unmounten

Geplaatst: Ma 07 Aug 2017, 08:38
door Wilfried1954
In het begin van de batch file zet je:

Code: Selecteer alles

#!/bin/bash

Daaronder kan je dit nog zetten, dan krijg je tijdens het testen extra debug informatie:

Code: Selecteer alles

set -x

Zo kan je mounten (in dit voorbeeld sda1):

Code: Selecteer alles

echo "mijnwachtwoord" | sudo -S mount /dev/sda1 /media/wilfried

Zo kan je het doen als je je wachtwoord zelf wilt intikken in een venster:

Code: Selecteer alles

gksudo -S mount /dev/sda1 /media/wilfried

Dit is dan de de code om te backuppen:

Code: Selecteer alles

rsync -rav --delete 'source filder' /media/wilfried/destination_folder

Zo doe je de unmount:

Code: Selecteer alles

sudo umount /media/wilfried

Dit voorbeeld doet geen incrementele, maar copieerd alleen wat gewijzigd is, dat gaat heel vlug (vanaf de 2de keer). Incrementeel gaat ook met rsync maar daar heb ik niet direct een voorbeeld van.

Re: backup maken en unmounten

Geplaatst: Ma 07 Aug 2017, 09:56
door JosVa
Wilfried bedankt voor de aanzet. Ik ben wel gewend om te programmeren (in de vorige eeuw begonnen op de eerste MSX) maar Linux is me (nu nog eventjes) een stapje te ver.
Ik begrijp nu en vooral door jouw uitleg waar het langs gaat. Heb via jouw reactie op internet ook al gevonden hoe je met RSYNC dagelijks een incrementele backup kunt maken. En meteen weer wat bijgeleerd over un/mounten. Voordeel is dat de schijf en vooral de backup zo redelijk "beveiligd¨ is tegen "onvoorzichtige" acties.