Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # /proc/cmdline zijn de commando's die aan de kernel zijn mee gegeven tijdens het opstarten.
- BOOT_PARAMS=`cat /proc/cmdline`
- BACKUP_PARTITIE=/dev/sda5
- backup()
- {
- clear
- echo "Er wordt nu een backup gemaakt van $1 op de partitie $2."
- # Hier controleer het script of de map al bestaat. Als dat zo is verwijder het script hem.
- if [ -d "/media/backup_mount/$1" ]
- then
- rm -r "/media/backup_mount/$1"
- fi
- mkdir "/media/backup_mount/$1"
- # Hier kopieert het script alle sectors en gziped deze naar image.gz in de map $1 die mee gegeven zijn aan de functie
- dd if="$2" | gzip > "/media/backup_mount/$1/image.gz"
- echo "Backup compleet, de computer wordt nu opnieuw opgestart"
- # wacht heel even en reboot de PC
- sleep 2s
- reboot
- }
- restore()
- {
- clear
- echo "De backup van $1 wordt nu terug gezet op $2."
- # Hier controleer ik of de map bestaat, als die niet bestaat krijg je de melding dat er nog geen backup bestaat van $1 en wordt de PC herstart
- if [ ! -d "/media/backup_mount/$1" ]
- then
- echo " !!! Er is nog geen backup van $1 !!!"
- sleep 2
- reboot
- return 0;
- fi
- # anders worden de gzipped sectors uitgepakt en naar dd gepiped zodat dd ze weer terug kan schrijven naar de harde schijf.
- zcat "/media/backup_mount/$1/image.gz" | dd of="$2"
- echo " Alle bestanden zijn terug gezet, de computer wordt nu opnieuw opgestart"
- sleep 2s
- reboot
- }
- # de partitie waar de backups komen wordt hier gemount
- mount "$BACKUP_PARTITIE" /media/backup_mount
- # hier wordt gecontroleerd of _bu in de boot parameters voorkomen. Als dat zo is gaan we backuppen, als het _re is restoren en anders een error.
- if [[ "$BOOT_PARAMS" == *_bu* ]]
- then
- # er wordt ook gecontrolleerd of een os is aangegeven.
- if [[ "$BOOT_PARAMS" == *dos_* ]]
- then
- # dan starten we de functie backup met de parameters MSDOS en /dev/sda1, de naam en partitie
- backup MSDOS /dev/sda1
- elif [[ "$BOOT_PARAMS" == *w98_* ]]
- then
- backup Windows_98 /dev/sda2
- elif [[ "$BOOT_PARAMS" == *wxp_* ]]
- then
- backup Windows_XP /dev/sda3
- else
- echo "Dit besturings systeem is er nog niet ingezet."
- fi
- elif [[ "$BOOT_PARAMS" == *_re* ]]
- then
- if [[ "$BOOT_PARAMS" == *dos_* ]]
- then
- # hier wordt de restore partitie aangeroepen
- restore MSDOS /dev/sda1
- elif [[ "$BOOT_PARAMS" == *w98_* ]]
- then
- restore Windows_98 /dev/sda2
- elif [[ "$BOOT_PARAMS" == *wxp_* ]]
- then
- restore Windows_XP /dev/sda3
- else
- echo "Dit besturings systeem is er nog niet ingezet."
- fi
- else
- echo "Er is iets fout gegaan."
- fi
Advertisement
Add Comment
Please, Sign In to add comment