Changeset 8
- Timestamp:
- 21-08-2008 10:41:46 (4 years ago)
- Location:
- trunk
- Files:
-
- 3 modified
-
configurator.sh (modified) (8 diffs)
-
m2installer (modified) (10 diffs)
-
m2installer.conf.example (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/configurator.sh
r4 r8 22 22 23 23 #este sript só pode ser utilizado pelo root 24 if [ `whoami` != "root"] ; then24 if [ "0$UID" -ne 0 ] ; then 25 25 echo "Erro: tem de ser root para correr este script" 26 26 exit 1 … … 29 29 30 30 #---------------------------variáveis--------------------------------- 31 CONF_M2INSTALLER_PATH="/etc/m2installer" 31 M2INSTALLER_DIR_NAME="m2installer" 32 M2INSTALLER_DIR_PATH="/$M2INSTALLER_DIR_NAME" 33 34 CONF_M2INSTALLER_PATH="$M2INSTALLER_DIR_PATH/etc" 32 35 CONF_FILE_NAME="m2installer.conf" 33 CONF_FILE_PATH=$CONF_M2INSTALLER_PATH/$CONF_FILE_NAME 34 RSF_NAME="scheduled_reversion" 35 MOUNT_PATH="/mnt" 36 CONF_FILE_PATH="$CONF_M2INSTALLER_PATH/$CONF_FILE_NAME" 37 38 REVERSIONS_DIR_NAME="scheduled-reversions" 39 REVERSIONS_DIR_PATH="$M2INSTALLER_DIR_PATH/$REVERSIONS_DIR_NAME" 40 RSF_NAME="srf" 41 MOUNT_PATH="$M2INSTALLER_DIR_PATH/mnt" 36 42 ROOT_TMP_NAME="root-tmp" 37 43 SNAP_TMP_NAME="snap-tmp" 44 UNION_ROOT_NAME="lv-root" 45 UNION_MOD_NAME="union-mod" 38 46 VGS_PATH="/dev" 39 47 MAPPER_NAME="mapper" 40 48 DEFAULT_SNAP_SIZE=1024 41 49 50 LOG_PATH="$M2INSTALLER_DIR_PATH/log" 51 REVERSION_LOG_FILE="$LOG_PATH/reversion.log" 52 53 ACTUAL_MOUNT_DIR="/mnt" 54 42 55 43 56 … … 61 74 lv_root_path=$VGS_PATH/$vg_root_name/$lv_root_name 62 75 63 mounted_tmp_root=$ MOUNT_PATH/$ROOT_TMP_NAME64 65 mkdir $mounted_tmp_root #criar directório para montagem do "/"76 mounted_tmp_root=$ACTUAL_MOUNT_DIR/$ROOT_TMP_NAME 77 78 mkdir -p $mounted_tmp_root #criar directório para montagem do "/" 66 79 mount $lv_root_path $mounted_tmp_root #montar o "/" no directório de montagem por defeito 80 } 81 82 83 #Cria os directórios onde serão colocados os ficheiros de configuração cirados com este 84 # configurador e que serão também, posteriormente, utilizados pelo m2installer 85 create_m2installer_dirs() 86 { 87 mkdir -p $mounted_tmp_root/$M2INSTALLER_DIR_PATH 88 mkdir -p $mounted_tmp_root/$CONF_M2INSTALLER_PATH 89 mkdir -p $mounted_tmp_root/$REVERSIONS_DIR_PATH 90 mkdir -p $mounted_tmp_root/$MOUNT_PATH 91 mkdir -p $mounted_tmp_root/$LOG_PATH 67 92 } 68 93 … … 72 97 create_conf_file() 73 98 { 74 #cria o directório onde vão ser colocados os ficheiros de configuração do m2installer75 mkdir $mounted_tmp_root/$CONF_M2INSTALLER_PATH76 77 99 file=$mounted_tmp_root/$CONF_FILE_PATH 78 100 79 101 #escrita para para o ficheiro de configuração, locaizado no 80 # sistema destino em / etc/m2installler/m2installer.conf102 # sistema destino em /m2installler/etc/m2installer.conf 81 103 echo "######################################m2installer.conf###########################################" > $file 82 104 echo "#-----------------------------m2installer configuration file-------------------------------------" >> $file 83 105 echo "#Este ficheiro é um ficheiro de configuração do m2installer e por defeito será colocado " >> $file 84 echo "#em /etc/m2installer/, vai ter, por isso, como caminho /etc/m2installer/m2installer.conf" >> $file 106 echo "#em /m2installer/etc/, vai ter, por isso, como caminho /m2installer/etc/m2installer.conf" >> $file 107 echo "" >> $file 108 echo "#nome e path para o directório de trabalho utilizado pelo m2installer" >> $file 109 echo "M2INSTALLER_DIR_NAME=\"$M2INSTALLER_DIR_NAME\"" >> $file 110 echo "M2INSTALLER_DIR_PATH=\"$M2INSTALLER_DIR_PATH\"" >> $file 85 111 echo "" >> $file 86 112 echo "#Path onde são guardados os vg's" >> $file … … 95 121 echo "LV_ROOT_PATH=\"$lv_root_path\"" >> $file 96 122 echo "" >> $file 123 echo "#Tamanho default para os snapshots criados (o M representa MegaBytes)" >> $file 124 echo "DEFAULT_SNAP_SIZE=\"$DEFAULT_SNAP_SIZE\"" >> $file 125 echo "" >> $file 97 126 echo "#Path para o ficheiro criado sempre que for agendada uma reversão de sistema" >> $file 98 echo "#Nota: caso esta variável seja alterada é necessário alterar o /etc/init.d/halt também" >> $file 99 echo "REVERSE_SCHEDULED_FILE=\"$CONF_M2INSTALLER_PATH/$RSF_NAME\"" >> $file 100 echo "" >> $file 101 echo "#Path default onde serão efectuadas as montagens" >> $file 127 echo "REVERSE_SCHEDULED_FILE=\"$REVERSIONS_DIR_PATH/$RSF_NAME\"" >> $file 128 echo "" >> $file 129 echo "#Path default onde serão efectuadas as montagens que o m2installer irá efectuar" >> $file 102 130 echo "MOUNT_PATH=\"$MOUNT_PATH\"" >> $file 103 131 echo "" >> $file 104 echo "#Path default para as montagens dos sistemas a utilizar no processo de reversão" >> $file 132 echo "#Path default onde serão colocados os ficheiros de log do m2installer e path para ficheiros de log" >> $file 133 echo "LOG_PATH=\"$LOG_PATH\"" >> $file 134 echo "REVERSION_LOG_FILE=\"$REVERSION_LOG_FILE\"" >> $file 135 echo "" >> $file 136 echo "#Paths default para as montagens dos sistemas a utilizar no processo de reversão" >> $file 105 137 echo "LV_MOUNT_PATH=\"$MOUNT_PATH/$ROOT_TMP_NAME\"" >> $file 106 138 echo "SS_MOUNT_PATH=\"$MOUNT_PATH/$SNAP_TMP_NAME\"" >> $file 107 139 echo "" >> $file 108 echo "#Tamanho default para os snapshots criados (o M representa MegaBytes)" >> $file 109 echo "DEFAULT_SNAP_SIZE=\"$DEFAULT_SNAP_SIZE\"" >> $file 110 echo "" >> $file 111 112 140 echo "#Paths default para utilizar na instalação de pacotes sobre o unionfs" >> $file 141 echo "UNION_MOUNT_PATH=\"$MOUNT_PATH/$UNION_ROOT_NAME\"" >> $file 142 echo "UNION_MOD_PATH=\"$M2INSTALLER_DIR_PATH/$UNION_MOD_NAME\"" >> $file 143 echo "" >> $file 113 144 114 145 echo "" … … 137 168 echo " if [ -x \$REVERSE_SCHEDULED_FILE ]; then" 138 169 echo " action \"Reverting system, please wait...\" \$REVERSE_SCHEDULED_FILE" 170 echo " echo \"\`date\`: System Restored\" >> \$REVERSION_LOG_FILE" 171 echo " rm -f \$REVERSE_SCHEDULED_FILE" 139 172 echo " else" 140 173 echo " echo \"Scheduled reversion not found...\"" … … 179 212 180 213 214 181 215 #------------------------------main----------------------------------- 182 216 clear … … 186 220 mount_lv_root 187 221 222 create_m2installer_dirs 223 188 224 create_conf_file 189 225 -
trunk/m2installer
r4 r8 23 23 24 24 #este sript só pode ser utilizado pelo root 25 if [ `whoami` != "root"] ; then25 if [ "0$UID" -ne 0 ] ; then 26 26 echo "Erro: tem de ser root para correr este script" 27 27 exit 1 … … 29 29 30 30 #-----------------------------variáveis globais------------------------------------- 31 CONF_M2INSTALLER_PATH="/ etc/m2installer"31 CONF_M2INSTALLER_PATH="/m2installer/etc" 32 32 CONF_FILE_NAME="m2installer.conf" 33 33 CONF_FILE_PATH=$CONF_M2INSTALLER_PATH/$CONF_FILE_NAME … … 66 66 67 67 68 #Mensagem que será mostrada sempre que o utilizador não inserir correctamente alguma informação 68 #Mensagem que será mostrada sempre que o utilizador não inserir correctamente alguma informação #TODO:melhorar esta funcao 69 69 usage() 70 70 { 71 71 echo "" 72 echo "Usage: $0 $CREATE_SS_ARG <ss_name> <ss_size>" 73 echo "Usage: $0 ($MENU_ARG|$REMOVE_SS_ARG|$SHOW_SS_ARG|$REVERT_SS_ARG|$MOUNT_SS_ARG|$UMOUNT_SS_ARG|$EDIT_CONF_ARG|$HELP_ARG)" 74 echo "aqui será apresentada a mensagem de utilização do m2installer" 72 echo "Usage: `basename $0` $CREATE_SS_ARG <ss_name> <ss_size>" 73 echo "Usage: `basename $0` ($MENU_ARG|$REMOVE_SS_ARG|$SHOW_SS_ARG|$REVERT_SS_ARG|$MOUNT_SS_ARG|$UMOUNT_SS_ARG|$EDIT_CONF_ARG|$HELP_ARG)" 75 74 exit 1 76 75 } 77 76 78 77 79 # 80 # 78 #funcao trata os argumentos passados ao script 81 79 load_args() 82 80 { … … 189 187 echo "#Ficheiro que executa o restauro para um snapshot criado" >> $REVERSE_SCHEDULED_FILE 190 188 echo "" >> $REVERSE_SCHEDULED_FILE 191 echo "/bin/mkdir $LV_MOUNT_PATH" >> $REVERSE_SCHEDULED_FILE192 echo "/bin/mkdir $SS_MOUNT_PATH" >> $REVERSE_SCHEDULED_FILE189 echo "/bin/mkdir -p $LV_MOUNT_PATH" >> $REVERSE_SCHEDULED_FILE 190 echo "/bin/mkdir -p $SS_MOUNT_PATH" >> $REVERSE_SCHEDULED_FILE 193 191 echo "" >> $REVERSE_SCHEDULED_FILE 194 192 echo "/bin/mount $LV_ROOT_PATH $LV_MOUNT_PATH" >> $REVERSE_SCHEDULED_FILE 195 193 echo "/bin/mount $VGS_PATH/$VG_ROOT_NAME/$ss_name $SS_MOUNT_PATH" >> $REVERSE_SCHEDULED_FILE 196 194 echo "" >> $REVERSE_SCHEDULED_FILE 197 echo "rsync -avr --del --stats --exclude='/proc' --exclude='/sys' --exclude='$ SS_MOUNT_PATH' --exclude='$LV_MOUNT_PATH' $SS_MOUNT_PATH/ $LV_MOUNT_PATH/" >> $REVERSE_SCHEDULED_FILE #pensar se é necessário excluir o ficheiro de configuração também195 echo "rsync -avr --del --stats --exclude='/proc' --exclude='/sys' --exclude='$M2INSTALLER_DIR_PATH' $SS_MOUNT_PATH/ $LV_MOUNT_PATH/" >> $REVERSE_SCHEDULED_FILE #TODO: Nao é necessario excluir o $[LV/SS]_MOUNT_PATH pois este esta sempre dentro do /m2installer. APAGAR ARG v 198 196 echo "" >> $REVERSE_SCHEDULED_FILE 199 197 echo "/bin/umount $LV_MOUNT_PATH" >> $REVERSE_SCHEDULED_FILE … … 219 217 # o directório e montado o snapshot 220 218 if [ ! -d $MOUNT_PATH/$ss_name ] ; then 221 mkdir $MOUNT_PATH/$ss_name219 mkdir -p $MOUNT_PATH/$ss_name 222 220 mount $VGS_PATH/$VG_ROOT_NAME/$ss_name $MOUNT_PATH/$ss_name 223 221 else … … 239 237 # remover o diretório ond estava montado 240 238 result=`mount | grep "$VGS_PATH/$MAPPER_NAME/${VG_ROOT_NAME}-$ss_name on $MOUNT_PATH/$ss_name"` 241 242 243 echo "result=$result"244 239 245 240 if [ -z "$result" ] ; then … … 419 414 remove_ss 420 415 else 421 echo "Erro: é necessário que introduza 1 argumento referente ao nome do s anpshot"416 echo "Erro: é necessário que introduza 1 argumento referente ao nome do snapshot" 422 417 usage 423 418 fi … … 442 437 revert_ss 443 438 else 444 echo "Erro: é necessário que introduza 1 argumento referente ao nome do s anpshot"439 echo "Erro: é necessário que introduza 1 argumento referente ao nome do snapshot" 445 440 usage 446 441 fi … … 457 452 mount_ss 458 453 else 459 echo "Erro: é necessário que introduza 1 argumento referente ao nome do s anpshot"454 echo "Erro: é necessário que introduza 1 argumento referente ao nome do snapshot" 460 455 usage 461 456 fi … … 472 467 umount_ss 473 468 else 474 echo "Erro: é necessário que introduza 1 argumento referente ao nome do s anpshot"469 echo "Erro: é necessário que introduza 1 argumento referente ao nome do snapshot" 475 470 usage 476 471 fi -
trunk/m2installer.conf.example
r3 r8 2 2 #-----------------------------m2installer configuration file------------------------------------- 3 3 #Este ficheiro é um ficheiro de configuração do m2installer e por defeito será colocado 4 #em /etc/m2installer/, vai ter, por isso, como caminho /etc/m2installer/m2installer.conf 4 #em /m2installer/etc/, vai ter, por isso, como caminho /m2installer/etc/m2installer.conf 5 6 #nome e path para o directório de trabalho utilizado pelo m2installer 7 M2INSTALLER_DIR_NAME="m2installer" 8 M2INSTALLER_DIR_PATH="/m2installer" 5 9 6 10 #Path onde são guardados os vg's … … 15 19 LV_ROOT_PATH="/dev/vg/lv" 16 20 17 #Path para o ficheiro criado sempre que for agendada uma reversão de sistema18 #Nota: caso esta variável seja alterada é necessário alterar o /etc/init.d/halt também19 REVERSE_SCHEDULED_FILE="/etc/m2installer/scheduled_reversion"20 21 #Path default onde serão efectuadas as montagens22 MOUNT_PATH="/mnt"23 24 #Path default para as montagens dos sistemas a utilizar no processo de reversão25 LV_MOUNT_PATH="/mnt/root-tmp"26 SS_MOUNT_PATH="/mnt/snap-tmp"27 28 21 #Tamanho default para os snapshots criados (o M representa MegaBytes) 29 22 DEFAULT_SNAP_SIZE="1024" 30 23 24 #Path para o ficheiro criado sempre que for agendada uma reversão de sistema 25 REVERSE_SCHEDULED_FILE="/m2installer/scheduled-reversions/srf" 26 27 #Path default onde serão efectuadas as montagens que o m2installer irá efectuar 28 MOUNT_PATH="/m2installer/mnt" 29 30 #Path default onde serão colocados os ficheiros de log do m2installer e path para ficheiros de log 31 LOG_PATH="/m2installer/log" 32 REVERSION_LOG_FILE="/m2installer/log/reversion.log" 33 34 #Paths default para as montagens dos sistemas a utilizar no processo de reversão 35 LV_MOUNT_PATH="/m2installer/mnt/root-tmp" 36 SS_MOUNT_PATH="/m2installer/mnt/snap-tmp" 37 38 #Paths default para utilizar na instalação de pacotes sobre o unionfs 39 UNION_MOUNT_PATH="/m2installer/mnt/lv-root" 40 UNION_MOD_PATH="/m2installer/union-mod" 41