Estações de trabalho on-line OnWorks Linux e Windows

Logotipo

Hospedagem online grátis para estações de trabalho

<Anterior | Conteúdo | Próxima>

2.1. Arquivos NFS rotativos


Nesta seção, o script de shell será ligeiramente modificado para implementar um esquema de rotação avô-pai-filho (mensal-semanal-diário):

• A rotação fará um diariamente backup de domingo a sexta-feira.

• No sábado a semanal o backup é feito dando a você quatro backups semanais por mês.

• A mensal o backup é feito no primeiro dia do mês, girando dois backups mensais com base no mês par ou ímpar.


Aqui está o novo script:


#! / Bin / bash

####################################

#

# Backup para script de montagem NFS com

# rotação avô-pai-filho.

#

####################################


# O que fazer backup.

backup_files = "/ home / var / spool / mail / etc / root / boot / opt"


# Para onde fazer o backup. dest = "/ mnt / backup"


# Variáveis ​​de configuração para o nome do arquivo. dia = $ (data +% A)

hostname = $ (hostname -s)


# Descubra em que semana do mês 1-4 é. day_num = $ (data +% - d)

if (($ day_num <= 7)); então week_file = "$ hostname-week1.tgz"

elif (($ day_num> 7 && $ day_num <= 14)); então week_file = "$ hostname-week2.tgz"

elif (($ day_num> 14 && $ day_num <= 21)); então week_file = "$ hostname-week3.tgz"

elif (($ day_num> 21 && $ day_num <32)); então week_file = "$ hostname-week4.tgz"

fi



# Descubra se o mês é ímpar ou par. month_num = $ (data +% m)

mês = $ (expr $ mês_num% 2) if [$ mês -eq 0]; então

month_file = "$ hostname-month2.tgz"

outro


fi


month_file = "$ hostname-month1.tgz"


# Crie o nome do arquivo de arquivo. if [$ day_num == 1]; então archive_file = $ month_file

elif [$ day! = "sábado"]; então archive_file = "$ hostname- $ day.tgz"

senão archive_file = $ week_file

fi


# Mensagem de status de início de impressão.

echo "Fazendo backup de $ backup_files para $ dest / $ archive_file" data

eco


# Backup dos arquivos usando tar.

tar czf $ dest / $ archive_file $ backup_files


# Imprimir mensagem de status final. eco

echo "Backup concluído" data


# Longa lista de arquivos em $ dest para verificar o tamanho dos arquivos. ls -lh $ dest /


O script pode ser executado usando os mesmos métodos da Seção 1.2, “Executando o script” [p. 325].


É uma boa prática levar a mídia de backup para um local externo em caso de desastre. No exemplo de script de shell, a mídia de backup é outro servidor que fornece um compartilhamento NFS. Muito provavelmente, levar o servidor NFS para outro local não seria prático. Dependendo das velocidades de conexão, pode ser uma opção copiar o arquivo em um link WAN para um servidor em outro local.


Outra opção é copiar o arquivo compactado para um disco rígido externo que pode ser retirado do local. Como o preço dos discos rígidos externos continua diminuindo, pode ser econômico usar duas unidades para cada nível de arquivamento. Isso permitiria que você tivesse uma unidade externa conectada ao servidor de backup e outra em outro local.


Top OS Cloud Computing na OnWorks: