
En aquesta entrada s'explica com crear un un sistema gestor de còpies de seguretat (salvaguarda/restauració) de particions. Aquest gestor es carrega durant l'arranc d'Ubuntu en mode de restauració (kernel = ... ro single).
En aquest exemple es gestionen les còpies de seguretat de la partició "/dev/sda1" on es troba instal·lat Windows XP.
Instal·lar paquets necessaris:
$ sudo apt-get install partimage parted |
Crear/Editar el fitxer de creació de còpies de seguretat:
$ sudo nano /usr/share/recovery-mode/options/backup |
Contingut del fitxer:
#!/bin/sh
. /usr/share/recovery-mode/l10n.sh
if [ "$1" = "test" ]; then
echo $(eval_gettext "Fer una còpia de seguretat de WindowsXP")
exit 0
fi
PARTITION="/media/WindowsXP"
DISP_PARTITION="/dev/sda1″
# La variable PARTITION conté la ruta de la partició on es troba Windows XP
# La variable DISP_PARTITION conté el dispositiu de la partició on es troba Windows XP
umount ${PARTITION}
rm -f /root/WindowsXP.partimg.gz*
partimage -z1 -o -f2 -d -b save ${DISP_PARTITION} /root/WindowsXP.partimg.gz
# Paràmetres de partimage:
# -z1: compress using gzip: fast and small image file (default)
# -o: Overwrite the existing image file without confirmation
# -f2: reboot (restart the computer)
# -d: Don’t ask any description for the image file.
# -b: batch mode: the GUI won't wait for an user action.
exit 0 |
Ho desem, sortim i li donem permisos d'execució:
$ sudo chmod +x /usr/share/recovery-mode/options/backup |
Crear/Editar el fitxer de restauració de còpies de seguretat:
$ sudo nano /usr/share/recovery-mode/options/restore |
Contingut del fitxer:
#!/bin/sh
. /usr/share/recovery-mode/l10n.sh
if [ "$1" = "test" ]; then
echo $(eval_gettext "Restaurar imatge de Windows XP")
exit 0
fi
PARTITION="/media/WindowsXP"
DISP_PARTITION="/dev/sda1″
# La variable PARTITION conté la ruta de la partició on es troba Windows XP
# La variable DISP_PARTITION conté el dispositiu de la partició on es troba Windows XP
umount ${PARTITION}
partimage -b -f2 restore ${DISP_PARTITION} /root/WindowsXP.partimg.gz.000
# Paràmetres de partimage:
# -b: batch mode: the GUI won't wait for an user action.
# -f2: reboot (restart the computer)
exit 0 |
Ho desem, sortim i li donem permisos d'execució:
$ sudo chmod +x /usr/share/recovery-mode/options/restore |
Si voleu, també podeu limitar l'accés a les opcions del menú de restauració, per a fer-ho només heu de treure els permisos d'execució d'allò que vulgueu que no es mostri al menú, per exemple:
$ cd /usr/share/recovery-mode/options
sudo chmod -x clean |
També si voleu, podeu forçar reiniciar el sistema al sortir del menú de restauració, per a fer-ho editeu el fitxer :
$ sudo nano /usr/share/recovery-mode/recovery-menu |
i substituïu tots els "exit 0" i "exit" per reboot. al final d'aquest fitxer també heu d'afegir un reboot:
#!/bin/bash
# include gettext stuff
. /usr/share/recovery-mode/l10n.sh
# main
menu_text=$(eval_gettext "Menú de restauració")
while true; do
unset items
items[c++]="sortir"
items[c++]=$(eval_gettext " Sortir del menú")
for i in /usr/share/recovery-mode/options/*; do
if [ -x "$i" ]; then
name="`"$i" test`"
if [ $? -eq 0 ]; then
items[c++]="`basename "$i"`"
items[c++]=" $name"
fi
fi
done
choice="$(/usr/bin/whiptail --menu "$menu_text" 15 70 6 \
"${items[@]}" \
3>&1 1>&2 2>&3 3>&-)"
if [ $? -ne 0 ]; then
reboot
fi
if [ "$choice" = "sortir" ]; then
reboot
fi
"/usr/share/recovery-mode/options/$choice"
if [ "$?" -eq 42 ]; then
reboot
fi
done
reboot
|
Referència: http://www.noticiasubuntu.com/