cornedor

Untitled

Feb 7th, 2012
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.50 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # /proc/cmdline zijn de commando's die aan de kernel zijn mee gegeven tijdens het opstarten.
  4. BOOT_PARAMS=`cat /proc/cmdline`
  5. BACKUP_PARTITIE=/dev/sda5
  6. backup()
  7. {
  8. clear
  9. echo "Er wordt nu een backup gemaakt van $1 op de partitie $2."
  10. # Hier controleer het script of de map al bestaat. Als dat zo is verwijder het script hem.
  11. if [ -d "/media/backup_mount/$1" ]
  12. then
  13. rm -r "/media/backup_mount/$1"
  14. fi
  15. mkdir "/media/backup_mount/$1"
  16. # Hier kopieert het script alle sectors en gziped deze naar image.gz in de map $1 die mee gegeven zijn aan de functie
  17. dd if="$2" | gzip > "/media/backup_mount/$1/image.gz"
  18. echo "Backup compleet, de computer wordt nu opnieuw opgestart"
  19. # wacht heel even en reboot de PC
  20. sleep 2s
  21. reboot
  22. }
  23. restore()
  24. {
  25. clear
  26. echo "De backup van $1 wordt nu terug gezet op $2."
  27. # 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
  28. if [ ! -d "/media/backup_mount/$1" ]
  29. then
  30. echo " !!! Er is nog geen backup van $1 !!!"
  31. sleep 2
  32. reboot
  33. return 0;
  34. fi
  35. # anders worden de gzipped sectors uitgepakt en naar dd gepiped zodat dd ze weer terug kan schrijven naar de harde schijf.
  36. zcat "/media/backup_mount/$1/image.gz" | dd of="$2"
  37. echo " Alle bestanden zijn terug gezet, de computer wordt nu opnieuw opgestart"
  38. sleep 2s
  39. reboot
  40. }
  41. # de partitie waar de backups komen wordt hier gemount
  42. mount "$BACKUP_PARTITIE" /media/backup_mount
  43. # 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.
  44. if [[ "$BOOT_PARAMS" == *_bu* ]]
  45. then
  46. # er wordt ook gecontrolleerd of een os is aangegeven.
  47. if [[ "$BOOT_PARAMS" == *dos_* ]]
  48. then
  49. # dan starten we de functie backup met de parameters MSDOS en /dev/sda1, de naam en partitie
  50. backup MSDOS /dev/sda1
  51. elif [[ "$BOOT_PARAMS" == *w98_* ]]
  52. then
  53. backup Windows_98 /dev/sda2
  54. elif [[ "$BOOT_PARAMS" == *wxp_* ]]
  55. then
  56. backup Windows_XP /dev/sda3
  57. else
  58. echo "Dit besturings systeem is er nog niet ingezet."
  59. fi
  60. elif [[ "$BOOT_PARAMS" == *_re* ]]
  61. then
  62. if [[ "$BOOT_PARAMS" == *dos_* ]]
  63. then
  64. # hier wordt de restore partitie aangeroepen
  65. restore MSDOS /dev/sda1
  66. elif [[ "$BOOT_PARAMS" == *w98_* ]]
  67. then
  68. restore Windows_98 /dev/sda2
  69. elif [[ "$BOOT_PARAMS" == *wxp_* ]]
  70. then
  71. restore Windows_XP /dev/sda3
  72. else
  73. echo "Dit besturings systeem is er nog niet ingezet."
  74. fi
  75. else
  76. echo "Er is iets fout gegaan."
  77. fi
Advertisement
Add Comment
Please, Sign In to add comment