Changeset 8

Show
Ignore:
Timestamp:
21-08-2008 10:41:46 (4 years ago)
Author:
helio4987
Message:

envio de ficheiros locais

Location:
trunk
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • trunk/configurator.sh

    r4 r8  
    2222 
    2323#este sript só pode ser utilizado pelo root 
    24 if [ `whoami` != "root" ] ; then 
     24if [ "0$UID" -ne 0 ] ; then 
    2525        echo "Erro: tem de ser root para correr este script" 
    2626        exit 1 
     
    2929 
    3030#---------------------------variáveis--------------------------------- 
    31 CONF_M2INSTALLER_PATH="/etc/m2installer" 
     31M2INSTALLER_DIR_NAME="m2installer" 
     32M2INSTALLER_DIR_PATH="/$M2INSTALLER_DIR_NAME" 
     33 
     34CONF_M2INSTALLER_PATH="$M2INSTALLER_DIR_PATH/etc" 
    3235CONF_FILE_NAME="m2installer.conf" 
    33 CONF_FILE_PATH=$CONF_M2INSTALLER_PATH/$CONF_FILE_NAME 
    34 RSF_NAME="scheduled_reversion" 
    35 MOUNT_PATH="/mnt" 
     36CONF_FILE_PATH="$CONF_M2INSTALLER_PATH/$CONF_FILE_NAME" 
     37 
     38REVERSIONS_DIR_NAME="scheduled-reversions" 
     39REVERSIONS_DIR_PATH="$M2INSTALLER_DIR_PATH/$REVERSIONS_DIR_NAME" 
     40RSF_NAME="srf" 
     41MOUNT_PATH="$M2INSTALLER_DIR_PATH/mnt" 
    3642ROOT_TMP_NAME="root-tmp" 
    3743SNAP_TMP_NAME="snap-tmp" 
     44UNION_ROOT_NAME="lv-root" 
     45UNION_MOD_NAME="union-mod" 
    3846VGS_PATH="/dev" 
    3947MAPPER_NAME="mapper" 
    4048DEFAULT_SNAP_SIZE=1024 
    4149 
     50LOG_PATH="$M2INSTALLER_DIR_PATH/log" 
     51REVERSION_LOG_FILE="$LOG_PATH/reversion.log" 
     52 
     53ACTUAL_MOUNT_DIR="/mnt" 
     54 
    4255 
    4356 
     
    6174        lv_root_path=$VGS_PATH/$vg_root_name/$lv_root_name 
    6275 
    63         mounted_tmp_root=$MOUNT_PATH/$ROOT_TMP_NAME 
    64  
    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 "/" 
    6679        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 
     85create_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 
    6792} 
    6893 
     
    7297create_conf_file() 
    7398{ 
    74         #cria o directório onde vão ser colocados os ficheiros de configuração do m2installer 
    75         mkdir $mounted_tmp_root/$CONF_M2INSTALLER_PATH 
    76  
    7799        file=$mounted_tmp_root/$CONF_FILE_PATH 
    78100 
    79101        #escrita para para o ficheiro de configuração, locaizado no 
    80         # sistema destino em /etc/m2installler/m2installer.conf 
     102        # sistema destino em /m2installler/etc/m2installer.conf 
    81103        echo "######################################m2installer.conf###########################################" > $file 
    82104        echo "#-----------------------------m2installer configuration file-------------------------------------" >> $file 
    83105        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 
    85111        echo "" >> $file 
    86112        echo "#Path onde são guardados os vg's" >> $file 
     
    95121        echo "LV_ROOT_PATH=\"$lv_root_path\"" >> $file 
    96122        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 
    97126        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 
    102130        echo "MOUNT_PATH=\"$MOUNT_PATH\"" >> $file 
    103131        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 
    105137        echo "LV_MOUNT_PATH=\"$MOUNT_PATH/$ROOT_TMP_NAME\"" >> $file 
    106138        echo "SS_MOUNT_PATH=\"$MOUNT_PATH/$SNAP_TMP_NAME\"" >> $file 
    107139        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 
    113144 
    114145        echo "" 
     
    137168        echo "        if [ -x \$REVERSE_SCHEDULED_FILE ]; then" 
    138169        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" 
    139172        echo "        else" 
    140173        echo "                echo \"Scheduled reversion not found...\"" 
     
    179212 
    180213 
     214 
    181215#------------------------------main----------------------------------- 
    182216clear 
     
    186220mount_lv_root 
    187221 
     222create_m2installer_dirs 
     223 
    188224create_conf_file 
    189225 
  • trunk/m2installer

    r4 r8  
    2323 
    2424#este sript só pode ser utilizado pelo root 
    25 if [ `whoami` != "root" ] ; then 
     25if [ "0$UID" -ne 0 ] ; then 
    2626        echo "Erro: tem de ser root para correr este script" 
    2727        exit 1 
     
    2929 
    3030#-----------------------------variáveis globais------------------------------------- 
    31 CONF_M2INSTALLER_PATH="/etc/m2installer" 
     31CONF_M2INSTALLER_PATH="/m2installer/etc" 
    3232CONF_FILE_NAME="m2installer.conf" 
    3333CONF_FILE_PATH=$CONF_M2INSTALLER_PATH/$CONF_FILE_NAME 
     
    6666 
    6767 
    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 
    6969usage() 
    7070{ 
    7171        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)" 
    7574        exit 1 
    7675} 
    7776 
    7877 
    79 # 
    80 # 
     78#funcao trata os argumentos passados ao script 
    8179load_args() 
    8280{ 
     
    189187                echo "#Ficheiro que executa o restauro para um snapshot criado" >> $REVERSE_SCHEDULED_FILE 
    190188                echo "" >> $REVERSE_SCHEDULED_FILE 
    191                 echo "/bin/mkdir $LV_MOUNT_PATH" >> $REVERSE_SCHEDULED_FILE 
    192                 echo "/bin/mkdir $SS_MOUNT_PATH" >> $REVERSE_SCHEDULED_FILE 
     189                echo "/bin/mkdir -p $LV_MOUNT_PATH" >> $REVERSE_SCHEDULED_FILE 
     190                echo "/bin/mkdir -p $SS_MOUNT_PATH" >> $REVERSE_SCHEDULED_FILE 
    193191                echo "" >> $REVERSE_SCHEDULED_FILE 
    194192                echo "/bin/mount $LV_ROOT_PATH $LV_MOUNT_PATH" >> $REVERSE_SCHEDULED_FILE 
    195193                echo "/bin/mount $VGS_PATH/$VG_ROOT_NAME/$ss_name $SS_MOUNT_PATH" >> $REVERSE_SCHEDULED_FILE 
    196194                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ém 
     195                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 
    198196                echo "" >> $REVERSE_SCHEDULED_FILE 
    199197                echo "/bin/umount $LV_MOUNT_PATH" >> $REVERSE_SCHEDULED_FILE 
     
    219217        # o directório e montado o snapshot 
    220218        if [ ! -d $MOUNT_PATH/$ss_name ] ; then 
    221                 mkdir $MOUNT_PATH/$ss_name 
     219                mkdir -p $MOUNT_PATH/$ss_name 
    222220                mount $VGS_PATH/$VG_ROOT_NAME/$ss_name $MOUNT_PATH/$ss_name 
    223221        else 
     
    239237        # remover o diretório ond estava montado 
    240238        result=`mount | grep "$VGS_PATH/$MAPPER_NAME/${VG_ROOT_NAME}-$ss_name on $MOUNT_PATH/$ss_name"` 
    241  
    242  
    243 echo "result=$result" 
    244239 
    245240        if [ -z "$result" ] ; then 
     
    419414                remove_ss 
    420415        else 
    421                 echo "Erro: é necessário que introduza 1 argumento referente ao nome do sanpshot" 
     416                echo "Erro: é necessário que introduza 1 argumento referente ao nome do snapshot" 
    422417                usage 
    423418        fi 
     
    442437                revert_ss 
    443438        else 
    444                 echo "Erro: é necessário que introduza 1 argumento referente ao nome do sanpshot" 
     439                echo "Erro: é necessário que introduza 1 argumento referente ao nome do snapshot" 
    445440                usage 
    446441        fi 
     
    457452                mount_ss 
    458453        else 
    459                 echo "Erro: é necessário que introduza 1 argumento referente ao nome do sanpshot" 
     454                echo "Erro: é necessário que introduza 1 argumento referente ao nome do snapshot" 
    460455                usage 
    461456        fi 
     
    472467                umount_ss 
    473468        else 
    474                 echo "Erro: é necessário que introduza 1 argumento referente ao nome do sanpshot" 
     469                echo "Erro: é necessário que introduza 1 argumento referente ao nome do snapshot" 
    475470                usage 
    476471        fi 
  • trunk/m2installer.conf.example

    r3 r8  
    22#-----------------------------m2installer configuration file------------------------------------- 
    33#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 
     7M2INSTALLER_DIR_NAME="m2installer" 
     8M2INSTALLER_DIR_PATH="/m2installer" 
    59 
    610#Path onde são guardados os vg's 
     
    1519LV_ROOT_PATH="/dev/vg/lv" 
    1620 
    17 #Path para o ficheiro criado sempre que for agendada uma reversão de sistema 
    18 #Nota: caso esta variável seja alterada é necessário alterar o /etc/init.d/halt também 
    19 REVERSE_SCHEDULED_FILE="/etc/m2installer/scheduled_reversion" 
    20  
    21 #Path default onde serão efectuadas as montagens 
    22 MOUNT_PATH="/mnt" 
    23  
    24 #Path default para as montagens dos sistemas a utilizar no processo de reversão 
    25 LV_MOUNT_PATH="/mnt/root-tmp" 
    26 SS_MOUNT_PATH="/mnt/snap-tmp" 
    27  
    2821#Tamanho default para os snapshots criados (o M representa MegaBytes) 
    2922DEFAULT_SNAP_SIZE="1024" 
    3023 
     24#Path para o ficheiro criado sempre que for agendada uma reversão de sistema 
     25REVERSE_SCHEDULED_FILE="/m2installer/scheduled-reversions/srf" 
     26 
     27#Path default onde serão efectuadas as montagens que o m2installer irá efectuar 
     28MOUNT_PATH="/m2installer/mnt" 
     29 
     30#Path default onde serão colocados os ficheiros de log do m2installer e path para ficheiros de log 
     31LOG_PATH="/m2installer/log" 
     32REVERSION_LOG_FILE="/m2installer/log/reversion.log" 
     33 
     34#Paths default para as montagens dos sistemas a utilizar no processo de reversão 
     35LV_MOUNT_PATH="/m2installer/mnt/root-tmp" 
     36SS_MOUNT_PATH="/m2installer/mnt/snap-tmp" 
     37 
     38#Paths default para utilizar na instalação de pacotes sobre o unionfs 
     39UNION_MOUNT_PATH="/m2installer/mnt/lv-root" 
     40UNION_MOD_PATH="/m2installer/union-mod" 
     41